常量
常量就是一个固定不变的或是一个已知的具体的数据,例如:1、2、false等
常量分为整数、小数、布尔、字符串、字符五种类型,都是可以直接打印输出的
变量
就是计算机分配的一块存储地址,一块存储空间,通俗理解变量就是一个容器用来存东西的
(3) 变量的分类
a) 成员变量
1) 成员变量声明在类的结构体中,若没有赋值,则系统会根据数据类型分配默认值
2) 若是方法中需要时,可以直接使用成员变量。若方法有为静态方法时,成员变量需要有static修饰。
b) 局部变量
1) 直接声明在方法体的内部,必须初始化赋值,不存在默认值。
2) 若是局部变量和成员变量名字相同,方法体使用时优先使用体内局部变量(就近原则)
(4) 变量的作用域
a)作用域详解
1) 成员变量:在整个类中都可以使用
2) 局部变量:在局部的大括号中可以使用,外部或者不同区域的大括号中不可以使用
3) 使用的变量,必须声明在使用之前。
b)局部变量与成员变量区别
1) 量使用之前必须得有值
2) 成员变量系统会分配默认值(默认值意义不大)
3) 作用域范围不同
4) 成员变量的值,随着对象的存在而一直存在
5) 局部变量为了辅助方法完成功能而临时存在,方法使用完毕,局部变量生命周期结束
运算符
(1) 算数运算符
运算符符号:+ - * / %
例如:
0.0/0.0—>为NaN,任何的NaN都不等于自己
(2) 自增自减
1) 符号:++ –
2) 增自减只能够用于变量,不能用于常量
3) 增自减运算的优先级 比 算术运算符 高
4) a++ 和 ++a 的区别
a) 把整个表达式看成是一个整体。如果变量名在前面,那么整个表达式的值就是原来值不变。
b) 如果变量名在后面,那么整个表达式的值就是原来的值加1.
(3) 赋值运算符(掌握)
1) 符号:= += -= *= /= %=
2) 从右到左,把符号右边的值赋值到左边的变量中
3) 把五个分别看成是一个整体: 例如 += 看成是一个符号,不要看成两个;
int i=3;
i2;// 表示把2 累加到变量 i 中
i -=1;
i *=3;
i /=3;
i%=3;
特例:
short s = 3;
s += 2;//存在隐式转换
short s = 3;
s = s+2;//结果值是int,int不能自动转换为short
(4) 比较运算符
1) 比较运算符:(二元运算符)只能有两个参数参与运算,只能在相同类型之间进行比较,比较的结果为boolean类型
2) 符号: >= <= == != instanceof(比较类型只能用于引用数据类型)
(5) 逻辑运算符
1) 逻辑运算符:
& | && || ^ !
2) 逻辑运算符用于组合判断;如:10<20<30
3) 若两边得到的值是boolean类型就是逻辑运算
4) 逻辑运算符两边所得的值只能是Boolean类型
5) & 并且,若两边都是true则为true
6) | 或者,两边有一个为true则为true
7) && 并且,两边都为true则为true,若左边为false则直接为false不会计算右边(常用)
8) || 或者,其中一个为true则为true,若左边为true则不会计算右边,若左边为false则会计算右边
9) ^ 异或,同为true或同为false,结果都为false,一个true和一个false结果为true
10) ! 非,表示与当前条件取反
(6) 位运算符
1) 位运算就是:进制位的运算,二进制数据的运算
2) & | ^ ~ << >>>>>
3) 位运算就是 二进制的位进行运算。
示例:比如计算 125+176 ,从数学的角度是怎么计算的?
同理,位运算也类似,比如 3&4
4) 可以把1看成是true,把0看成是false
a) & :与 位运算,两边为1,结果为1
b) | :或 位运算,有一个为1,结果为1
c) ^ : 异或,两边不一样,就为1,否则为0
d) ~ : 取反,1变成0 ,0 变成1 ~(-5)结果4
e) << : 向左位移动,例如1<<3 结果8
f) >>: 向右位移动,例如8>>2
g) >>>: 无符号向右移动
(7) 三目运算符
1) 三目运算符(三元运算符,有三个参数参与运算):
2) A ? B : C(?和: 为固定写法)
3) A:为Boolean类型的值或者是一个表达式
4) B:值1
5) C:值2
6) 三目运算符根据A的结果来判断值为B或C
7) 若A=true;则值为B,反之为C(B和C值的类型一般相同,也可以不同)
注意: 不要受 ? 和 : 的干扰,它们只是一个固定语法格式而已