1. 算术运算符
1.1 四则运算与取模运算
- 运算符:进行特定操作的符号。例如:+
- 表达式:用运算符连起来的式子叫做表达式。例如:20+5。又例如:a+b
- 四则运算:加+、 减:- 、乘:* 、除:/
- 取模:取余数 %
1. public class test07 { 2. public static void main(String[] args) { 3. // 两个常量 + 4. System.out.println(20 + 30); //50 5. 6. // 字符串 + 表示连接 7. String c = "java"; 8. System.out.println(c + 8); //java8 9. 10. // 两个变量 - 11. int a = 5; 12. int b = 6; 13. System.out.println(a - b); //-1 14. 15. // 乘法 * 16. System.out.println(a * 10); //50 17. 18. // 除法 / 19. int x = 10; 20. int y = 3; 21. int res = x / y; 22. System.out.println(res); //3 23. 24. // 取模(余数) % 25. int res2 = x % y; 26. System.out.println(res2); //1 27. 28. // 数据类型不一样,结果是数据范围大的类型 29. double res3 = x + 2.5; 30. System.out.println(res3); //12.5 31. } 32. }
1.2 自增自减运算符
- 自增运算符:++
- 自减运算符:--
- 含义:让一个变量加1或减1
使用区别
- 在单独使用的时候,前++/--和后++/--没有任何区别。也就是:++num/--num;和num++/num--;是完全一样的
- 在混合的时候,有【重大区别】:A.如果是【前++】/【前--】,那么变量【立刻马上+1】/【立刻马上-1】,然后拿着结果进行使用。【先加/减后用】
B.如果是【后++】/【后--】,那么首先使用变量本来的数值,【然后再让变量+1】/【然后再让变-1】。【先用后加/减】 - 注意:只有变量才能使用自增自减运算,常量不可变,所以不能使用
1. import org.apache.tools.ant.util.ResourceUtils; 2. 3. public class test08 { 4. public static void main(String[] args) { 5. // 单独使用 ++num 和 num++ 无区别 6. int a = 27; 7. a++; 8. System.out.println(a); //28 9. ++a; 10. System.out.println(a); //29 11. 12. 13. // 混合使用 14. int b = 27; 15. // ++num 先加后用 16. System.out.println(++b); //28 17. 18. // num++ 先用后加 19. int d = 27; 20. System.out.println(d++); //27 21. System.out.println(d); //28 22. 23. 24. // 单独使用 25. int e = 66; 26. --e; 27. System.out.println(e); //65 28. e--; 29. System.out.println(e); //64 30. 31. // 混合使用 32. int f = 88; 33. // --num 先减后用 34. System.out.println(--f); //87 35. 36. // num-- 先用后减 37. int g = 33; 38. System.out.println(g--); //33 39. System.out.println(g); //32 40. 41. 42. int x = 10; 43. int y = 20; 44. int res = ++x + y--; 45. // x 先加后用,y 先用后减 46. System.out.println(res); //31 47. System.out.println(x); // 11 48. System.out.println(y); // 19 49. 50. // 常量不可以使用自增、自减运算 51. // 27++; 52. // --27; 53. } 54. }
2. 赋值运算符
- 基本赋值运算符:等号(=),代表把右侧的数据交给左侧的变量
- 复合赋值运算符:+=、-=、*=、/=、%=
1. public class test09 { 2. public static void main(String[] args) { 3. // += a+=5 --> a = a+5 4. int a = 1; 5. a += 5; 6. System.out.println(a); //6 7. 8. // %= b%=3 --> b = b%3 9. int b = 10; 10. b %= 3; 11. System.out.println(b); //1 12. 13. } 14. }
3. 比较运算符
- 运算符:大于>、小于<、大于等于>=、小于等于<=、相等==、不相等!=
1. /** 2. * @Time: 2021/1/30 3. * @Author: 大海 4. **/ 5. public class test10 { 6. public static void main(String[] args) { 7. int a = 10; 8. int b = 20; 9. System.out.println(a < b); 10. System.out.println(a > b); 11. System.out.println(a >= 10); 12. System.out.println(b <= 10); 13. 14. System.out.println(10 == 10); 15. System.out.println(a != b); 16. 17. } 18. 19. }
4. 逻辑运算符
- 与(并且)&& :全都是true,才是true;否则就是false
- 或(或者)||:至少一个是true,就是true;全都是false,才是false
- 非(取反)!:本来是true,变成false;本来是false,变成true
- 注:&& 和 || 具有短路功能,如果根据左边已经可以判断得到最终结果,那么右边的代码将不再执行,从而节省一定的性能。
1. /** 2. @Time: 2021/1/30 3. @Author: 大海 4. **/ 5. public class test11 { 6. public static void main(String[] args) { 7. //&& 8. System.out.println(true && true); 9. System.out.println(true && false); 10. System.out.println(3<4 && 5>4); 11. 12. //|| 13. System.out.println(true || false); 14. System.out.println(false || false); 15. System.out.println(false || true); 16. 17. 18. // ! 19. System.out.println(!true); 20. System.out.println(!false); 21. 22. // 短路效果 23. int a = 10; 24. System.out.println(3 > 4 && ++a < 20); 25. System.out.println(a); // 10 26. 27. int b = 30; 28. System.out.println(3 < 4 || ++b > 20); 29. System.out.println(b); // 30 30. 31. 32. } 33. }
5. 三元运算符
- 定义:需要三个数据才可以进行操作的运算符。
- 格式:数据类型变量名称=条件判断?表达式A:表达式B;
- 注意:同时保证表达式A和B都符合左侧数据类型
1. /** 2. * @Time: 2021/1/30 3. * @Author: 大海 4. **/ 5. public class test12 { 6. public static void main(String[] args) { 7. //首先判断条件是否成立: 8. //如果成立为true,那么将表达式A的值赋值给左侧的变量;如果不成立为false,那么将表达式B的值赋值给左侧的变量 9. int a = 10; 10. int b = 20; 11. int max = a > b ? a : b; 12. System.out.println(max); // 20 13. } 14. 15. }