小白Java笔记——运算符(二)及优先级
2017-12-18 11:06
267 查看
(五)逻辑运算符
用于两个布尔型的变量或常量,有以下六个:
1.&&:短路与,都true才true;
2.&:不短路与,同上;
3.||:短路或,有一个true就返回true;
4.| :不短路或,;
5.!:非,只需要一个操作数;
6.^: 异或,两个操作数不同,返回true
短路:指的是前一个操作数如果返回的是false,则不再执行后面的
(六)三目运算符
只有一个: ? :
例子:
三目算法大部分是作为if else 的精简写法,也就相当于:
区别:if后的代码块可以有多个语句,而三目运算符不支持
(八)运算符结合性和优先级
1.结合性:除了单目运算符、赋值运算符和三目运算符是从右到左运算,其他都是从左到右运算的;而乘法和加法是两个可以结合的运算,即左右两边的操作数可以互换位置不影响结果。
2.优先级
其中instanceof和(type)运算符与类、继承有关,之后再详细介绍
这里特别说明:源代码的可读性比代码运算效率更重要,因此特别注意:
(1)不要把一个表达式写的过于复杂,可以分成几步完成;
(2)不要过多依赖运算符优先级来控制执行的顺序,这样可读行太差,尽量使用()来控制表达式的执行顺序。
用于两个布尔型的变量或常量,有以下六个:
1.&&:短路与,都true才true;
2.&:不短路与,同上;
3.||:短路或,有一个true就返回true;
4.| :不短路或,;
5.!:非,只需要一个操作数;
6.^: 异或,两个操作数不同,返回true
短路:指的是前一个操作数如果返回的是false,则不再执行后面的
System.out.println(!false);//返回true int a = '6';//对应的值为54 //下面,第一个2>1返回的是true,所以会执行后面的,最后结果是55 System.out.println(2>1&&a++>6); System.out.println(a); //当第一个3>4返回的是false,因此不再执行后面的,a的最后的值是54 System.out.println(3>4&&a++>6); System.out.println(a); //同理短路||或,当第一个返回的是true时,就不再执行第二个,这里不再赘述
(六)三目运算符
只有一个: ? :
(expression)?if-true-statement:if-false-statement;
例子:
String str = 5>3?"五是大于三的":"五不会大于三的"; System.out.println(str); //也可以嵌套 int a = 11; int b = 12; System.out.println(a>b?"a>b":(a<b?"a<b":"a=b"));
三目算法大部分是作为if else 的精简写法,也就相当于:
String str2 = null; if(5>3) { str2 = "五是大于三的"; }else { str2 = "五不会大于三的"; }
区别:if后的代码块可以有多个语句,而三目运算符不支持
(八)运算符结合性和优先级
1.结合性:除了单目运算符、赋值运算符和三目运算符是从右到左运算,其他都是从左到右运算的;而乘法和加法是两个可以结合的运算,即左右两边的操作数可以互换位置不影响结果。
2.优先级
其中instanceof和(type)运算符与类、继承有关,之后再详细介绍
这里特别说明:源代码的可读性比代码运算效率更重要,因此特别注意:
(1)不要把一个表达式写的过于复杂,可以分成几步完成;
(2)不要过多依赖运算符优先级来控制执行的顺序,这样可读行太差,尽量使用()来控制表达式的执行顺序。
相关文章推荐
- 小白Java笔记——直接量和运算符(一)
- 【慕课笔记】第三章 常用的运算符 第7节 JAVA中运算符的优先级
- Java运算符优先级
- 慕课网-安卓工程师初养成-3-9 Java中运算符的优先级
- java 运算符的优先级
- PHP学习笔记——运算符的优先级和表达式;
- 下划线分隔符_运算符及其优先级JAVA011-014
- java中运算符的优先级
- 小白Java笔记——理解面向对象(二)
- Java中运算符的优先级
- 【学习笔记三】最基本的JAVA基础[数据类型,运算符]
- Java笔记之算数运算符++--的使用
- Java运算符优先级
- Java基础学习笔记(一)环境变量配置,数据类型,运算符,控制语句,循环语句
- java学习笔记---数据类型、运算符和控制语句
- Java学习笔记之变量,常量,浮点数,优先级
- Java运算符优先级
- G笔记_Java基础(变量、基本类型、运算符和表达式-1)
- Java运算符优先级
- 运算符优先级-Java 运算符优先级