包装类
-
Byte
-
Short
-
Integer
-
Long
-
Float
-
Double
-
Character
-
Boolean
与八大基础类型相对应的工具类,提供了一系列方法处理各种需求。除int、char类型,其余首字母大写即可。
自动装箱与自动拆箱
Integer a = 12; //int型数据可直接赋值给Integer类对象,自动装箱 int b = a; //Integer类对象也可直接赋值给int型变量,自动拆箱。其余类型类似
字符串转换与常用方法
package day0824; public class Demo01 { public static void main(String[] args) { int a = 10; //int型转字符串型 String s = String.valueOf(a); System.out.println(s); //字符串转int int b = Integer.parseInt(s); //自动拆箱 Integer c = Integer.parseInt(s); Integer d = 12; //自动装箱 System.out.println(b); System.out.println(c); System.out.println(d); //字符串常用方法 String str = "asdfoLSDFASNF12323"; //字符串转字符数组 char[] charArray = str.toCharArray(); int x = 0,y=0,z=0; for (int i = 0; i < charArray.length; i++) { //判断该字符是否为数字字符 if(Character.isDigit(charArray[i])) { x++; //判断该字符是否为字母字符 }else if(Character.isLetter(charArray[i])) { //判断该字符是否为小写字母字符 if(Character.isLowerCase(charArray[i])) { y++; //判断该字符是否为小写字母字符 }else if(Character.isUpperCase(charArray[i])) { z++; } } } System.out.println(x+" 个数字,"+y+" 个小写字母,"+z+" 个大写字母。"); } }
时间类
//需要熟练掌握:日期转换成字符串,字符串转时间 package day0824; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class Demo02 { public static void main(String[] args) throws ParseException { Date date = new Date(); String birthday = "1999-12-12 12:12:12"; //yyyy-MM-dd格式也可以,但是会把时分秒置为00:00:00 SimpleDateFormat dateFormate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //字符串转Date date = dateFormate.parse(birthday); System.out.println("1、"+date); //为了好看,使用Date类中不建议使用的方法输出 System.out.println("2、"+date.toLocaleString()); //转化为本地格式时间 System.out.println("3、"+date.toString()); //直接转成字符串 //时间转字符串 String sdate = dateFormate.format(date); System.out.println("4、"+sdate); //当前时间转字符串 Date date1 = new Date(); //获取当前系统时间 SimpleDateFormat dateFormate1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String ndate = dateFormate1.format(date1); System.out.println("5、"+ndate); } } /*输出结果为: 1、Sun Dec 12 12:12:12 CST 1999 2、1999-12-12 12:12:12 3、Sun Dec 12 12:12:12 CST 1999 4、1999-12-12 12:12:12 5、2023-08-24 17:37:44 */
冒泡排序
冒泡排序思路为,两两相比较,如果前一个比后一个大,则两者互换(升序下)。每一轮比较,最终结果都能将最大的数据换到最后一个。
package day0824; public class Demo03 { public static void main(String[] args) { int[] arr = { 131, 51, 54, 12, 34, 15, 81, 44, 33 }; //外层循环控制执行多少轮排序,不是下标 for (int i = 1; i < arr.length; i++) { //内层循环控制单轮排序中需要比较多少次 //由于每轮比较完成后都能把最大的放在最后,所以每轮比较次数递减 for (int j = 0; j < arr.length - i; j++) { if (arr[j] > arr[j + 1]) { int t = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = t; } } } // for (int i = 0; i < arr.length; i++) { // System.out.print(arr[i] + " "); // } //foreach 循环遍历数组 for (int i : arr) { System.out.print(i+" "); } } }
二维数组
一维数组是一连串相同类型的数据的集合,那么二维数组就是多个(多行)一维数组的集合
package day0824; public class Demo04 { public static void main(String[] args) { //二维数组的定义 int[][] salary = new int[3][6]; //二维数组的赋值 salary[0][0] = 111; //第一行,第一列 salary[0][1] = 222; //第一行,第二列 salary[2][4] = 333; //第三行,第五列 //二维数组的定义并赋初始值 int[][] salary2 = {{10000,8000,9000,13000,18000,15000}, {11000,7000,9500,12000,6000,7500}, {12000,6000,9600,13500,17500,10000}}; //求最大值 int max = salary2[0][0]; //二维数组的遍历 for(int i = 0;i < salary2.length;i++) { for(int j = 0;j < salary2[i].length;j++) { if(salary2[i][j] > max) { max = salary2[i][j]; } } } System.out.println(max); } }
数组的常用方法
数组排序
Arrays.sort(数组名)
package day0824; import java.util.Arrays; public class SortDemo { public static void main(String[] args) { //初始化数组 int[] arr = {65,55,123,15,31,51,13}; //调用sort方法排序,默认为升序 Arrays.sort(arr); //foreach循环打印数组 for (int i : arr) { System.out.print(i+" "); } } } /*输出结果为: 13 15 31 51 55 65 123 */
搜索数组
Arrays.binarySearch(数组名,目标数据)
package day0824; import java.util.Arrays; public class ArraySearchDemo { public static void main(String[] args) { //初始化数组,无需有序 int[] a = {1,2,6,3,4,7,5}; //查找7的下标 System.out.println(Arrays.binarySearch(a, 7)); //输出5,正确 } }
拷贝数组
System.arraycopy(源数组名,复制开始位置,目标数组,粘贴开始位置,复制数量)
package day0824; public class ArrayCopyDemo { public static void main(String[] args) { int[] a = {1,2,3,4,5,6,7}; int[] b = new int[10]; System.arraycopy(a, 1, b, 0, 6); for (int i : b) { System.out.print(i+" "); } } } /* 输出结果为: 2 3 4 5 6 7 0 0 0 0 */