关键字
在Java语言中被赋予特殊含义的单词
比如:int、goto、false
标识符
对类、方法、变量命名使用的序列成为标识符。
组成:字母,数字,”$”,”_”
注意: 1.首位不能是数字
2.不能使用关键字
3.严格区分大小写
4.不能含有空格
5.可以使用中文,但是不推荐使用
合格标识符:length,hello,ForYou,年龄
违法标识符:`9a,#to,he llo
命名规范
对标识符命名的一种约定俗称的标准
- 项目名:任意名称都可以,尽量见名知意。
- 方法名:首字母小写,如果含有第二个单词首字母大写,尽量要做到见名知意。比如:
add,countMoney
- 变量名:首字母小写,如果含有第二个单词首字母大写。比如:
age,studentNumble
- 常量名:全部使用大写字母,如果多个单词,中间用”_”连接。比如:
MAX_VALUES,MIN_VALUES
数据类型
数据类型分类
基本数据类型
- 整型:byte(-128~127),short,int(默认),long
注意:定义long型的,注意在赋值数字末尾加上”L”或者”l”
比如:long lg = 1233L;
- 浮点型(带小数点的数值):float,double(默认)
注意:定义float型的,在末尾可以加上”F”或者”f” - 字符型:char(Unicode字符集)Unicode 1 ~ Unicode 2^15 -1
注意:1.只能表示一个字符(万国码)
2.所以char类型,可以这样声明。char a = '\uXXXX';
3.可以与0~2^15 -1的数字之间相互转换 - 布尔型:boolean
布尔值只有两个值:false,true
类型转换(类型之间的做运算)
byte,short,int,long,float,double,char
- 自动类型转换(从小到大)
当容量小的数据类型与容量大的数据类型做运算时,容量小的自动转为容量大的数据类型。
byte,short,char===>int===>long===>float===>double
注意:char,byte,short之间做运算时,默认结果为int类型。
- 强制类型转换(从大到小)
从容量大的数据类型转换到容量小的数据类型。
注意问题:精度损失问题,从容量大的数据类型转换到容量小的数据类型,直接砍掉前面位置的里面的信息,只保留后面位置里面的信息。
比如:short i = 321; byte b = (byte)i;
b的值最后是什么了?
short是两个字节,那么321转换成二进制为0000 0001 0100 0001
byte是一个字节,那么它就只取short最后八位,0100 0001,转换为十进制就是65
- 字符串String之间的运算
字符串与基本数据类型之间用“+”连接,结果仍是字符串。
进制之间的转换
首先这块有三个概念原码,反码,补码。
计算机底层存储的都是以补码形式的。
存储的首位是符号位。
对于正数:原码,反码,补码,三码合一
对于负数:源码是它的绝对值的数字将符号位换成1,反码是将个各位取反(符号位除外),补码是反码+1;
二进制、八进制、十进制、十六进制之间的转换
二转十:乘以2的幂数
十转二:除以2取余
二转八:每三位转一位
八转二:每一位拆三位
二转十六:每四位转一位
十六转二:每一位拆四位
运算符
- 算数运算符:”+”,”-“,”*”,”/”,”%”,”++”,”–”
注意:前++:先自增1,后运算。后++:先运算,后自增1 - 关系运算符:”<”,”<=”,”>”,”>=”,”==”,”!=”
注意:返回值为boolean类型 - 逻辑运算符:”&”逻辑与,”&&”短路与,”|”逻辑或,”||”短路或,”!”逻辑非,”^”逻辑异或(同为假,异为真)
“&”与”&&”的区别:”&&”采用的是短路规则,先对第一个操作数进行判断,如果根据第一个操作数可以推出结果,那么将不再对第二个操作数进行计算。 - 赋值运算符:”=”,”+=”,”-+”,”*=”,”/=”,”%=”
注意:”+=”的操作说明。a +=1; 就相当于 a = a+1; - 位运算符:空白
- 三元运算符:(条件)?表达式1:表达式2
条件为true,执行表达式1。如果是false,执行表达式2.
要求:表达式1和表达式2为同种数据类型
条件表达式最后结果是布尔型