美文网首页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