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。

五、总结

本文主要介绍了比较运算符和逻辑运算符用作条件判断,三目运算符,原码、反码、补码,运算符的优先级,详细的介绍逻辑运算和比较算符一般是用作条件的判断,通过简单的案例解释逻辑运算符的短路现象。

三目运算符的用法,介绍了它的格式和规则,使大家能够理解这个三目运算符。原码、反码、补码通过例子来解释这三种使用。运算符的优先级数值越小,优先级越高。通过这些的学习,帮助大家能够理解这些用法。

责任编辑:武晓燕 来源: Java进阶学习交流
相关推荐

2023-04-03 10:04:36

Java变量类型

2020-10-29 13:40:52

Java基础

2020-11-16 10:19:33

Java

2022-03-28 09:31:58

for循环语句

2020-11-13 07:22:46

Java基础While

2022-01-27 09:35:45

whiledo-while循环Java基础

2009-11-17 09:13:21

PHP运算符

2020-10-22 13:33:48

Java基础入门

2023-03-13 10:01:27

Java注释

2020-11-19 10:36:16

Java基础方法

2020-11-09 10:19:05

Java

2022-03-10 09:33:21

Java数组初始化

2020-10-21 08:25:03

Java基础入门

2022-01-21 11:26:19

Java结构语句if语句

2011-07-04 10:47:02

java

2016-10-14 14:04:34

JAVA语法main

2023-03-06 10:03:05

Java运行机制

2013-08-15 16:48:39

.Net基础

2009-07-09 17:40:26

Java运算符

2021-01-28 08:34:30

Java对象定义
点赞
收藏

51CTO技术栈公众号