八大基本数据类型

声明: 本文主要作为作者的复习笔记,由于作者水平有限,难免有错误和不准确之处,欢迎读者批评指正.

Java八大基本数据类型

八大基本数据类型(默认值: 整型是0; 浮点型是0.0; 字符型是’\u0000’; 布尔型是false)

  1. 数值型: (1)整型: byte(1字节) < short(2字节) < int(4字节) < long(8字节) (2)浮点型: float(4字节) < double (8字节)
  2. 字符型: char(2字节)
  3. 布尔型: boolean

当进行网络编程或者IO编程时,基本操作单位都是byte.

双精度double保证小数点后12位之内的数字一定是准确的;若在某些精度要求特别严格的场景,更换使用BigDecimal类来存储小数.

数值型数据类型的最高位不存储具体数据(01),0表示正数,1表示负数.

八大基本数据类型对应的包装类(引用类型)

包装类: 在Java中一切皆对象,认为一切事物都可以使用类来进行描述,八大基本数据类型不属于类;因此在Java中,八大基本数据类型都有对应的类进行包装,这种类称之为包装类.

  1. 数值型: Byte Short Integer Long
  2. 浮点型: Float Double
  3. 字符型: Character
  4. 布尔型: Boolean

String是Java的字符串类型,不是基本类型,是引用类型,是字符串的类;

变量

定义之后,数值可以改变,称之为变量;能变的只有数值内容,数据类型无法改变!
在Java任意的方法内部声明的变量都属于局部变量,局部变量没有默认值,当方法调用结束,方法中的所有局部变量都会被销毁,内存释放.(局部变量必须在使用前赋值)
类中定义的变量存在默认值,默认值就是不同数据类型对应的值.

常量

定义之后,数值无法改变,称之为常量;
字面量: 直接写出来的数值就称之为字面量,字面量也存在数据类型,字面量属于常量.

类型转换与类型提升

小类型转换为大类型自动转换,大类型转换为小类型需要强制类型转换,有精度丢失问题.

关于int,byte,char之间的转换问题

  1. 当把整型字面量赋值给byte变量时,若在byte保存范围之内直接赋值(byte a = 127);若超出了byte的保存范围,必须进行强转,有精度丢失问题(byte b = (byte) 128).
  2. byte赋值时,若是整型字面量,在byte范围内的可以直接赋值;若是byte变量(存储实际上是int),无论变量值是多少,都需要强转.

类型提升: 当不同数据进行运算时,自动会将小类型提升为大类型然后参与运算.

byte,short,char这三个数据类型在存储时仍然保留其类型,当这三个类型参与运算时,因为CPU都是以4字节为基础进行读写内存的,因此这三个类型参与运算时会统一提升为int类型然后参与运算.
例:
byte a = 10; //a变量存储在内存中还是byte类型;
byte b = a; //正确,不涉及运算,都是简单的读写操作,a和b都是byte类型存储的;
byte c = (byte) (a+b); //涉及到变量间运算,a和b都会先提升为int之后参与运算;c在得到结果之后仍然以byte类型存储在内存中.

对于基本类型来说,所有类型之间都可以进行转换();
能相互转换的数据类型之间才能强转或者自动提升;
boolean与任何类型毫无关系,无法强转也无法提升.

拓展

  1. Java语言字符采用Unicode编码,16位编码(2字节),支持地球上所有语言;
  2. JDK包含了JRE,JRE包含了JVM;
  3. JDK: Java程序开发工具包,除了必备的Java运行时环境(JRE)之外,还有开发Java程序所需要的一些工具,javac(编译器),jconsole,jmap(JVM性能检测工具);
  4. JVM: Java语言跨平台的关键,java.exe运行其实就是启动JVM,具体解释执行Java程序的(解释的就是编译后的class文件) - 解释器,一行行翻译执行,边解释class字节码文件边执行;
  5. Java半编译半解释性语言,先使用javac将*.java源文件编译为与具体操作系统无关的字节码文件*.class(给JVM来解释执行);解释阶段,运行具体操作系统上的JVM来将class文件解释为具体平台上的机器码并执行;
  6. 标识符: 只能有数字,字母,下划线组成,$合法但不推荐,数字不能开头;
  7. 驼峰命名法: (1)类的名称: 大驼峰,所有单词的首字母大写class Test,源文件名称和主类名称保持一致;(2)变量和方法的名称: 小驼峰,从第二个单词开始首字母大写, 例如int myAge = 20;
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值