数据类型
概述
Java是强类型语言,必须为每一个变量声明一个类型。
Java中共有八种基本类型,四种整型,两种浮点,一种字符类型,一种真值类型。
Big number对象用于表示任意精度的算数包。
整型
- Java中没有无符号整型,所有整型都包含正数和负数
- 与C不同,整型的范围与机器无关
- int:4字节
- short:2字节
- long:8字节
- byte:1字节
- 十六进制:0X、八进制:0、二进制:0b或0B
- 数字中加入下划线可使其更易读,编译器会忽略这些下划线
浮点
-
float:4字节,后缀F或f
-
double:8字节,后缀D或d
-
三个特殊的浮点数
-
正无穷大:Double.POSITIVE_INFINITY
-
负无穷大:Double.NEGATIVE_INFINITY
-
NaN(非数字):Double.NaN
-
Double.isNaN()//判断是否为以上的数值
-
char类型
-
char:1字节
-
注意,单引号包围代表字符,双引号代表字符串
-
转义序列
-
转义序列可以出现在字符或是字符串之外
例如,以下的代码可通过编译(idea中会报错)
public static void main(String\u005B\u005D args) { System.out.println("a\u0022+\u0022b"); }
其编译成的字节码使用idea反编译之后为下面的代码
public static void main(String[] args) { System.out.println("ab"); }
可以看到编译之后转义序列已经被替换成了对应的字符。
Unicode和char类型
参照博客https://blog.csdn.net/hefrankeleyn/article/details/86147558
系列文章https://www.cnblogs.com/benbenalin/p/6935162.html
https://blog.csdn.net/ldanduo/article/details/8203532/
这部分我稍微看了几篇感觉非常复杂,不是我学习的重点,略过不表
boolean类型
同C不同,Java中整型和布尔不能相互转换(0不能代表false)