目录
String&StringBuilder&StringBuffer类-练习
length()方法与compareTo()方法的使用-花名册
substring()方法与indexOf0)方法的使用-姓名查找
点个关注,追新不迷路~,下一篇——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; } }