API 常用类

  • Random

生成随机的数

上代码理解:

    	Random rand=new Random();//生成一个Random对象
    	int n1=rand.nextInt();//范围是int能表示的数,有正有负
    	int n2=rand.nextInt(10);//范围是0-9 
    	long n3=rand.nextLong(); //返回long值
    	double n4=rand.nextDouble();//返回 0.0-1.0
    	System.out.println("随机数为"+n1);
    	System.out.println("随机数为"+n2);
    	System.out.println("随机数为"+n3);
    	System.out.println("随机数为"+n4);
输出    
        随机数为900966839
        随机数为9
        随机数为2627884710896352404
        随机数为0.20106154468240567
  • 包装类

基础概念

Java是面向对象的语言,但并不是“纯面向对象”的,因为我们经常用到的基本数据类型就不是对象。但我们在实际应用中经常需要将基本数据转化成对象,以便于操作。

基本数据类型

包装类

byte

Byte

boolean

Boolean

short

Short

char

Character

int

Integer

long

Long

float

Float

double

Double

在这八个类名中,除了Integer和Character类以外,其它六个类的类名和基本数据类型一致,只是类名的第一个字母大写而已。

为什么需要包装类?

  1. 某些方法的参数必须是对象,为了让基本数据类型的数据能作为参数,提供包装类。
  2. 包装类还可以提供更多的功能
  3. 其他特别重要的功能:比如可以实现字符串和基本数据类型之间的转换

转化如下

实现代码如下

	    /*基本数据类型转化为包装类*/
    	Integer in=Integer.valueOf(100);//Integer in=new Integer(100);
    	System.out.println(in);
    	Double din=Double.valueOf(100.0);//Double包装类
    	System.out.println(din);
    	
    	/*包装类对象转化为基本数据类型*/
    	int in2=in.intValue();           //包装类转化为int
    	System.out.println(in2);
    	double in3=in.doubleValue();     //包装类转化为double
    	System.out.println(in3);
    	
    	/*把字符串转化为包装类对象*/
    
    	Integer in4=Integer.valueOf("1111");
    	System.out.println(in4);         //Integer s=new Integer("99999.0");报错
    	Double  in5=Double.valueOf("99999.0");
    	System.out.println(in5);
    	
    	/*包装类转化为String*/
       	String in6=in.toString();       
    	System.out.println(in6);
    
    	/*字符串转化为基本类型两种方法*/
    	int n=Integer.valueOf("1111");
    	int nn=Integer.parseInt("1111");
    	System.out.println(n);
    	System.out.println(nn);
    	
    	/*基本类型转化为字符串*/
    	String s=String.valueOf(1000);
    	System.out.println(s);
    	
    	//常见的常量
    	System.out.println(Integer.MAX_VALUE);//最大值
    	System.out.println(Integer.MIN_VALUE);//最小值

自动装箱 自动拆箱

自动装箱和拆箱就是将基本数据类型和包装类之间进行自动的互相转换。JDK1.5后,Java引入了自动装箱(autoboxing)/拆箱(unboxing)。

自动装箱:基本类型的数据处于需要对象的环境中时,会自动转为“对象”。

自动拆箱:每当需要一个值时,对象会自动转成基本数据类型,没必要再去显式调用intValue()、doubleValue()等转型方法。

代码如下:

    	/*自动装箱*/
    	Integer in=123;    //相当于Integer in=integer.valueOf(123)
    	System.out.println(in);
    	/*自动拆箱*/
    	int n=in;
    	System.out.println(n);//相当于int n=in.intValue();

另外注意 integer有null值,不能对应int 的0值,在转化时要判断

    	Integer in=1;
    	if(in!=null) {
    		int n=in;
    	}
    	else {
    		System.out.println("Integer为null,不合法");
    	}

再一个就是缓存区的问题,如果所转换的数值Integer是由-128到127之间的书转化而来,则会存入缓存区,下一次直接使用

代码理解如下:

    	Integer in1=-128;
    	Integer in2=-128;
    	System.out.println(in1==in2);
        System.out.println(in1.equals(in2));
        
        Integer in3=12345;
        Integer in4=12345;
    	System.out.println(in3==in4);
        System.out.println(in3.equals(in4));

   输出 
        true
        true
        false
        true

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值