1.Java提供六种比较运算符,也称为关系运算符,用于两个值的比较。比较的结果是一个布尔值:true(真)或false(假)。
2.也可以对字符进行比较,字符的比较与字符统一码的比较一样。
3.布尔运算符
- 非运算符(!)、与运算符(&&)、或运算符or(|)
异或运算符(^):两个布尔型操作数的异或为true当且仅当它们具有不同的布尔值。 - 如果运算符(&&)的一个运算对象为false时,表达式的值为false;如果运算符(|)的一个运算对象为true时,表达式的值为true。Java利用这些特性来提高运算的执行效率。
- 计算p1&&p2时,Java先计算p1,若p1为true再计算p2;若p1为false,则不再计算p2。计算p1||p2时,Java先计算p1,若p1为false再计算p2;若p1为true,则不再计算p2。因此,&&又称为条件与(conditionalAND)运算符,或称为短路与(short-circuit AND)运算符。||称为条件或(conditionalOR)运算符,或称为短路或(short-circuit OR)运算符。
- Java还提供了运算符& 和|。运算符&与运算符&&在使用中几乎相同,运算符|和运算符||也几乎相同。 不同点在于:运算符&和|的两个运算对象都要计算。因此,&又称为无条件与(unconditional AND)运算符,|称为无条件或(unconditionalOR)运算符。
4.避免使用&和|运算符,它们的好处不大。使用&和|运算符会使程序的可读性降低,并且可能导致错误。
5.布尔值不能转换为其他类型的值,反过来也不行。
6.Java有几种条件语句:简单if语句、if…else语句、嵌套if语句、switch语句和条件表达式。
7.格式化控制台输出
- JDK 1.5引入一种新的printf方法,能够格式化输出。调用这个方法的语法是System.out.printf(format,
item1, item2, …, itemk)。 - format是一个子串和格式描述符构成的字符串。格式描述符(specifier)指定项目应该如何显示。
- 项目可以是数值、字符、布尔值或字符串。每个描述符以百分号开头。
- 项目与描述符必须在次序上、数量上和类型上匹配。
- 常见的格式描述符
描述符 | 输出 | 举例 |
---|---|---|
%b | 布尔值 | true或false |
%c | 字符 | ‘a’ |
%d | 十进制整数 | 200 |
%f | 浮点数 | 45.460000 |
%e | 标准科学计数法形式的数 | 4.556000e+01 |
%s | 字符串 | “java is cool” |
8.使用括号既可以强行改变运算次序,也可以增强程序的可读性。使用多余的括号不会降低表达式的执行速度。
9.符号?和:在条件表达式中同时出现。它们构成条件运算符(conditional operator),称为三目运算符(ternary)。它是Java中唯一的三目运算符。