基本数据类型包装/System类/Math类/Arrays类

8种基本类型对应的包装类如下:

除了整型与字符型 其他的都是首字母大写!

将字符串转换为数据类型都是静态方法,所以直接用类名进行调用:

将基本数值转成字符串有3种方式:

基本类型直接与””相连接即可;34+" "

调用String的valueOf方法;String.valueOf(34) ;

调用包装类中的toString方法;Integer.toString(34) ;

package com.oracle.demo01;

public class Demo01 {
	public static void main(String[] args) {
	          //字符串转---->基本数据类型
		   String str="12"; 
		   //静态方法直接用类名调用
		   int num=Integer.parseInt(str);
		   System.out.println(num+1);
		   double num2=Double.parseDouble(str);
		   System.out.println(num2);
		   //将基本数据类型转--->字符串
		   System.out.println(""+12+1);
		   String s1=String.valueOf(88);
		   System.out.println(s1+3);
		   String s2=String.valueOf(1.2);
		   System.out.println(s2+1);
		   String s3=Integer.toString(99);
		   System.out.println(s3+1);
	}

}

 基本类型与对象的转换:

package com.oracle.demo01;

public class Demo02 {
    public static void main(String[] args) {
	/*基本数据类型--->包装类型*/
    	//1.
    	Integer in=new Integer(123);
    	Integer in2=new Integer("456");
    	//2.
    	Integer in3=Integer.valueOf(789);
    	Integer in4=Integer.valueOf("147");
    	//包装类型对象--->基本数据类型
    	int i1=in.intValue();
    	int i2=in2.intValue();
	}
}

 自动拆箱:对象自动直接转成基本数值

    自动装箱:基本数值自动直接转成对象

什么时候自动装箱?

例如:Integer i = 100;

相当于编译器自动为您作以下的语法编译:Integer i = Integer.valueOf(100);

什么时候自动拆箱?

1 Integer i = 10; //装箱 
2  int t = i; //拆箱,实际上执行了 int t = i.intValue();

System类不能手动创建对象,因为构造方法被private修饰了,System类中都是静态方法,可以用类名直接调用。

常用方法:

arraycopy方法,用来实现将源数组部分元素复制到目标数组的指定位置

package com.oracle.demo02;

public class Demo10 {
	  public static void main(String[] args) {
		  /*将src数组中前3个元素,复制到dest数组的前3个位置上
			复制元素前:src数组元素[1,2,3,4,5],dest数组元素[6,7,8,9,10]
			复制元素后:src数组元素[1,2,3,4,5],dest数组元素[1,2,3,9,10]
			*/
		  int[] src = {1,2,3,4,5};
		  int[] dest ={6,7,8,9,10};
		  System.arraycopy( src, 0, dest, 0, 3);
		  //遍历dest
			for(int i=0;i<dest.length;i++){
				System.out.println(dest[i]);
			}
		  
	}
}

  

package com.oracle.demo02;

public class Demo11 {
	public static void main(String[] args) {
		/*循环生成100-999之间的的三位数并进行打印该数,当该数能被10整除时,结束运行的程序*/
		for (int i = 101; i <= 999; i++) {
			if (i % 10 == 0) {
				System.exit(0);
			}
			System.out.println(i);
		}
	}
}

  Math类里面可以向上取整,向下取整,求绝对值、求两个最大值、求两个最小值、求幂、求随机数、例子:

package com.oracle.demo02;

public class Demo05 {
     public static void main(String[] args) {
		//求绝对值(取的是正数)
    	System.out.println(Math.abs(-1.2));
    	//向上取整
    	System.out.println(Math.ceil(12.1));
    	//向下取整
    	System.out.println(Math.floor(12.9));
    	//求两个值的最大值
    	System.out.println(Math.max(10, 9));
    	//求两个值的最小值
    	System.out.println(Math.min(10,9));
    	//求次幂
    	System.out.println(Math.pow(2,10));
    	//求随机数
    	System.out.println(Math.random());
    	//四舍五入
    	System.out.println(Math.round(12.5));
	}
}

 Arrays类代表的是Array数组的工具类,如果指定数组引用为null。则访问此类中的方法都会抛出空指针异常NullPointerException

    常用方法

package com.oracle.demo02;

import java.util.Arrays;

public class Demo06 {
    public static void main(String[] args) {
		int[] arr={5,99,1,66,11,2};
		//排序
		Arrays.sort(arr);
		//遍历
/*		for(int i=0;i<arr.length;i++){
			System.out.println(arr[i]+"");
		}*/
		System.out.println(Arrays.toString(arr));
		System.out.println();
		int num=Arrays.binarySearch(arr,2);
		//如果改元素不存在,则返回该元素应该在数组的位置所对应的(-下标-1)
		//返回的下标值
		System.out.println(num);
	}
}

  

posted @ 2019-05-30 18:22  麻包缝裤衩  阅读(158)  评论(0编辑  收藏  举报