基本数据类型包装/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);
}
}