java核心技术笔记1
考试周了,忙着复习(预习)高数和大物,忽然发现后面还有个java课设要做。。而我一学期java课就去了1节。。
只好抓紧时间速成一波java了
基础数据类型
整型
c和c++中并没有明确规定整型具体时多少,在不同的机器上整型的范围可能是不同的。
而java整型的范围是和运行java代码的机器无关的,整型乃至各种数据类型的取值范围都是固定的
浮点类型
有三个特殊的浮点数值
- 正无穷大(Double.POSITIVE_INFINITY)
- 负无穷大(Double.NEGATIVE_INFINITY)
- NaN(不是一个数字)(Double.NaN)
检测一个特定值是否等于Double.NaN
1 | if(Double.isNaN(x)) |
char类型
java中char类型都是16位的,使用unicode编码
关于unicode编码和各种编码的区别,推荐阅读
https://www.zhihu.com/question/20209966/answer/676684648?utm_source=com.yinxiang&utm_medium=social&utm_oi=581602271008264192
boolean类型
java中false并不等于0,true不相当于非0值,所以像
1 | if(x=0)//oops...mean x==0 |
这样的测试是不能通过编译的,因为x=0不能转化为布尔值
常量
1 | final double PI = 3.14; |
字符串
java的字符串是标准java类库中的一个预定义类,每个双引号括起来的字符串都是String类的一个实例
在java中,String类对象被称为不可变字符串,字符串”hello”永远包含字符h,e,l,l,o的代码单元序列,而不能修改其中的任何一个字符。当然,可以修改字符串变量使其引用另外一个字符串。
不能使用==比较两个字符串是否相等。该运算符只能确定两个字符串是否放置到在同一个位置上。这点和c++的string类有很大不同
空串””是长度为0的字符串,null则是表示目前没有任何对象与该变量关联
数组
1.基础的用法
1 | /*两种声明方式皆可*/ |
2.多维数组
1 | int [][] magicSquare = |
3.不规则数组
1 | final int NMAX = 20; |