Java基础入门篇(六)——Java运算符
后台回复“ Java ”即可获赠Java学习资料
今
日
鸡
汤
借问汉宫谁得似,可怜飞燕倚新妆。前面几篇文章用Java带大家一起了解了几个游戏小项目,感兴趣的小伙伴可以点击文章观摩下,手把手教你用Java打造一款简单故事书(上篇)、手把手教你用Java打造一款简单故事书(下篇)、手把手教你用Java打造一款简单考试系统(上篇)、手把手教你用Java打造一款简单考试系统(下篇)接下来的几篇文章是关于Java基础的,希望对大家的学习有帮助,欢迎大家在讨论区留言。
历史Java基础文章:
Java基础入门篇(四)——Java变量数据类型和基本数据类型
一、比较运算符和逻辑运算符用作条件判断
1.比较运算符用于判断两个数据大小,例如大于、等于、小于、不等于。比较的结果是一个布尔值(true和false)。
2.逻辑运算符用于布尔型数据进行操作,结果也是一个布尔值(true和false)。在逻辑上“&&(AND)”、“||(OR)”、“!(NOT)”。
3.当使用逻辑运算符,会出现一个“短路”现象,例如(1>2)&&(1<3)时,如果能够确定左边表达式1>2运行结果为false,则系统会默认没必要去执行右边的1<3的表达式。同理,在(1<2)||(1<3)时,如果能够确定左边表达式1<2运行结果为true,则系统默认没有必要去执行右边1<3的表达式。
4.比较运算符和逻辑运算符具体示例如下所示:
int i=3,j=2,k=4;
System.out.println(i>j || ++i>=4);
System.out.println("i=" + i);
System.out.println(i<j || ++i>=4);
System.out.println("i=" + i);
运行结果:
true
i=3
true
i=4
这个结果是怎么得出的呢?
首先看定义了3个int类型的变量i=3,j=2,k=4。然后看第一条输出语句i>j表达式相当于3>2的结果为true,因为是||只要满足左边表达式或右边表达式其中一个就可以,结果为true。第二条输出语句是i=3,因为定义int类型的变量i=3。第三条输出语句i<j表达式相当于3<2是不成立的结果为false,因为是||再看右边的表达式++i>=4,i自增后的值为4,所以表达式结果为true。
二、三目运算符
1.三目运算符:用来完成简单的选择逻辑,也就是根据条件判断,从两个选择中选择一种执行。
2.三目运算符的格式
变量=(条件表达式)?表达式1:表达式2;
3.三目运算符的运算规则
首先是判断条件表达式,结果是一个布尔值。如果结果为true,运算结果为表达式1,反之,如果结果为false,运算结果为表达式2。 4.例如求两个数x、y中的最大值,如果用if...else来实现具体代码如下所示:
int x=0;
int y=2;
int max;
if(x>y){
max=x;
}else{
max=y;
}
System.out.print("x、y中的最大值为"+max);
输出结果为x、y中的最大值为2。我们可以用三目运算符代替这些代码,更加方便。
int max=x>y?x:y;
三、原码、反码、补码
原码:在java中数值的绝对值的二进制数,对于整数而言,该最高位的0表示正数,最高位的1表示负数。
用简单一个案例int a1=5,a2=-5:
5的原码:00000000 00000000 00000000 00000101
-5的原码:10000000 00000000 00000000 00000101
从上面这个案例,对于原码而言,绝对值相等的正数和负数只是符号位不同,原码是整数在不进行操作,是以二进制形式显示。
反码:反码正数它的反码就是它的原码,也就是说正数反码和原码相同。例如:
5的原码:00000000 00000000 00000000 00000101
5的反码:00000000 00000000 00000000 00000101
对于负数,负数的反码在原码基础上,它的符号位是不变的,数值是取反例如:
5的原码:00000000 00000000 00000000 00000101
-5的原码: 10000000 00000000 00000000 00000101
-5的反码:11111111 11111111 11111111 11111010
补码:对正数来说,正数的补码是它的原码,对负数来说,负数的补码在它这个负数的反码基础上进行加1
例如:
-5的反码:11111111 11111111 11111111 11111010
-5的补码:11111111 11111111 11111111 11111011
四、运算符的优先级
运算符的优先级数值越小,优先级越高。
例如:
int a=3;
int b=a+3*a;
System.out.print(b);
输出的结果是12,首先这个优*先级要高于+,先算3 *a得到结果是9,然再和a相加,得到的结果是12。
int a=3;
int b=(a+3)*a;
System.out.print(b);
输出的结果是18,首先()优先级是最高的,所以先算a+3得到结果6,然后再乘以3,最终的结果是18。
五、总结
本文主要介绍了比较运算符和逻辑运算符用作条件判断,三目运算符,原码、反码、补码,运算符的优先级,详细的介绍逻辑运算和比较算符一般是用作条件的判断,通过简单的案例解释逻辑运算符的短路现象。
三目运算符的用法,介绍了它的格式和规则,使大家能够理解这个三目运算符。原码、反码、补码通过例子来解释这三种使用。运算符的优先级数值越小,优先级越高。通过这些的学习,帮助大家能够理解这些用法。
------------------- End -------------------
往期精彩文章推荐:
欢迎大家点赞,留言,转发,转载,感谢大家的相伴与支持
想加入Python学习群请在后台回复【 入群 】
万水千山总是情,点个【 在看 】行不行