首页 > 编程知识 正文

java逻辑运算符算法,eclipse运算符优先级代码

时间:2023-05-04 03:41:36 阅读:152708 作者:4839

到了运算符这个东西后,请整理笔记以供下次参考。

运算符:运算符顾名思义是一种符号,它是连接一个以上的操作符,实现某种功能的运算。

目录

一.算术运算符

二.位运算符

三.逻辑运算符

四.关系算子

五.运算符优先级

根据需要点击目录可直接跳转。

一、算术运算符算术运算符用于数学表达式,主要实现一般加减乘除等算术运算。

在表的示例中,变量a的值为5,变量b的值为3,变量I的值为1。

其中,自增()和自减()-- )运算符有两种写法:前缀(++i,--i)和后缀(i++,i--)

http://www.Sina.com/http://www.Sina.com /新的源代码文件ArithmeticOperation.java :

publicclassarithmeticoperation { publicstaticvoidmain (string args [ ] (inta=5; int b=3; int c=3; int d=3; system.out.println(ab=) (ab ); system.out.println(a-b=) (a-b ) ); system.out.println(a*b=) (a*b ) ); system.out.println(a/b=() ) a/b ); system.out.println(a%b=) (a%b ); system.out.println('a='(a ) ); system.out.println('a='(a ) ); system.out.println(B--=) (B--); system.out.println('--b=' )--b ); system.out.println('c=' ) ); system.out.println('d=' ) ); }编译运行:

$ javacarithmeticoperation.Java $ javaarithmeticoperationab=8a-b=2a * b=15a/b=1a % b=2a=7b-=3- b

Java定义位运算符,并将其应用于整数类型(int )、长整型、短整型、字符和字节等类型。 在位运算时首先转换为二进制,逐位运算。

在表的示例中,变量a的值是60 (二进制: 00111100 ),变量b的值是13 )二进制: 00001101 :

新的源文件BitOperation.java :

publicclassbitoperation { publicstaticvoidmain (string args [ ] ) { int a=60;

int b = 13; System.out.println("a & b = " + (a & b)); System.out.println("a | b = " + (a | b)); System.out.println("a ^ b = " + (a ^ b)); System.out.println("~a = " + (~a)); System.out.println("a << 2 = " + (a << 2)); System.out.println("a >> 2 = " + (a >> 2)); System.out.println("a >>> 2 = " + (a >>> 2)); }}

编译运行:

$ javac BitOperation.java$ java BitOperationa & b = 12a | b = 61a ^ b = 49~a = -61a << 2 = 240a >> 2 = 15a >>> 2 = 15 三、逻辑运算符

逻辑运算符是通过运算符将操作数或等式进行逻辑判断的语句。

表格中的例子中,假设ckdmj变量 a 为真(true),变量 b 为假(false):

&& 与 || 是具有短路性质,当按优先级顺序计算到当前表达式时,表达式的结果可以确定整个表达式的结果时,便不会继续向后进行判断和计算,而直接返回结果。

例如:当使用 && 逻辑运算符时,在两个操作数都为 true 时,结果才为 true,但是当得到第一个操作为 false 时,其结果就必定是 false,这时候就不会再判断第二个操作了。在计算表达式 (a & b) && (a | b) 时,首先计算 a & b 得到了 false,因为之后是 &&,任何值与 false 进行与操作都是 false,所以可以不用再计算下去,而直接返回 a & b 的结果 false。

新建一个LogicOperation.java:

public class LogicOperation { public static void main(String args[]) { boolean a = true; boolean b = false; System.out.println("a && b = " + (a && b)); System.out.println("a || b = " + (a || b)); System.out.println("!a = " + (!a)); System.out.println("a ^ b = " + (a ^ b)); }}

编译运行:

$ javac LogicOperation.java$ java LogicOperationa && b = falsea || b = true!a = falsea ^ b = true 四、关系运算符

关系运算符生成的是一个 boolean(ckdmj)结果,它们计算的是操作数的值之间的关系。如果关系是真实的,结果为 true(真),否则,结果为 false(假)。

表格中的例子中,假设变量 a 为 3,变量 b 为 5:

除了上表列出的二元运算符,Java 还有唯一的一个三目运算符 ?: 。

语法格式:

ckdmj表达式 ?表达式 1 : 表达式 2;

运算过程:如果ckdmj表达式的值为 true,则返回表达式 1的值,否则返回表达式 2的值。

新建一个源代码文件 RelationalOperation.java:

public class RelationalOperation { public static void main(String args[]) { int a = 3; int b = 5; System.out.println("a == b = " + (a == b)); System.out.println("a != b = " + (a != b)); System.out.println("a > b = " + (a > b)); System.out.println("a < b = " + (a < b)); System.out.println("a >= b = " + (a >= b)); System.out.println("a <= b = " + (a <= b)); System.out.println("a > b ? a : b = " + (a > b ? a : b)); }}

编译运行:

$ javac RelationalOperation.java$ java RelationalOperationa == b = falsea != b = truea > b = falsea < b = truea >= b = falsea <= b = truea > b ? a : b = 5

强调

== 和 != 适用于所有的基本数据类型,其他关系运算符不适用于 boolean,因为 boolean 值只有 true 和 false,比较没有任何意义。== 和 != 也适用于所有对象,可以比较对象的引用是否相同。

引用:Java 中一切都是对象,但操作的标识符实际是对象的一个引用。

五、运算符优先级

运算符的优先级是帮助我们在一个表达式中如何对于不同的运算符和相同的运算符,进行正确的运算顺序。

运算符的优先级不需要特别地去记忆它,比较复杂的表达式一般使用圆括号 () 分开,提高可读性。

参考资料:实验楼学习文档

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。