Java基础

Java基础

数据类型

基本类型

  • byte-- 8位 一个字节

  • char–16位 两个字节

  • short–16位 两个字节

  • int–32位 四个字节

  • float–32位 四个字节

  • long–64位 八个字节

  • double–64位 八个字节

  • boolean (true 或者 false)

    整数类型里面包含byte,short,int,long,Java语言的整型常量默认为int型,声明long型常量可以后加‘ l ’或‘ L ’ ,如

int i1 = 600; //正确     
long l1 = 8888888888L; //必须加l或L否则会出错 long也是整形

浮点类型与整数类型类似,Java浮点类型有固定的表数范围和字段长度,不受平台影响。Java 浮点型常量默认为 double 型,如要声明一个常量为 float 型,则需在数字后面加 f 或 F ,如:

double d = 12345.6; //正确  
float f = 12.3f; //必须加f否则会出错

boolean 只有两个值:true、false,可以使用 1 bit 来存储,但是具体大小没有明确规定。

用法举例:逻辑控制语句

boolean flag;

        flag = true;
		//false不进入if语句
        if(flag) {
            
           //代码
            
       }

char 型数据用来表示通常意义上的“字符”,char占2字节,字符用单引号括起来的单个字符,例如:

char  c1 = 'a'; 

char c2 ='中';

可以涵盖世界上所有书面语的字符。

char运算

char类型是可以运算的因为char在字符编码表中有对应的数值。在JAVA中,对char类型字符运行时,直接当做对应编码表的整数来对待。char c=‘a’+1;  先将’a’提升为int,计算结果98,对应的字符是b

包装类型

基本类型都有对应的包装类型,基本类型与其对应的包装类型之间的赋值使用自动装箱与拆箱完成。

Integer x = 2;     // 装箱 调用了 Integer.valueOf(2)
int y = x;         // 拆箱 调用了 X.intValue()			

将基本类型(例如int)转换为相应包装类(Integer)的对象称为自动装箱。Java 编译器在基元值为以下值时应用自动装箱:

  • 作为参数传递给需要相应包装类对象的方法。
  • 分配给相应包装类的变量。

将包装类型(Integer)的对象转换为其相应的基本类型(int)值称为取消装箱。当包装类的对象为以下情况时,Java 编译器将应用拆箱:

  • 作为参数传递给需要相应基本类型的值的方法。

  • 分配给相应基本类型的变量。

    基本类型 包装类型
    boolean Boolean
    byte —— Byte
    char —— Character
    float —— Float
    int —— Integer
    long —— Long
    short —— Short
    double —— Double

缓存池

 		//new每次都会新建一个对象,地址不同,这样比较的是地址
		Integer a = new Integer(123456);
        Integer b = new Integer(123456);
        //Integer.valueOf会使用缓存池中的对象,多次调用会取得同一个对象的引用,因为相同的值地址是同一个
        System.out.println(a == b);    
        Integer c = Integer.valueOf(123);
        Integer d = Integer.valueOf(123);
        System.out.println(c == d);  

比较结果

valueOf() 方法的实现比较简单,就是先判断值是否在缓存池中,如果在的话就直接返回缓存池的内容,如果不在缓存池中,在idea里会提示错误。在 Java 8 中,Integer 缓存池的大小默认为 -128~127。

超过输入范围

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值