本篇概述 ==> 操作符
==> 算数操作符
==> 关系操作符
==> 逻辑操作符
==> 位操作符
==> 赋值操作符
==> 三元操作符
==> Scanner (输入)
一,算数操作符
基础就不写了,和某些语言大同小异,无非是 + - * / %(取余)++ --
这里弄个小练习,算是对算法操作符过关了,就是计算下列式子中 j 的结果
1 int i = 1; 2 int j = ++i + i++ + ++i + ++i + i++;
答案(先算出来再看哦)
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
1 // 从右向左 2 // i=2 i=3 i=4 i=5 i=6 3 // +1 + 3 +4 +4 +6 == 18 4 System.out.println(j); 5 // result ==> 18
二,关系操作符
无非是 >、>=、 <、 <=、 ==、 != ,这些,一个例子说明问题.jpg
1 Scanner scanner = new Scanner(System.in); 2 System.out.println("第一个整数:"); 3 int a = scanner.nextInt(); 4 System.out.println("第二个整数:"); 5 int b = scanner.nextInt(); 6 System.out.println("比较 a > b:" + (a>b)); 7 System.out.println("比较 a >= b:" + (a>=b)); 8 System.out.println("比较 a < b:" + (a<b)); 9 System.out.println("比较 a <= b:" + (a>b)); 10 System.out.println("比较 a == b:" + (a==b)); 11 System.out.println("比较 a != b:" + (a!=b));
Result
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
第一个整数: 10 第二个整数: 20 比较 a > b:false 比较 a >= b:false 比较 a < b:true 比较 a <= b:false 比较 a == b:false 比较 a != b:true
三,逻辑操作符
大体和 C++, JavaScript等语言无多少区别,但是将 或 和 与 区分成了 长路 和 短路,另外新增了 异或
3.1长路与 和 短路与
区别
长路与 & 两侧 都会被运算
表达式1 | 表达式2 | 运算结果 |
true | true | true |
true | false | false |
false | true | false |
false | false | false |
短路与 && 只要第一个是 false, 第二个就不进行运算了
3.2 长路或 与 短路 或
区别
长路或 | 两侧都会被运算
表达式1 | 表达式2 | 运算结果 |
true | true | true |
true | false | true |
false | true | true |
false | false | false |
短路或 || 只要第一个是 true,第二个就不会进行运算了
3.3 取反 (顾名思义 !)
3.4 异或 ^
不同,返回真
相同,返回假
1 int i = 1; 2 boolean b = !(i++ ==3)^(i++ == 2) && (i++ ==3); 3 // false
// 从右向左 (false && true) ^ true ==> false
四,位操作符(略,用到时查阅即可)
五,赋值操作符
大体上和 JavaScript 中的类似
赋值操作的操作顺序是从右到左
例如 +=、-=、*=、/=、%=、&=、|=、^=、>>=、>>>= 等同于
i = i + 2
i = i - 2
....
i = i >>>2
六,三元运算符(语法 JavaScript,Python,C++ 共通)
表达式?值1:值2
如果表达式为真,返回值1
如果表达式为假,返回值2
例:输入一个整数,判断是工作日,还是周末
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
1 Scanner scanner = new Scanner(System.in); 2 System.out.println("请输入一个整数:"); 3 int day = scanner.nextInt(); 4 String p = (1<=day & day<=7?( day<=5? "工作日":"周末"):"错误");
七,Scanner输入
首先,需要导入 Scanner
1 import java.util.Scanner;
然后在其内先创建
Scanner scanner = new Scanner(System.in);
其次就可以进行 读取整数,浮点数以及字符串,先读取整数再接着读取字符串了
1 Scanner scanner = new Scanner(System.in); 2 System.out.println("请输入一个整数:"); 3 int i = scanner.nextInt(); 4 System.out.println("请输入一个浮点数"); 5 float f = scanner.nextFloat(); 6 System.out.println("请输入一个字符串"); 7 String rn = scanner.nextLine(); // 用于取走回车换行符号 8 String s = scanner.nextLine(); // 读取字符串
d