今日的学习内容有:常量、表达式
常量
常量就是指在程序执行期间其值不能发生变化的数据,常量是固定的。如整型常量123【字面量】,实型常量1.23,字符常量’A’,布尔常量true等
表达式
表达式就是运算符、操作数以及方法调用的序列,用来说明某个计算过程并返回计算结果. 按照运算符功能来分,基本的运算符分包括算术运算符、关系运算符、位运算符、条件运算符等
算术运算符 +、-、*、/、%、++、–
关系运算符 >、<、>=、<=、==、!=
逻辑运算符 &&、 ||、 !。注意:逻辑计算支持短路操作
位运算符 &、|、^、~、<< 、 >>、>>>。注意:为运算符不支持短路操作
赋值运算符 =,+=,―=,*=,/=
三目条件运算符(?:)规则是完全一致的,使用的形式是: x ? y:z;
算术运算符 +、-、*、/、%、++、–
- /整除:参与运算的双方都是整数,这里的小数部分是直接抛弃,没有进位一说。 10/3=3而不是3.33333
10./3=3.333…这里由于10.是浮点数,则3会自动转换为大类型并参与计算,所以最终是 10.0/3.0的计算结果
计算次序为先乘除后加减,如果优先级一致,则自动从左向右进行计算 10+2*5=20,如果有括号则优先计算括号内的。
- %求余(取模) 10%3=1实际就是10除以3求余数
double k=10.12;
System.out.println(k%3); //参与计算的只有整数部分,符号不参与计算
//输出:1.1199999999999992
- ++和–是单目运算符
i++等价于i=i+1,i–等价于i=i-1,注意类型问题
以++为例写法有2个:i++或者++i
short kk=1;
kk++; //自动类型转换
kk=kk+1; //报错,因为数据类型
i++是先获取i的值,然后再对i加1
int age=100;
System.out.println(age++);输出为100
System.out.println(age); 输出为101,因为上面进行加1
++i是先对i加1,然后再获取i的值
int age=100;
System.out.println(++age);输出101,先加1然后获取值
System.out.println(age); 输出101
i- -是先获取i的值,然后再对i减1
int age=100;
System.out.println(age--);输出为100
System.out.println(age); 输出为99,因为上面进行减1
- -i是先对i减1,然后再获取i的值
int age=100;
System.out.println(--age);输出99,先减1然后获取值
System.out.println(age); 输出99