从本节开始可以使用idea学习
-
学习8种基本数据的包装类,学习装箱、拆箱,学习包装类常用的方法
基本数据类型 byte short int long float double char boolean 包装类 Byte Short Integer Long Float Double Character Boolean -
基本数据类型没有对象的性质,所以引入了包装类
-
将基本数据类型转换为包装类就是装箱,装箱分为手动装箱和自动装箱。
-
将包装类转换为基本数据类型就是拆箱,拆箱也分为手动和自动。
public class Test001 { //学习8种基本数据的包装类,学习装箱、拆箱,学习包装类常用的方法 以int和Integer为例 public static void main(String[] args) { //装箱 int a = 3; //手动装箱 Integer b = new Integer(a); //自动装箱 Integer c = a; //拆箱 Integer d = 10; //手动拆箱 int e = d.intValue(); //自动拆箱 int f = d; //int相关 System.out.println("int表示的最大值"+Integer.MAX_VALUE); System.out.println("int表示的最小值"+Integer.MIN_VALUE); } }
-
-
学习Math类、Date类、Character类、Calendar类等常用类
-
Math类:封装了一些常用的数学运算
方法 描述 abs() 返回参数的绝对值 random() 返回一个随机数0·1 max(),min() 返回两个参数中的最大或最小值 sin(),cos(),tan(),asin(),acos(),atan() 求指定double类型参数的三角函数 ceil(),floor() 对整形变量向上向下取整 sqrt() 求参数的算术平方根 -
Date类和Calendar类:日期相关
-
Long获取从1970年到现在的毫秒数(格林威治时间),Long是其他时间类型的底层,其他类型的日期都是Long封装得来的。
-
Date类型一般用于查看日期,很少用做计算日期。
-
Calendar用来计算时间的,add/set
public class Test002 { public static void main(String[] args) { //Math类 封装了常用的数学运算 System.out.println(Math.random()); //Date类 日期相关 //Long 获取日期 格林威治时间 1970到现在毫秒数 Long 所有日期的底层 Long now = System.currentTimeMillis(); System.out.println(now); //Date获取日期 Date date = new Date(); System.out.println(date); //Calendar计算日期 add 现有时间加减 set 设置固定时间并计算 Calendar calendar = Calendar.getInstance(); //十年后是多少年 calendar.add(Calendar.YEAR,10); System.out.println(calendar.get(Calendar.YEAR)); //500天前是几号 calendar.add(Calendar.DAY_OF_MONTH,-500); System.out.println(calendar.get(Calendar.DAY_OF_MONTH)); //set的使用 calendar.set(Calendar.YEAR,2008); System.out.println(calendar.get(Calendar.YEAR)); calendar.set(Calendar.HOUR_OF_DAY,9); System.out.println(calendar.get(Calendar.HOUR_OF_DAY)); //SimpleDateFormat日期转换 yyyy-MM-dd HH:mm:ss;yy-M-d;yyyy年MM月dd日 SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat sdf2 = new SimpleDateFormat("yy-M-d"); SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy年MM月dd日"); String format1 = sdf1.format(date); String format2 = sdf2.format(date); String format3 = sdf3.format(date); System.out.println(format1+"n"+format2+"n"+format3); } }
-
-
Character类 :基本数据类型char的包装类
-
-
学习数组,二维数组、数组排序、复制数组、Arrays工具类
-
//数组 设置数组大小 int size = 3; //定义数组 double[] list = new double[size]; list[0] = 3.2; list[1] = 2.3; list[2] = 4.4; //数组元素求和 double total = 0; for (int i = 0;i
System.out.println("数组中第"+(i+1)+"个元素是"+list[i]); total = total + list[i]; } System.out.println("数组中元素和为"+total); //数组排序 从小到大 冒泡排序 int temp; boolean b = true; int[] arr = {3,6,8,7,9,5}; for (int j = 1;j for (int i = 1; i < arr.length; i++) { if (arr[i - 1] > arr[i]) { temp = arr[i - 1]; arr[i - 1] = arr[i]; arr[i] = temp; b = false; } } if (b){ break; } } for (int i = 0;i System.out.print(arr[i]+" "); } -
Arrays类 更方便的操作数组 sort排序默认升序 fill赋值 equals比较 binarySearch二分法查找元素 int[] arr2 = {99,65,8,9,45,7,52,665}; Arrays.sort(arr2); for (int i = 0; i
System.out.print(arr2[i]+" "); }
-
-
学习String类(非常重要)学习他的常用的方法,例如 equals()、compareTo() 等等,多多练习
-
String类 https://www.runoob.com/manual/jdk11api/java.base/java/lang/String.html
//String类 字符串相关 //常用方法有 charAt() 返回指定下标字符 equals() 比较两个字符串 // compareTo() 返回参与比较的前后两个字符串的ASCII码的差值,如果两个字符串首字母不同,则该方法返回首字母的ASCII码的差值。 // indexOf() 返回指定字符串第一次出现的索引 isEmpty() 判断是否为空 // contains() 判断是否包含指定内容 replace( , ) 替换指定字符串 String str1 = "bilibili"; String str2 = "idea"; String str3 = "idea"; String str4 = ""; System.out.println(str1.charAt(3)); System.out.println(str1.equals(str2)); System.out.println(str2.equals(str3)); System.out.println(str1.compareTo(str2)); System.out.println(str2.compareTo(str3)); System.out.println(str4.isEmpty()); System.out.println(str2.contains("a")); }
-
-
学习StringBuilder、StringBuffer,比较它们的不同
- String StringBuffer StringBuilder
- String 是final修饰的 不可变 每次操作都会产生新的引用地址
- StringBuffer和Stringbuild是在原有的对象上操作的,StringBuffer是synchronized锁修饰的,线程安全的
- 性能上StringBuilder>StringBuffer>String
- 使用场景:经常需要改变的字符串内容就是用StringBuffer和StringBuilder,优先使用StringBuffer,多线程使用共享变量是使用StringBuffer。
- String StringBuffer StringBuilder
-
(选做)封装一个工具类StringUtils.java,实现字符串判断空的方法(公共静态方法)
-
public class StringUtils { //判断字符串是否为空 public static boolean isEmp(String str){ if (str == null || str == ""){ return true; } return false; } }
-
public class Test004 { public static void main(String[] args) { String str1 = " "; String str2 = null; String str3 = ""; System.out.println(StringUtils.isEmp(str1)); System.out.println(StringUtils.isEmp(str2)); System.out.println(StringUtils.isEmp(str3)); } }
-