Java基础+

包装类

  1. Byte

  2. Short

  3. Integer

  4. Long

  5. Float

  6. Double

  7. Character

  8. 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 
*/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值