美文网首页Java基础知识
java基础1.基本数据类型划分

java基础1.基本数据类型划分

作者: ygxing | 来源:发表于2019-03-15 16:37 被阅读0次
    1.数值类型
    - 整型
    分为byte,short,int,long这四种类型;
    默认类型为int,默认值为0
    
    public static void main(String[] args) {
        //0开头的数字是8进制
        System.out.println("011=" + 011);
    }
    
    运行结果:
        011=9
    
    public static void main(String[] args) {     
        System.out.println("10/4 = " + 10 / 4);    
    }
    
    运行结果:
        10/4 = 2
    结果分析:
        整型相除结果还是整型
        我们可以使用10/4.0来解决问题
    
    - 浮点型
    分为float,double这两种类型;
    默认类型为double,默认值为0.0
    
    public static void main(String[] args) { 
        //编译报错
        //因为默认是double类型       
        float num = 10.0;
        System.out.println(num);
    }
    
    public static void main(String[] args){
        //float和double类型 精度可能丢失
        //用BigDecimal可以解决问题  
        System.out.println("3.0-2.6= "+ (3.0 - 2.6));
    }
    
    运行结果:  
        3.0-2.6= 0.3999999999999999
    
    2.布尔类型
    boolean类型,只有true,false两个值,默认值为false
    
    3.字符类型
    char类型,默认值为'\u0000',其值为0,表示的字符为空;
    
    private static char ch;
    public static void main(String[] args) {
        System.out.println("ch=" + ch + ".");
    }
    
    运行结果:
        ch=.
    
    public static void main(String[] args) {
        char ch = '中';
        System.out.println("ch=" + (int)ch);
    }
    
    运行结果:
        ch=20013
        
    char类型特点:
        java使用了unicode编码,将0~127留给了ASSIC码字符,
        同时可以表示中文等各国语言,
        char类型在java中占用两个字节,也就是16位
    
    4.基本类型数据范围
    数据类型 关键字 字节数 默认值 数据范围
    布尔类型 boolean 1 false true, false
    字节类型 byte 1 0 -2^7 ~ 2^7-1
    字符型 char 2 '\u0000' 0 ~ 2^16 -1
    短整型 short 2 0 -2^15 ~ 2^15-1
    整形 int 4 0 -2^31 ~ 2^31-1
    单精度浮点数 float 4 0.0F 3.402823e^+38 ~ 1.401298e^-45
    长整形 long 8 0L -2^63 ~ 2^63-1
    双精度浮点数 double 8 0.0 1.797693e^+308 ~ 4.9000000e^-324
    5.运算溢出
    当运算之后的数据,超出了数据类型的范围,
    最后保存的数据会溢出
    
    public static void main(String[] args) {
        System.out.println("Integer.MAX_VALUE + 1 = " 
            + (Integer.MAX_VALUE + 1));
    }
    
    运行结果:
        Integer.MAX_VALUE + 1 = -2147483648
    
    6.基本类型的类型转换
    范围小的类型,可以自动转换为范围大的类型;
    范围大的类型,需要强制转换为范围小的类型;
    
    public static void main(String[] args) {
        //整型的默认类型为int
        //先执行, Integer.MAX_VALUE + 1,
        //然后赋值给max1, 所以溢出了
        long max1 = Integer.MAX_VALUE + 1;
        System.out.println("max1 = " + max1);
    }
    
    运行结果:
        max1 = -2147483648

    相关文章

      网友评论

        本文标题:java基础1.基本数据类型划分

        本文链接:https://www.haomeiwen.com/subject/aerrmqtx.html