头歌实践教学平台——Java程序设计面向对象之常用类

本文详细介绍了Java中的包装类、基本数据类型之间的转换,包括Object类、String、StringBuilder、StringBuffer、Random、Date、Math类的使用,以及length(),compareTo(),substring()等方法在实际场景中的应用。还涉及了字符串操作如文件名验证和邮箱格式检查,以及StringBuffer类的定义和字母反转功能。
摘要由CSDN通过智能技术生成

目录

Java面向对象 - 包装类

基本数据类型和包装类之间的转换

包装类转换成其他数据类型

Java面向对象 - 常用类

Object类

JAVA基础类型包装类-练习

String&StringBuilder&StringBuffer类-练习

Random类

Date类和SimpleDateFormat类的用法

Math类

Java面向对象 - String类

length()方法与compareTo()方法的使用-花名册

substring()方法与indexOf0)方法的使用-姓名查找

String串类操作-文件名与邮箱验证

StringBuffer类的定义和使用-字母反转

如果此文章对你有帮助,麻烦点个赞哦~~~

点个关注,追新不迷路~,下一篇——Java面向对象之异常类与文件类


Java面向对象 - 包装类

基本数据类型和包装类之间的转换

package step1;
public class Task {
public static void main(String[] args) {	
//请在此添加实现代码
/********** Begin **********/
//定义float对象
		float f = 66.6f;	
		//手动装箱
		Float f1 = new Float(f)      ;	
		//自动装箱 
		Float f2 = f       ;	
		System.out.println("装箱后的结果为:" + f1 + "和" + f2);	
		//定义一个Double包装类值为88.88
		Double d = new Double(88.88);	
		//手动拆箱
		double d1 = d.doubleValue();	
		//自动拆箱
		double d2 = d;	
		System.out.println("拆箱结果为:" + d1 + "和" + d2);
/********** End **********/
	}
}



包装类转换成其他数据类型

	package step2;
public class Task {
public static void main(String[] args) {
//请在此添加实现代码
/********** Begin **********/
// 定义int类型变量,值为67
		int score = 67;
		// 创建Integer包装类对象,表示变量score的值
		Integer score1 = new Integer(score);
		// 将Integer包装类转换为double类型
		double score2 = score1.doubleValue()    ; 
		// 将Integer包装类转换为float类型
		float score3 =score1.floatValue()      ;
		// 将Integer包装类转换为int类型
		int score4 = score1.intValue()       ;
		System.out.println("Integer包装类:" + score1);
		System.out.println("double类型:" + score2);
		System.out.println("float类型:" + score3);
		System.out.println("int类型:" + score4);
/********** End **********/	
	}
}



包装类与字符串之间的转换

package step3;
public class Task {
public static void main(String[] args) {
double a = 78.5; 
//请在此添加实现代码
/********** Begin **********/
//将基本类型a转换为字符串
		String str =String.valueOf(a)      ; 
		System.out.println("str + 12  的结果为: "+(str + 12));	
		String str1 = "180.20";
	    // 将字符串str1转换为基本类型
		Double d = Double.parseDouble(str1)     ;
		System.out.println("d + 100 的结果为: "+ (d + 100));
/********** End **********/
	} 
}


Java面向对象 - 常用类

Object类

package case1;
import java.util.Scanner;
public class ObjectTest {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int num1 = sc.nextInt();
		int num2 = sc.nextInt();
		// 在测试类中创建Demo类对象d1,传入输入值num1, d1调用toString方法并打印输出该值
		// 创建Demo类对象d2,同样传入输入值num1,打印判断d1和d2是否相等(实际是比较地址)
		/********* Begin *********/
        Demo d1=new Demo(num1);
		System.out.println(d1.toString());
		Demo d2=new Demo(num1);
		if (d1.equals(d2)) {
            System.out.println("true");
        } else {
            System.out.println("false");
        }
		/********* End *********/
		// 创建Person类对象p,传入输入值num2,打印判断d1和p是否相等(实际是比较地址)
		/********* Begin *********/
         	Person p=new Person(num2);
		if (d1.equals(p)) {
            System.out.println("true");
        } else {
            System.out.println("false");
        }
		/********* End *********/
	}
}
class Demo {
	private int num;
	public Demo(int num) {
		this.num = num;
	}
	public boolean equals(Object obj) // Object obj = new Demo()
	{
		if (!(obj instanceof Demo)) // 判断obj是否和Demo是同类
			return false;
		Demo d = (Demo) obj; // 将父类的引用(Object)向下转换为子类(Demo)
		return this.num == d.num;
	}
	public String toString() {
		return "Demo:" + num; // 返回对象的值(每一个对象都有自己的特定的字符串)
	}
}
class Person {
	private int num;
	public Person(int num) {
		this.num = num;
	}
}



JAVA基础类型包装类-练习

package case2;
import java.util.Scanner;
public class WrapperTest {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int aa = sc.nextInt();
		String bb = sc.next();
		int c = sc.nextInt();
		String str11 = sc.next();
		String str22 = sc.next();
		// 包装类中“==”与equals的用法比较
		// 值得注意的是,包装类中的equals方法和String类一样,都是重写了Object类中的equals方法,因此比较的是内容而不是地址,
		// 而“==”比较的依然是引用变量的地址,只是当包装类型和与之相对应的基本类型进行“==”比较时会先做自动拆箱处理。
		/********* Begin *********/
        Integer a=new Integer(aa);
		Integer b=Integer.parseInt(bb);
		String str1=new String(str11);
		String str2=new String(str22);
		System.out.println(a==b);
		System.out.println(a==c);
		System.out.println(b==c);
		System.out.println(a.equals(b));
		System.out.println(str1==str2);
		System.out.println(str1.equals(str2));
		/********* End *********/
	}
}



String&StringBuilder&StringBuffer类-练习

package case3;
import java.util.Scanner;
public class StringTest {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String str = sc.next();
		// String substring(int start,int end)
		// 截取字符串,传入的两个参数分别为要截取边界的下标
		// 在java api 中,通常使用两个数字表示范围时,都是含头不含尾,即包含起始下标对应的内容,但不包含结束下标的处对应的内容
		// String toUpperCase() 将当前字符串中的英文部分转换为全大写
		/********* Begin *********/
        String str1=str.substring(12,str.lastIndexOf('.'));
		if(str1.indexOf('.')>0){
			str1=str1.substring(0,str1.indexOf('.'));
		}
		System.out.println(str1);
		str1=str1.toUpperCase();
		System.out.println(str1);
		/********* End *********/
	}
}



Random类

package case4;
//密码的自动生成器:密码由大写字母/小写字母/数字组成,生成六位随机密码
import java.util.Random;
import java.util.Scanner;
public class RandomTest {
	public static void main(String[] args) {
		// 定义一个字符型数组
		char[] pardStore = new char[62];
		// 把所有的大写字母放进去 把所有的小写字母放进去 把0到9放进去
		/********* Begin *********/
          for(int i=0;i<26;i++)
		{
			pardStore[i]=(char)('A'+i);
			pardStore[26+i]=(char)('a'+i);
		}
		for(int i=0;i<10;i++)
		{
			pardStore[52+i]= (char)('0' + i);
		}
		/********* End *********/
		// 分别以1、2、3作为种子数 生成6位随机密码
		Scanner sc = new Scanner(System.in);
		int seed = sc.nextInt();
		/********* Begin *********/
         Random r=new Random(seed);
		String str="";
		int[] arr=r.ints(6,0,62).toArray();
		for(int i=0;i<6;i++)
		{
			str+=pardStore[arr[i]];
		}
		System.out.print(str);
		/********* End *********/
	}
}



Date类和SimpleDateFormat类的用法

package case5;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class DateTest {
	public static void main(String[] args) throws ParseException {
		// 键盘录入你的出生年月日 格式为yyyy-MM-dd
		// 把该字符串转换为一个日期
		// 通过该日期得到一个毫秒值
		// 获取2020年10月1日的毫秒值
		// 两者想减得到一个毫秒值
		// 把该毫秒值转换为天 打印输出
		Scanner sc = new Scanner(System.in);
		String line = sc.nextLine();
		/********* Begin *********/
          SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
		Date d1=sdf.parse(line);
		Date d2=sdf.parse("2020-10-01");
		long diff=d2.getTime()-d1.getTime();
		diff=diff/86400000;
		System.out.println("你的出生日期距离2020年10月1日:"+diff+"天");
		/********* End *********/
	}
}



Math类

package case6;
import java.util.Scanner;
import java.lang.Math;
public class MathTest {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int a1 = sc.nextInt();
		int a2 = sc.nextInt();
		int a3 = sc.nextInt();
		int a4 = sc.nextInt();
		double a5 = sc.nextDouble();
		double a6 = sc.nextDouble();
		double a7 = sc.nextDouble();
		double a8 = sc.nextDouble();
		double a9 = sc.nextDouble();
		double a10 = sc.nextDouble();
		double a11 = sc.nextDouble();
		/********* Begin *********/
        System.out.println(Math.sqrt(a1));
		System.out.println(Math.cbrt(a2));
		System.out.println(Math.pow(a3,a4));
		System.out.println(Math.max(a5,a6));
		System.out.println(Math.min(a5,a6));
		System.out.println(Math.abs(a7));
		System.out.println(Math.ceil(a8));
		System.out.println(Math.floor(a9));
		System.out.println(Math.rint(a10));
		System.out.println(Math.round(a11));
		/********* End *********/
	}
}


Java面向对象 - String类

length()方法与compareTo()方法的使用-花名册

package step1;

import java.util.Scanner;

public class Roster {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        /********** Begin *********/
		String str1 = scanner.next();
		String str2 = scanner.next();
		String str3 = scanner.next();
		String str7 = scanner.next();

		String str4 = scanner.next();
		String str5 = scanner.next();
		String str6 = scanner.next();
		String str8 = scanner.next();

		String roster1 = str1+" "+str2+" "+str3+" "+str7;
		String roster2 = str4+" "+str5+" "+str6+" "+str8;
		System.out.println(roster1.length());
		System.out.println(roster1.length());
		if(roster1.compareTo(roster2) == 0){
			System.out.println("相同");
		}else{
			System.out.println("不相同");
		}

        /********** End *********/
    }
}




substring()方法与indexOf0)方法的使用-姓名查

package step2;

import java.util.Scanner;

public class NameSearch {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        /********** Begin *********/
		String data = scanner.next();
		String name = scanner.next();
		
		int j,k = 0;
    	for(int i = 0;i<data.length();){

			j = data.indexOf(name,i);

			if(j != -1){
				if(j != k) {
					System.out.println(j);
				}
        	}else {
            	break;
        	}
        	k=j;
        	i  = i+name.length();
		}	


        /********** End *********/
    }
}



String串类操作-文件名与邮箱验证

package step3;

public class HelloWorld {

	public void judge(String fileName,String email){
		//请在此添加实现代码
/********** Begin **********/
		String str1 = ".java";
        if(fileName.indexOf(str1) > 0) {
			String str2 = fileName.substring(fileName.length()-str1.length());
            if (str1.equals(str2) && str1.length() < fileName.length()) {
                System.out.println("Java文件名正确");
            }else {
            System.out.println("Java文件名无效");
        	}
        }else {
            System.out.println("Java文件名无效");
        }
        int a = email.lastIndexOf("@");
        int b= email.lastIndexOf(".");
         if(a > 0 && b > 0) {
             if (a > 0 && a < b) {
                 System.out.println("邮箱名正确");
             }else {
            	System.out.println("邮箱名无效");
			 }
        }else {
            System.out.println("邮箱名无效");
        }

/********** End **********/
	}
	
	
}




StringBuffer类的定义和使用-字母反转

package step4;

public class Reverse {
    public static StringBuffer start(String data) {
        StringBuffer ans = new StringBuffer();
        /********** Begin *********/
		String[] str2  = data.split(" ");
        String str3 = null;
        for(int i = 0;i < str2.length;i++){
            StringBuffer stringBuffer = new StringBuffer(str2[i]);
            str2[i] = stringBuffer.reverse().toString();
            if(i == 0){
                str3 = str2[0];
            }
            if(i > 0) {
                str3 = str3 + " " + str2[i];
            }
        }
		ans = new StringBuffer(str3);
        /********** End *********/
        return ans;
    }
}



如果此文章对你有帮助,麻烦点个赞哦~~~

点个关注,追新不迷路~,下一篇——Java面向对象之异常类与文件类

  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

萌新发文啦~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值