Java基础 - 运算符
运算符用于对常量和变量进行操作的符号
表达式用运算符连接起来的符号符合java语法的式子。不同的运算符连接的表达式是不同类型的表达式
运算符分类:
算术运算符
赋值运算符
关系运算符
逻辑运算符
三元运算符
算术运算符
1 public class Main { 2 3 public static void main(String[] args) { 4 5 int a = 3; 6 int b = 4; 7 System.out.println(a + b); // 相加 输出7 8 System.out.println(a - b); // 相减 输出-1 9 System.out.println(a * b); // 相乘 输出12 10 System.out.println(a / b); // 相除 输出0 11 System.out.println(a % b); // 余数/取模 输出3 12 13 // 两个整数相除,如果希望得到小数,则需要有小数参与 14 System.out.println(3.0 / 4); // 输出0.75 15 System.out.println(3 / 4.0); // 输出0.75 16 17 System.out.println("===================="); 18 19 // 字符参与加法运算,其实是拿字符在计算机中存储的数据值来参与运算 20 // 'A' 65 21 // 'a' 97 22 // '0' 48 23 char c = 'A'; 24 System.out.println(a + c); // 输出68 25 26 // 字符串参与加法运算,其实做的不是加法运算,而是字符串的拼接 27 System.out.println("hello" + a); // 输出hello3 28 System.out.println("hello" + a + b); // 输出hello34 29 System.out.println(a + b + "hello"); // 输出7hello 30 31 System.out.println("========================="); 32 // ++, -- 自增自减,用于对变量加1或者键1 33 System.out.println("a:" + a); // a:3 34 a++; 35 System.out.println("a:" + a); // 输出 a:4 36 37 int x = 10; 38 int y = x; 39 System.out.println("x -->" + x); // x -->10 40 System.out.println("y -->" + y); // y -->10 41 42 x = 10; 43 y = x++; // 先赋值,后运算 44 System.out.println("x -->" + x); // x -->11 45 System.out.println("y -->" + y); // y -->10 46 47 x = 10; 48 y = ++x; // 先运算,后赋值 49 System.out.println("x -->" + x); // x -->11 50 System.out.println("y -->" + y); // y -->11 51 52 53 } 54 }
赋值运算符
1 /* 2 * 赋值运算符: 3 * 基本的赋值运算符: = 4 * 扩展的赋值运算符: +=, -=, *=, /=, ... 5 * 6 * */ 7 8 public class Main { 9 public static void main(String[] args) { 10 // = 的操作 定义变量 11 int a = 10; // 把10赋值给int类型的变量a 12 13 // += 的操作 -=, *=, /= 与 += 类似 14 // 拿 += 的左边和右边的数据做+,然后把结果赋值给左边 15 a += 20; 16 System.out.println("a:" + a); 17 18 // 注意: 扩展的运算符隐含了强制类型转换 19 short s = 1; 20 s += 1; // 等同于 s = (short)(s + 1) 21 System.out.println("s:" + s); 22 23 } 24 }
关系运算符
1 package com.demo1; 2 3 /* 4 * 关系运算符: 5 * ==, !=, >, >=, <, <= 6 * 关系运算符的结果是boolean类型 7 * */ 8 public class demo { 9 public static void main(String[] args) { 10 // 定义变量 11 int a = 10; 12 int b = 20; 13 int c = 10; 14 15 // == 16 System.out.println(a == b); // false 17 System.out.println(a == c); // true 18 System.out.println("============="); 19 20 // != 21 System.out.println(a != b); // true 22 System.out.println(a != c); // false 23 System.out.println("============="); 24 25 // > 26 System.out.println(a > b); // false 27 System.out.println(a > c); // false 28 System.out.println("============="); 29 30 // >= 31 System.out.println(a >= b); // false 32 System.out.println(a >= c); // true 33 System.out.println("============="); 34 35 // < 36 System.out.println(a < b); // true 37 System.out.println(a < c); // false 38 System.out.println("============="); 39 40 // >= 41 System.out.println(a <= b); // true 42 System.out.println(a <= c); // true 43 System.out.println("============="); 44 45 } 46 }
逻辑运算符
1 package com.demo2; 2 3 4 /* 5 * 逻辑运算符:用于连接关系表达式 6 * & 逻辑与 有false则false 7 * | 逻辑或 有true则true 8 * ^ 逻辑异或 相同则false,不同则true 9 * ! 逻辑非 true则false,false则true 10 * 11 * && 双与和单与的结果一样,不同之处在于前者为false,后者不执行 12 * || 双或和单或的结果一样,不同之处在于前者为true,后者不执行 13 * 14 * */ 15 16 public class demo { 17 18 public static void main(String[] args) { 19 // 定义变量 20 int a = 3; 21 int b = 4; 22 int c = 5; 23 24 // & 25 System.out.println((a>b) & (a>c)); // false & false 26 System.out.println((a<b) & (a>c)); // true & false 27 System.out.println((a>b) & (a<c)); // false & true 28 System.out.println((a<b) & (a<c)); // true & true 29 30 System.out.println("================"); 31 // | 32 System.out.println((a>b) | (a>c)); // false | false 33 System.out.println((a<b) | (a>c)); // true | false 34 System.out.println((a>b) | (a<c)); // false | true 35 System.out.println((a<b) | (a<c)); // true | true 36 37 System.out.println("================"); 38 // ^ 39 System.out.println((a>b) ^ (a>c)); // false ^ false 40 System.out.println((a<b) ^ (a>c)); // true ^ false 41 System.out.println((a>b) ^ (a<c)); // false ^ true 42 System.out.println((a<b) ^ (a<c)); // true ^ true 43 44 System.out.println("================"); 45 // ! 46 System.out.println(!(a>b)); // false 47 System.out.println(!(a<b)); // true 48 System.out.println(!(a>b)); // false 49 System.out.println(!(a<b)); // true 50 System.out.println("================"); 51 52 // && 53 System.out.println((a>b) && (a>c)); // false && false 54 System.out.println((a<b) && (a>c)); // true && false 55 System.out.println((a>b) && (a<c)); // false && true 56 System.out.println((a<b) && (a<c)); // true && true 57 58 System.out.println("================"); 59 // || 60 System.out.println((a>b) || (a>c)); // false || false 61 System.out.println((a<b) || (a>c)); // true || false 62 System.out.println((a>b) || (a<c)); // false || true 63 System.out.println((a<b) || (a<c)); // true || true 64 } 65 }
三元运算符