一、常量
常量就是一个固定不变的量(或者值)已知的值。比如整数常量:23,122;小数常量:3.14;字符常量:'a';布尔常量:true,false;字符串常量:"你好"。这些都是可以直接打印出来的。
二、变量
官方概念:在计算机内存区域分配了一个内存地址,计算机中的一个存储空间。通俗一点来说变量可以看成是一个能装东西的容器。变量可分为成员变量和局部变量。
1.语法:先定义在赋值:数据类型 变量名;变量名=值;
或者定义的同时赋值:数据类型 变量名=值;
2.注意事项和特点:此处的数据类型可以是Java中支持的所有的数据类型;赋值使用的 = 号,从右往左赋值;变量一旦定义好了,可以反复使用;变量只可以存一次值,下次存值会覆盖上一次的值。
3.成员变量——直接声明在类结构体中的变量;可以放在方法的上面,也可以放在下面。如果成员变量声明时没有赋值,则系统会分配一个默认值。(int=0,float=0.0等等)
4.局部变量——直接声明在方法内部,比如main方法的形参或者大括号中;使用之前必须初始化值,不存在默认值。
5.作用域——成员变量:在整个类中都可以使用;
局部变量:在声明的大括号中可以使用,外部或者不同区域的大括号中不可以使用。
三、表达式
其实就是由一系列的常量,变量,运算符,括号()组成的一个算式,按照一定的运算规则计算出结果值,如1+2,4*(3+7)。结果值可以直接使用,也可以用过声明一个存起来。
四、转义字符
Java规定特殊符号具有特殊意义,实现特殊目的的符号。比如:
1.r 表示接受键盘输入,相当于按下了回车键;
2.n 表示换行;
3.t 表示相当于Table键制表符,;
4. b表示退格键,相当于Back Space键;
5.' 表示单引号;
6.'' 表示双引号;
7. 表示一个斜杠。
五、数据类型转换
数据类型转换其实就是为了节省空间,非为自动类型转换(小转大)和强制类型转换(大转小)。数据类型的转换可能会引起精度上的损失。
1.自动转换
(1).默认转换(包括byte,short,char,int):每个数据类型都有最大值和最小值(如上图所示),但是java默认转换为int,前提不能超过int的最大值。
(2).long float double只要两个操作数中有一个是上面类型的,另一个就会被转换成相应类型,并且结果也是该类型。其实可以理解为用最大的数据类型去接收值。注意long类型和float类型是由于系统的默认为int和double,long需要在值的后面加上l或L,float加f或F。
2.强制转换
语法:数据类型 变量名=(数据类型)值;
特别地,有char类型有所对应的ASCII表,所以可以当int类型来使用。
六、运算符
1.算术运算符+ - * / %(取模/取余比如7%2=1;)按照数学的运算法则进行运算。
2.自增(自减)++ -- 只能用于变量且优先级高于算术运算符。
当变量自身使用++时,变量的值+1。
自增运算符表达式结果赋值给其他变量时:
如果变量名在前面,那么整个表达式的值就是原来值不变。
如果变量名在后面,那么整个表达式的值就是原来的值加1。
注意:要分清是单独的自增自减还是表达式的自增自减。
3.赋值运算符 = += -= *= /= %=
赋值运算的顺序是从右到左,符号右边的值赋值到左边的变量中。
= 直接赋值
+= 累加以后再赋值
-= 减法以后再赋值
*= 乘法以后再赋值
/= 除法以后再赋值
%= 取余以后再赋值
4.比较运算符 == != > < >= <=
比较运算符的运算结果为布尔类型级true or false
5.逻辑运算符& | && || ^ !
&:当两边的表达式都为true的时候 结果为true
&&:当两边的表达式都为true的时候 结果为true
区别:&如果前面不论为true还是false后面都会执行
&&如果前面为false后面就不会执行;如果为true后面要执行
| 或 只要有一个为true结果都为true
|| 双或 只要有一个为true结果都为true
区别:双或的时候当第一个表达式为true的时候;后面的代码不会执行
^异或 当一边为true 一边为false的时候返回的结果为true否则为false,就是两边结果不一样
! 非 取反
6.三目运算符
语法:X?Y:Z;
X:表示一个布尔类型的值或表达式
Y,Z:为任意的值或者表达式 ,最好是同类型
当X值为true的时候整个三目运算表达式的值为Y,为false的时候整个三目运算表达式的值为Z