JAVA入门——Arrays AND 包装类 AND 自动拆装箱

Arrays类

定义:针对数组进行操作的类

public static String toString(int[] a):打印该数组
eg:	int[] arr = {11, 84, 31, 94, 28, 59, 78, 69, 15};
        System.out.println(Arrays.toString(arr));————————————输出:[11, 84, 31, 94, 28, 59, 78, 69, 15]
public static void sort(int[] a):给数组排序
eg:	int[] arr = {11, 84, 31, 94, 28, 59, 78, 69, 15};
        Arrays.sort(arr);
        System.out.println(Arrays.toString(arr));————————————输出:[11, 15, 28, 31, 59, 69, 78, 84, 94]
public static int binarySearch(int[] a,int key):二分查找(数组必须有序)
eg:	int[] arr = {11, 84, 31, 94, 28, 59, 78, 69, 15};
		System.out.println(Arrays.binarySearch(arr, 15));————————————输出:1
static boolean equals(int[] a, int[] a2) 比较两个数组中的元素
eg:	 int[] arr = {11, 84, 31, 94, 28, 59, 78, 69, 15};
		 int []a = {11, 84, 31, 94, 28, 59, 78, 69, 15};
		 System.out.println(Arrays.equals(arr, a));————————————输出:true
static int[] copyOf(int[] original, int newLength) 复制旧数组中的元素到一个新的数组中,新的数组长度是newLength 从0开始复制旧数组
eg:	int[] arr = {1999,2000,2001,2002,2003,2008,2012,2019,2020};
        int [] arr2 = Arrays.copyOf(arr,arr.length);
        System.out.println(Arrays.toString(arr2));————————————输出:[1999, 2000, 2001, 2002, 2003, 2008, 2012, 2019, 2020]
static int[] copyOfRange(int[] original, int from, int to) 从指定索引处,拷贝旧数组元素到你指定的终止索引处,复制到新的数组中,含头不含尾
eg:	int[] arr = {1999,2000,2001,2002,2003,2008,2012,2019,2020};
		int[] arr3 = Arrays.copyOfRange(arr,5,arr.length);
        System.out.println(Arrays.toString(arr3));———————————— 输出:[2008, 2012, 2019, 2020]

包装类

  • 定义:为了对基本数据类型进行更多的操作,更方便的操作 针对每一种基本数据类型提供了对应的类类型
  • 把基本类型,包装成对应的包装类
常见的Integer类
  • Integer 类在对象中包装了一个基本类型 int 的值

  • Integer 类型的对象包含一个 int 类型的字段。

构造方法

public Integer(int value):构造一个新分配的 Integer 对象,它表示指定的 int 值
eg:	int num = 20;
        System.out.println(new Integer(num));———————————— 输出:20
        System.out.println("20的二进制数为:"+Integer.toBinaryString(num));//二进制——10100
        System.out.println("20的八进制数为:"+Integer.toOctalString(num));//八进制——24
        System.out.println("20的十六进制数为:"+Integer.toHexString(num));//十六进制——14
public Integer(String s):构造一个新分配的 Integer 对象,它表示 String 参数所指示的 int 值

只能是数字组成的字符串

eg:	String s = "123456";
        System.out.println(new Integer(s));———————————— 输出:123456
static String valueOf(int i): 返回 int 参数的字符串表示形式
eg:	int num = 2019;
        String s1 = String.valueOf(num);
         System.out.println(s1);———————————— 输出:2019
static int parseInt(String s): 将字符串参数作为有符号的十进制整数进行解析——把字符串转换成int 类型数据
eg:	String ss = "159";
        System.out.println(Integer.parseInt(ss));————————————输出:159
String 和 int类型的转换
		 // int——String
        int num = 2019;
        String s = num+"";  // 方法一
        System.out.println(s);
        String s1 = String.valueOf(num);  //方法二
        System.out.println(s1);
        System.out.println(new Integer(num).toString());    //方法三

        //String——int
        String ss = "1147258369";
        System.out.println(Integer.parseInt(ss));  //方法一
        System.out.println(new Integer(ss).toString());   //方法二

自动拆装箱

  • 自动装箱:把基本类型转换为包装类类型
  • 自动拆箱:把包装类类型转换为基本类型
 public static void main(String[] args) {
        Integer in = new Integer(20);   //手动装箱——转为包装类
        Integer in2 = new Integer(200);
        int num = in+in2;   // 自动拆箱——转为基本类

        int i = in.intValue();   //手动拆箱
        int i1 = in2.intValue();
        int num1 = i+i1;

        int x = 2019;
        Integer inx = x;   //自动装箱
        Integer inx2 = Integer.valueOf(2019);   //手动装箱
    }
eg:	Integer i = 128;//超过一个字节
        Integer i1 = 128;
        Integer.valueOf(128);
        System.out.println(i == i1);//false

        Integer i7 = 127;//没超过一个字节
        Integer i8 = 127;
        System.out.println(i7 == i8);//true

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值