Java中的数据类型

常见的数据类型

1、基本数据类型

基本数据类型是CPU可以直接进行运算的数据类型,在JVM的栈中分配内存空间。

在Java在定义了8种基本数据类型:

  • 数值型

        整数类型:byte,short,int ,long

        浮点数类型:float,double

  • 非数值型

        字符类型:char

        布尔类型:boolean

1.1 整型

对于整形类型,Java只定义了带符号的整形,因此,最高位的bit表示符号位(0表示正数,1表示负数)

各种整形能表示的最大范围:

  • byte : -128 ~ +127
  • short : -32768 ~ +32767
  • int : -21473648 ~ +21473647 (-2^{31} ~ +2^{31}-1)
  • long : -9223372036854775808 ~ +9223372036854775807 (-2^{63} ~ +2^{63}-1)

定义整型变量

//定义整型变量
public class Main{
    public static void main(String[] args){
        int i1=2147483647;
        int i2=-2147483648;
        int i3=2_000_000_000;//加下划线更容易识别
        int i4=0xff0000;//十六进制表示16711680
        int i5=0b1000000000;//二进制表示的512
        int i6=9000000000000000000L;//long型的结尾需要加L
    }
}

注意:
        对于long类型,需要加上l或L后缀,由于l与数字1相近似,所以一般都采用L后缀,同一个整数,使用不同进制表示,完全相同。例如:15=0xf=0b1111。

1.2 浮点型

浮点类型的数值就是小数,因为小数用科学计数法表示的时候,小数点是可以“浮动”的。例如:1234.5可以表示成12.345 x 10^2,也可以表示成1.2345 x 10^3,所以称为浮点数。

定义浮点数变量

//定义浮点型变量
public class Main{
    public static void main(String[] args){
        float f1=3.14f;
        float f2=3.14e38f;//科学计数法表示的3.14x10^38
        double d1=1.79e308;
        double d2=-1.79e308;
        double d3=4.9e-324;//科学计数法表示的4.9x10^-324
    }
}

注意:

        对于float类型,需要加上f或F后缀

        浮点数可表示的范围非常大,float类型可最大表示3.4x10^38,而double类型可最大表示1.79x10^308。

1.3 布尔类型

布尔类型boolean只有true和false两个值,布尔类型通常是关系运算的计算结果

定义布尔类型的变量

//定义布尔类型变量
public class Main{
    public static void main(String[] args){
        boolean b1=true;
        boolean b2=false;
        boolean isGreater= 5 > 3;//计算结果为true
        int age=12;
        boolean isAdult=age >= 18;//计算结果为false
    }
}

注意:

        Java语言对布尔类型的存储并没有做规定。在Java虚拟机里采用8位二进制数表示布尔值,00000001表示true,00000000表示false。但是通常HotSpot JVM内部使用4字节int类型整数来存储boolean值。

1.4 字符类型

字符类型char表示一个字符。Java的char类型除了可表示标准的ASCII外,还可以表示一个Unicode字符。

定义字符类型的变量

//定义字符类型变量
public class Main{
    public static void main(String[] args){
        //直接保存字符
        char a='A';
        char zh='中';
        
        System.out.println(a);
        System.out.println(zh);

        //保存字符的Unicode码
        //89表示"Y"的ASCII码
        a=89;
        System.out.println(a);

        //22825表示"天"的Unicode码
        zh=22825;
        System.out.println(zh);
    }
}

注意:

        char类型使用单引号 '  ',且仅有一个字符。这点要和使用双引号 "  " 的字符串类型区分开来。 

2、引用类型

除了上述8种基本数据类型以外,其余类型均为“引用数据类型”。最常见的引用数据类型是String字符串,用于保存若干个字符。

public class Main{
    public static void main(String[] args){
        String str1="空山新雨后";
           
        str1="天气晚来秋";
        System.out.println(str.charAt(0));//第一个字符

        str1="竹喧归浣女";
        System.out.println(st1.charAt(1));//第二个字符
    }
}
  • 引用类型的变量类似于C语言的指针,它内部存储一个“地址”,该地址指向某个“数据”在内存的位置,后续介绍类的概念时会详细讨论。
  • 引用类型往往会提供一系列“方法”,对当前存储的数据进行某种逻辑上的处理。这是基本数据类型不具备的

3、常量

定义变量的时候,如果加上final关键字,这个变量就成了常量。常量在定义时必须进行初始化赋值,之后就不可再次赋值,再次赋值会导致编译错误。

//定义常量
public class Main{
    public static void main(String[] args){
        final double PI=3.14;
        double r=5.0;
        double area=PI * r * r;
        PI=300;//编译错误,常量不允许被修改
    }
}

注意:        

        常量的作用是有意义的变量名来避免魔法数字(Magic number)。例如:不要在代码中到处写3.14,而是定义一个常量,如果将来需要提高计算精度,我们只需要在常量的定义处修改。比如,改成3.1416,而不必在所有地方替换3.14。

        最后,根据编程规范,常量名通常全部大写。

以上是我个人对Java中的数据类型的一些总结,如有错漏请务必联系,非常感谢。

  • 29
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晓晨CH

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值