JavaSE笔记之基本数据类型

7 篇文章 1 订阅

前言

该笔记主要是对《Java核心技术卷1 基础知识》一书的总结,其中部分知识的理解附加了我对其他博主的优秀解释博文的总结以及博文链接。

其中❓表示我所不理解或不确认正确的内容,📄表示对内容的注释,🔕表示特别容易出现问题。

非常希望和感谢有优秀的同学能帮忙回答补充❓中的问题。

基本数据类型

Java中共有8中基本数据类型:byte、short、int、long、float、double、char、boolean

整型

类型存储需求取值范围具体范围
int4字节(-231) ~ (231 - 1)-2 147 483 648 ~ 2 147 483 647 (约21亿)
long8字节(-263) ~ (263 - 1)-9 223 372 036 854 775 B08 ~ 9 223 372 036 854 775 807
short2字节(-215) ~ (215 - 1)-32 768 ~ 32 767(约3万)
byte1字节(-27) ~ (27 - 1)-128 ~ 127

📄:取值范围之所以少了一位,是因为最高位用来表示正负号了。一个字节等于8位

后缀

  • 长整型:L/l

前缀

  • 二进制数值:0B/0b Java7
  • 八进制数值:0
  • 十六进制:0X/0x

拓展

数字字面值下划线:_ Java7

例:1_000_000 或 0b1111_0100_0010_0100_0000 ,等价于一百万(1000000)

Java编译器编译时会自动将下划线去除

浮点型

类型存储需求取值范围
float4字节
double8字节

❓:我对于浮点型不是很理解,更多知识可以参考:[Java]浮点数float、double取值范围与精度

📄:对于银行类的程序,关于金钱数额的计算不使用浮点型,而是使用BigDecimal

后缀

float数值:F/f 例:2.66f

double数值:D/d (可以不写,无后缀浮点数默认为double类型) 例:2.66 或 2.66d

字符型

类型存储需求
char2字节

char类型字面值使用单引号’'包含,例如:'a’表示字符a,而"a"表示包含一个字符a的字符串

char类型可以使用十六进制表示,范围:\u0000 ~ \uffff

🔕:在Java代码注释中慎用\u 等转义序列,会触发一些问题,但开心的时目前的开发工具大都对其有报错提示。

🔕:强烈建议避免在程序中使用char类型,建议转换为字符串进行处理。因为一个char字符并不一定等于一个Unicode的字符,有些Unicode的字符需要使用两个char字符。更多详情参考:为啥在java中不要使用char类型

常见转义字符
转义序列用途Unicode值
\b退格(类似于键盘上的Backspace)\u0008
\t制表(类似于键盘上的Tab)\u0009
\n换行\u000a
\r回车(类似于键盘上的Enter)\u000d
\"双引号\u0022
\’单引号\u0027
\\反斜杠\u005c

❓:我对\b退格的操作无法实现,使用cmd命令运行也无法出现效果。

📄:\t制表符以8的倍数补充空格,例如123456\tcc的效果为:123456 cc(中间补2个空格满8位),123456789\tcc的效果:123456789 cc(中间补7个空格满8*2=16位)。更多参考:java-制表符\t的使用

📄:\r、\n 的区别,主要跟系统有关,Mac使用\r,Unix使用\n,Windows使用\r\n。其中\n\r为两次换行效果,其他为一次换行效果。更多参考:java中\r,\n,\r\n,\n\r的区别

布尔类型

类型存储需求取值范围
boolean1字节true/false

📄:在Java中布尔类型值只有true和false,且不能和整型进行转换。注意与有些编程语言中可以使用0和非0表达false和true进行区别。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值