运算符
算术运算符: + - * / %
System.out.println(5 + 2);
System.out.println(17 - 9);
System.out.println(5 * 8);
System.out.println(9 / 3);
+: 当+号左右两端出现一个字符串的时候,那么它执行的 是字符串拼接动作。
int result = 50;
System.out.println("最终结果是:" + result);
System.out.println("最终结果是:" + (3 + 7) );
% : 取模,取余 该符号是对左右两个操作数做除法,只不过最终结果不是商而是余数
特殊:
1、余数正负号,只跟第一个被除数有关;
2、%符号的运算只在整数运算下才有意义;
System.out.println( 8 % 5);
System.out.println(-8 % 5);
System.out.println(8 % -5);
System.out.println(-8 % -5);
System.out.println(5.3 % 2.6);
最重要的:所有的算术运算符号,如果左右两端的运算数数据类型 一致,那么结果就是该类型的结果。 如果不一致,那么结果就是大的那个数据类型的结果
System.out.println( 1 / 2 );
System.out.println( 1 / 2.0);
赋值运算符:=
把赋值运算符右边的表达式,赋给左边的变量
1、左边只有一个变量
2、要注意左右两边的数据类型:自动类型转换 和 强制类型转换
int a = 0, b = 0;
a = a + 13;
变形的赋值运算符(一): += -= *= /= %=
b += 5;// b = b + 5;
变量 = 变量 + 值; 变量 += 值; 这两句的最终效果是一样的,但是如果出现类型不匹配的情况, 语句一只能我们自己强制类型转换,语句二可以由该表达式帮我们进行类型转换
b = (int)(b + 3.14);
b += 3.14;
System.out.println(b);
变形的赋值运算符(二): ++ -- 又被称之为
自增长","自减小"
a = 100;
a++;// a += 1; a = a + 1;
++a;
System.out.println(a);
a--;// a -= 1; a = a - 1;
--a;
System.out.println(a);
前加 ++a 前减 --a 后加 a++ 后减 a-- 单独使用a++ 和 ++a 是没有区别的(--也是同理)
int num = 10;
System.out.println( ++num * 5 );
比较运算符: > < >= <= != ==
比较运算符最终的结果只能是boolean类型true或false
System.out.println(5 > num);
三目运算符: 表达式1 ? 表达式2 : 表达式3
1、表达式1必须是一个布尔表达式; 2、当表达式1为true的时候,用表达式2的结果作为整个三目运算符的结果; 当表达式1为false的时候,用表达式3的结果作为整个三目运算符的结果
\
System.out.println( num < 5 ? "男" : "女" );
逻辑运算符
逻辑运算符之"和",又被称之为"与","且"
连接两个boolean表达式,当它们同为true,那么整体返回true;
只要有一个为false,整体返回假;
符号: && - 逻辑与,是专用的逻辑符号
& - 位与,本质是位运算符,只是当它左右两端是boolean类型时, 表现出和"&&"同样的效果。
区别: 逻辑与&& 又被称之为"短路运算符",当它判断出第一个表达式为false的时候, 它不会去执行第2个表达式; 位与 不短路
int a = 10;
// System.out.println(a < 5 & a++ > 10);
// System.out.println(a);
逻辑运算符之"或"
连接两个boolean表达式,当两个表达式有一个为true的时候,整体就为true; 符号 || - 逻辑或,专用的或符号
| - 位或,本质也是位运算符,只是当它左右两端是boolean类型时, 表现出和"||"同样的效果
区别: 逻辑或 "||" 又被称之为"短路运算符",当它判断出第一个表达式为true的时候, 它不会去执行第2个表达式; 位或"|" 不短路
System.out.println(true | true);
逻辑运算符之"非"
用来对一个boolean表达式的结果取反。
如果这个表达式是true,取反后就是false; 反之亦然。
符号 !
System.out.println(!true);
异或:效果是当两个boolean表达式不同的时候返回true,相同的时候返回false;
符号: ^
System.out.println(true ^ false);
逻辑运算符
逻辑运算符之"和",又被称之为"与","且"
连接两个boolean表达式,当它们同为true,那么整体返回true;
只要有一个为false,整体返回假;
符号: && - 逻辑与,是专用的逻辑符号
& - 位与,本质是位运算符,只是当它左右两端是boolean类型时, 表现出和"&&"同样的效果。
区别: 逻辑与&& 又被称之为"短路运算符",当它判断出第一个表达式为false的时候, 它不会去执行第2个表达式; 位与 不短路
int a = 10;
// System.out.println(a < 5 & a++ > 10);
// System.out.println(a);
逻辑运算符之"或"
连接两个boolean表达式,当两个表达式有一个为true的时候,整体就为true; 符号 || - 逻辑或,专用的或符号
| - 位或,本质也是位运算符,只是当它左右两端是boolean类型时, 表现出和"||"同样的效果
区别: 逻辑或 "||" 又被称之为"短路运算符",当它判断出第一个表达式为true的时候, 它不会去执行第2个表达式; 位或"|" 不短路
System.out.println(true | true);
逻辑运算符之"非"
用来对一个boolean表达式的结果取反。
如果这个表达式是true,取反后就是false; 反之亦然。
符号 !
System.out.println(!true);
异或:效果是当两个boolean表达式不同的时候返回true,相同的时候返回false;
符号: ^
System.out.println(true ^ false);