zoukankan      html  css  js  c++  java
  • java数据类型

    java的数据类型分为两大类:基本数据类型和引用数据类型

    这里我们先说一下基本数据类型,基本数据类型分为四种:整型、浮点型、字符型、布尔类型

    (1)整型根据取值范围从小到大依次为:byte、short、int、long

      1.一般情况下,整型类型的数值默认为int类型;通常情况下,取值范围大的类型转换为小的类型时处出现问题,程序如下所示:

    public static void main(String[] args){
    			int x = 127;
    			byte y = x;
    			System.out.println(y);
    	}

      这个时候编译并运行程序会报错,因为从取值范围大的类型转换成取值范围小的类型会有损失,即使你这个值在取值范围小的类型中。

      

       要想从取值范围大的类型转换成取值范围小的类型不报错,需要通过强制转换,程序如下所示:

    public static void main(String[] args){
    			int x = 127;
    			byte y = (byte)x;
    			System.out.println(y);
    	}
    

      程序编译并运行成功

      

      2.现在是因为值小,所以没有造成数据损失,下面列举一个会出现数据损失的问题:

    public static void main(String[] args){
    			int x = 128;
    			byte y = (byte)x;
    			System.out.println(y);
    	}
    

      这个时候输出结果就出现问题了,因为需要强制转换的值已经超过了byte类型的最大值,需要注意的一点是,当一个值的大小超过了数据类型的范围时,

      超出多少,就是在最小值的基础上加上超出的这个值再减去1,最后得出的值就是结果

      

       3.不同类型的值在进行运算时,所得结果会自动转换为取值范围大的类型,程序如下:

    public static void main(String[] args){
    			int x = 1;
    			byte y = 127;(byte类型的最大值)
    			System.out.println(x+y);
    	}
    

      程序编译运行后的结果如下,输出128的原因是因为int类型与byte类型进行运算时,结果自动转换为了int类型,所以输出结果为128

      

    (2)浮点型:double和float

      double的取值范围比float类型的取值范围大很多,所以当写一个小数时,默认为double类型

    public static void main(String[] args){
    			float x = 1.0;
    			System.out.println(x);
    	}
    

      将该程序编译后会报错,因为带小数的值默认为double类型,又因为double类型的范围比float大,所以在编译过程中会报错

      

       但是你要是这样写 float x = 1.0f 就不会报错了,这样写表明该值为float类型的

    (3)字符型:char

      字符类型的值用" ' " 表示,即char x = 'A' ,要注意的是字符类型的值会与数字相对应,即每个字符会对应一个数字,程序如下:

    public static void main(String[] args){
    			char x = 'A';
    			char y = 'a';
    			System.out.println("A:"+(int)x);
    			System.out.println("a:"+(int)y);
    	}
    

      程序编译并运行后,输出结果如下:

      

       注意:'0'与0 的值不一样,感兴趣的可以试一试

    (4)布尔类型:有两个值 true 和 false

      一般该类型用于逻辑判断,程序如下:

    public static void main(String[] args){
    			boolean x = true;
    			if(x){
    				System.out.println("true");
    			}
    	}
    

     程序编译并运行后输出结果如下:

     

       

  • 相关阅读:
    IDEA工具-快捷键整理
    Intellij热部署插件JRebel_转载
    [刘阳Java]_为什么要前后端分离
    [刘阳Java]_程序员Java编程进阶的5个注意点,别编程两三年还是增删改查
    [刘阳Java]_Web前端入门级练习_迅雷首页第一屏设计
    [刘阳Java]_Web前端入门级练习_迅雷官宣网设计
    [刘阳Java]_MySQL数据优化总结_查询备忘录
    Mybatis总结(一)
    java.io.IOException: Could not find resource com/xxx/xxxMapper.xml
    push to origin/master was rejected错误解决方案
  • 原文地址:https://www.cnblogs.com/li666/p/11804373.html
Copyright © 2011-2022 走看看