美文网首页java基础
java基础知识回顾-03-标识符&java基本数据类型相关

java基础知识回顾-03-标识符&java基本数据类型相关

作者: 一只狗被牵着走 | 来源:发表于2019-05-06 17:16 被阅读0次

java基本数据类型

四大类、八小类

  • 整数类型(四种)
    1. 字节型/位(byte)
    2. 短整型(short)
    3. 整型(int)
    4. 长整型(long)
  • 浮点类型(两种)
    1. 单精度浮点型(float)
    2. 双精度浮点型(double)
  • 字符类型(char)
  • 布尔类型(boolean)
    注意,字符串不属于“基本数据类型”,属于引用类型,深层的储存方式见文末

各基本类型的储存大小

数据类型 字节 表示范围/取值范围(以下表示除boolean、char,其余为十进制)
字节型/位(byte) 1 -128~127(-2的7次方到2的7次方-1)
短整型(short) 2 -32768~32767(-2的15次方到2的15次方-1)
整型(int) 4 -2147483648~2147483647(-2的31次方到2的31次方-1)
长整型(long) 8 -9223372036854774808~9223372036854774807(-2的63次方到2的63次方-1)
单精度浮点型(float) 4 3.402823e+38 ~ 1.401298e-45(e+38表示是乘以10的38次方,同样,e-45表示乘以10的负45次方)
双精度浮点型(double) 8 1.797693e+308~ 4.9000000e-324
字符类型(char) 1 \u0000~\uFFFF(unicode编码)
布尔类型(boolean) 1 true和false(真和非真)

ps:Markdown表格插入方法参考插入Markdown行内超链接方法参考数据类型取值范围参考

需要注意的tips

  1. char(这部分参考java基本数据类型取值范围
    用于存放字符的数据类型,占用2个字节,采用unicode编码,它的前128字节编码与ASCII兼容
    字符的存储范围在\u0000~\uFFFF,在定义字符型的数据时候要注意加' ',比如 '1'表示字符'1'而不是数值1,
    char c = ' 1 ';
    我们试着输出c看看,System.out.println(c);结果就是1,而如果我们这样输出呢System.out.println(c+0);
    结果却变成了49。
    如果我们这样定义c看看
    char c = ' \u0031 ';输出的结果仍然是1,这是因为字符'1'对应着unicode编码就是\u0031
    char c1 = 'h',c2 = 'e',c3='l',c4='l',c5 = 'o';
    System.out.print(c1);System.out.print(c2);System.out.print(c3);System.out.print(c4);Sytem.out.print(c5);
  2. 浮点型和整型
    10.0 严格来讲属于浮点型字面值(区别于 10 属于整型)
    稍作延伸,浮点型的概念(来自度娘):
    十进制数,加阶码标志“e”或“E”以及阶码(只能为整数,可以带符号)组成。简单来说,为啥叫浮点,浮动变化的是阶码(心里有点方,这个点是看《汇编语言》的时候记住的,没有实料参考,此处是记忆),可以理解成,整型因为阶码(或者指数的幂)不变,而浮点类型的幂是变化的,所以浮点的数值范围更大。
  3. char 的单独点
    因为一个汉字占两个字节,一个Unicode编码占两个字节,所以Java中的char类型可以储存汉字
    样例

各基本数据类型在JVM中的存储方式(TODO 后面复习JVM时再与之结合学习)

附一张JVM的分区图,下图主要突出常量池概念,想说明的一点是,与图中的“运行时常量池”不一样,String类型的字符串储存在“字符串常量池”中,而JDK1.7及之后的版本中,字符串常量池存在于堆中

jvm-1
再看一张图,我们发现,基本数据类型储存在栈中:
jvm-2
结论:字符串类型储存在堆中的字符串常量池中(new String("1")这种参考引用类型储存,来源参考,基本数据类型储存在栈中
注:JDK1.6(含)之前常量池是放在JVM中的方法区中的,许多人也叫它“永久代”-java jdk1.7常量池移到哪去了?

相关文章

网友评论

    本文标题:java基础知识回顾-03-标识符&java基本数据类型相关

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