运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。
运算符的分类:
1、算数运算符
2、赋值运算符
3、比较运算符(关系运算符)
4、逻辑运算符
5、位运算符
6、三元运算符
一、算数运算符
1、除法: /
整数除和小数除有区别:
整数之间做除法,只保留整数部分而舍弃小数部分;
除数或者被除数其中一个为浮点型时,得到的结果保留整数和小数部分。
2、取模: %
取模运算:舍弃整数部分,保留小数部分
结果:可能为正也可能为负,正负取决于被模数的正负
开发中,经常使用 % 运算来判断能否被除尽的情况
3、 (- -)
(前) :先自增1,后运算
(后) :先运算,再自增1
运算不改变本身变量的数据类型
练习:
随意给出一个整数,打印出它的个位数、十位数和百位数的值
例如:
数字153的情况如下:
个位数:3
十位数:5
百位数:1
class AriTest{
public static vod main(string[] args){
int num = 153;
int bai = num / 100;
int shi = num % 100 /10;
int ge = num % 10;
System.out.println(bai);
System.out.println(shi);
System.out.println(ge);
}
}
二、赋值运算符
使用扩展赋值运算符时,不会改变变量本身的数据类型
思考题:
思考1:①编译不通过,2是int 型数据变量,转化为short型精度降低
②编译通过,不改变变量的数据类型
思考2:第一个输出0,i =0.1也就是i = (int)(i*0.1),结果为0
第二个输出1
思考3:m = 3,n = m ,也就是 n = n * m ,此时 m 为2,m为3
n = 6
思考4:32
三、比较运算符
比较运算符的结果都是boolean型,要么是true要么是false
四、逻辑运算符
运算结果都是boolean型,要么是true要么是false
& 和 && 的区别:
单&时,左边无论真假,右边都进行运算;
双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
“|”和“||”的区别同理,||表示:当左边为真,右边不参与运算。
异或( ^ )与或( | )的不同之处是:当左右都为true时,结果为false
练习:
一、2、2
二、2、1
三、7、2
四、7、1
五、位运算符(能看懂即可,后期开发用的少)
在一定范围内,每向左移动一位,相当于 * 2
在一定范围内,每向右移动一位,相当于 / 2
六、三元运算符
表达式1和表达式2的数据类型要求是一致的。
凡是可以使用三元运算符的地方,都可以改写为 if - else ,反之,不成立
如果程序既可以使用三元运算符又可以使用 if - else结构,优先考虑使用三元运算符,原因:简洁、执行效率高
,