1、标识符:JAVA里面我们可以为之命名的就是标识符,如变量、方法、类等。
但是标识符只能包含字母、数字、下划线(_)和美元符号($),并且只能以字母、下划线和美元符号开头不能以数字开头。
2、变量:在JAVA中存储数据的最小单元。实质上就是一小块内存。
计算机中存储数据的最小单元是位(bit)。
8bit = 1byte(字节)
1024byte = 1KB
一个英文字符占一个字节;
一个中文字符占两个字节;
内存和硬盘的区别:
内存临时保存数据,硬盘长期的保存数据。
程序运行的本质:就是开辟了一小块内存;程序是运行在内存中的。
由于在计算机中寻找一个变量只能通过内存地址或者是硬盘上的地址来寻找,但是内存地址、硬盘上的地址不便于记忆,于是就为地址命名,这就是变量名。
变量必须先声明再赋值。使用时,可以声明变量的同时进行初始化也可以先声明后赋值。
3、常量:不能变化量,即内存中保存的内容不能发生变化。
语法:final 数据类型 常量名 = 值; //常量名一般使用大写字符
4、变量的分类:
1)、从位置上分:
成员变量(在类中方法外定义的变量)
局部变量(在方法中定义的变量)
2)、从数据类型上分:
基本数据类型:4类8种
引用数据类型:除了基本数据类型之外的。
5、数据类型:用来规定变量只能存放什么样的数据。
1)、布尔类型——boolean(表示真与假,逻辑运算符)(1字节)值只有true和false
2)、字符类型——char(表示一个字符)在JAVA中字符类型占两个字节,而C语言中只占1个字节。本质上char就是整数。
3)、整数类型——byte(1字节)short(2字节)int(4字节)—默认long(8字节)
4)、浮点数类型——float(4字节)double(8字节)
一个字节可以表示256个整数,两个字节65536个。?
一个字节可以表示的最大正整数为127,最小负整数为-128。?
6、数据类型的转换
1)、小的自动转换成大的
byte/short/char—int—long—float—double
2)、boolean类型不能与其他类型之间转换。
3)、大的转换小的必须加强制转换。但需注意内存溢出问题。
4)、byte/short/char之间不能进行转换,如果参加了运算,先转换成int类型,再进行运算。
7、多种数据类型混合运算的时候,先把所有的数据转换成参加运算中最大的类型,再进行运算。
8、&&(||)比&(|)效率更高。当判断出第一个表达式为假(真)的时候,&&(||)可以直接判断结果,后一表达式就不再执行了。
9、三目表达式——X?Y:Z
当X为真时,结果为Y;反之,为Z。
10、自增自减运算符
当运算符放在变量的前面的时候,先自加(自减)在运算;若放在变量的后面,先运算再自加(自减)。
11、注释:?
三种类型:
文档注释:/**开头 多行注释:/*开头 单行注释://
结尾*/ 结尾*/
通过 javadoc 命令从文档注释中提取内容,生成程序的 API 帮助文档。
javadoc -d doc 类名.java
PS:使用文档注释时还可以使用 javadoc 标记,生成更详细的文档信息:
@author 标明开发该类模块的作者
@version 标明该类模块的版本
@see 参考转向,也就是相关主题
@param 对方法中某参数的说明
@return 对方法返回值的说明
@exception 对方法可能抛出的异常进行说明
- 基础数据类型之四类八种
除了 这四类八种基础类型,剩下的java 一切类型都是引用类型。
第一类:整型 byte short int long
第二类:浮点型 float double
第三类:逻辑型 boolean(它只有两个值可取true false)
第四类:字符型 char
Byte 1字节,short 2字节,int 4字节,long 8字节
一个字节占8位(1byte=8bits),那么这些类型能表示的最大数是多少呢?各位听众,看仔细咯:
? 以short类型为例,2个字节,16位,用二进制表示最大数就是 1111 1111 1111 1111,理论上来说最大数应该是2^16 - 1,但实际上由于整型是可以为负数的,那么他就是有符号位的,那没办法高位的1就是表示符号位了(最高位为1表示负数,0表示正数),所以正整数的最大数为 0111 1111 1111 1111,即为32627(2^15 - 1);负数的最大数1111 1111 1111 1111,反码(正数没有反码,负数的反码符号位保留,其他位取反)为:1000 0000 0000 0000,补码(补码为反码+1)为:1000 0000 0000 0001,即为-32628(-2^15)。
类型 取值范围
byte -2^7 ~ 2^7 - 1
short -2^15 ~ 2^15 - 1
int -2^31 ~ 2^31 - 1
long -2^63 ~ 2^63 -1
java中默认的整数类型是int类型,如果要定义为float型,则要在数值后加上l或L;
默认的浮点型也是双精度浮点,如果要定义为float型,则要在数值后加上f或F。
把一个能表示更大范围或者更高精度的类型,转换为一个范围更小或者精度更低的类型时,就需要使用强制类型转换。
注意:未带有字符后缀标识的整数默认为int类型;未带有字符后缀标识的浮点数默认为double类型。
!!!!!!String 是引用类型 不属于四类八种基础数据类型中的一个,切记切记 往往面试的时候 面试官会问道这个问题而且频率很高。
在计算过程中三个比较特殊的情况:正无穷大,负无穷大,NaN,这三个值都有常量与之对应
另外,对NaN值的判断不能使用“==”来判断,Java中提供了专门的方法进行判断,Double.isNaN();