java 运算符
运算符是一种特殊的符号,表示数据的运算、赋值和比较
算术运算、赋值运算、比较运算、逻辑运算、位运算(开发用的少,源码中有存在)、三元运算
运算符 | 运算 | 类别 | 结果 |
+ | 正 | +3 | 3 |
- | 负 | b=4;-b | -4 |
+ | 加 | 5+5 | 10 |
- | 减 | 6-4 | 2 |
* | 乘 | 3*4 | 12 |
/ | 除 | 5/5 | 1 |
% | 取模(取余数) | 7%5 | 2 |
++ | 前加加自增在前,先运算后取值 | a=2;b=++a | a=3;b=3 |
++ | 后加加自增在后,先取值后运算 | a=2;b=a++ | a=3;b=2 |
-- | 前减减自减在前,先运算后取值 | a=2;b=--a | a=1;b=1 |
-- | 后减减自减在后,先取值后运算 | a=2;b=a-- | a=1;b=2 |
+ | 字符连接运算 | "He"+"llo" | "Hello" |
加减乘除的示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | class AriTest { public static void main(String[] args) { int num1 = 12 ; int num2 = 5 ; int result1 = num1 / num2; //除法运算 System.out.println(result1); int result2 = num1 - num2; //减法 System.out.println(result2); int result3 = num1 * num2 ; //乘 System.out.println(result3); int result4 = num1 + num2; // 加 System.out.println(result4); } } 编译后运行 ---------- java ---------- 2 7 60 17 输出完成 (耗时 0 秒) - 正常终止 |
示例2,使计算过为浮点型
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | class AriTest { public static void main(String[] args) { int num1 = 12 ; int num2 = 5 ; int result1 = num1 / num2; //除法运算 System.out.println(result1); int result2 = num1 - num2; //减法 System.out.println(result2); int result3 = num1 * num2 ; //乘 System.out.println(result3); int result4 = num1 + num2; // 加 System.out.println(result4); double result5 = ( double )num1 / num2; //浮点型结果为2.41 System.out.println (result5); } } ---------- java ---------- 2 7 60 17 2.4 输出完成 (耗时 0 秒) - 正常终止 |
取模
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | class AriTest { public static void main(String[] args) { int num1 = 12 ; int num2 = 5 ; int result1 = num1 / num2; //除法运算 System.out.println(result1); int result2 = num1 - num2; //减法 System.out.println(result2); int result3 = num1 * num2 ; //乘 System.out.println(result3); int result4 = num1 + num2; // 加 System.out.println(result4); double result5 = ( double )num1 / num2; //浮点型结果为2.41 System.out.println (result5); int result6 = num1 % num2; // 取模 System.out.println (result6); } } ---------- java ---------- 2 7 60 17 2.4 2 输出完成 (耗时 0 秒) - 正常终止 |
前加加;后加加
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | class AriTest { public static void main(String[] args) { int num1 = 12 ; int num2 = 5 ; int result1 = num1 / num2; //除法运算 System.out.println(result1); int result2 = num1 - num2; //减法 System.out.println(result2); int result3 = num1 * num2 ; //乘 System.out.println(result3); int result4 = num1 + num2; // 加 System.out.println(result4); double result5 = ( double )num1 / num2; //浮点型结果为2.41 System.out.println (result5); int result6 = num1 % num2; // 取模 System.out.println (result6); int a1 = 10 ; int b1 = ++a1; // 前加加,先运算后赋值 System.out.println(b1+ "," +a1); int a2 = 10 ; int b2 = a2++; // 后加加,先赋值后运算 System.out.println(b2 + "," + a2); } } ---------- java ---------- 2 7 60 17 2.4 2 11 , 11 10 , 11 输出完成 (耗时 0 秒) - 正常终止 |
注意点
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | class AriTest { public static void main(String[] args) { int num1 = 12 ; int num2 = 5 ; int result1 = num1 / num2; //除法运算 System.out.println(result1); int result2 = num1 - num2; //减法 System.out.println(result2); int result3 = num1 * num2 ; //乘 System.out.println(result3); int result4 = num1 + num2; // 加 System.out.println(result4); double result5 = ( double )num1 / num2; //浮点型结果为2.41 System.out.println (result5); int result6 = num1 % num2; // 取模 System.out.println (result6); int a1 = 10 ; int b1 = ++a1; // 前加加,先运算后赋值 System.out.println(b1+ "," +a1); int a2 = 10 ; int b2 = a2++; // 后加加,先赋值后运算 System.out.println(b2 + "," + a2); //注意 short s1 = 10 ; s1 = s1+ 1 ; // 编译不过 System.out.println(s1); } } ---------- javac ---------- AriTest.java: 27 : 错误: 不兼容的类型: 从 int 转换到 short 可能会有损失 s1 = s1+ 1 ; // 编译不过 ^ 1 个错误 输出完成 (耗时 0 秒) - 正常终止 |
建议一下两种方式
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | class AriTest { public static void main(String[] args) { int num1 = 12 ; int num2 = 5 ; int result1 = num1 / num2; //除法运算 System.out.println(result1); int result2 = num1 - num2; //减法 System.out.println(result2); int result3 = num1 * num2 ; //乘 System.out.println(result3); int result4 = num1 + num2; // 加 System.out.println(result4); double result5 = ( double )num1 / num2; //浮点型结果为2.41 System.out.println (result5); int result6 = num1 % num2; // 取模 System.out.println (result6); int a1 = 10 ; int b1 = ++a1; // 前加加,先运算后赋值 System.out.println(b1+ "," +a1); int a2 = 10 ; int b2 = a2++; // 后加加,先赋值后运算 System.out.println(b2 + "," + a2); //注意 short s1 = 10 ; //s1 = s1+1;// 编译不过 s1 = ( short )(s1+ 1 ); System.out.println(s1); } } ---------- java ---------- 2 7 60 17 2.4 2 11 , 11 10 , 11 11 输出完成 (耗时 0 秒) - 正常终止 |
或者
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | class AriTest { public static void main(String[] args) { int num1 = 12 ; int num2 = 5 ; int result1 = num1 / num2; //除法运算 System.out.println(result1); int result2 = num1 - num2; //减法 System.out.println(result2); int result3 = num1 * num2 ; //乘 System.out.println(result3); int result4 = num1 + num2; // 加 System.out.println(result4); double result5 = ( double )num1 / num2; //浮点型结果为2.41 System.out.println (result5); int result6 = num1 % num2; // 取模 System.out.println (result6); int a1 = 10 ; int b1 = ++a1; // 前加加,先运算后赋值 System.out.println(b1+ "," +a1); int a2 = 10 ; int b2 = a2++; // 后加加,先赋值后运算 System.out.println(b2 + "," + a2); //注意 short s1 = 10 ; //s1 = s1+1;// 编译不过 //s1 = (short)(s1+1); ++s1; // System.out.println(s1); } } ---------- java ---------- 2 7 60 17 2.4 2 11 , 11 10 , 11 11 输出完成 (耗时 0 秒) - 正常终止 |
或者
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | class AriTest { public static void main(String[] args) { int num1 = 12 ; int num2 = 5 ; int result1 = num1 / num2; //除法运算 System.out.println(result1); int result2 = num1 - num2; //减法 System.out.println(result2); int result3 = num1 * num2 ; //乘 System.out.println(result3); int result4 = num1 + num2; // 加 System.out.println(result4); double result5 = ( double )num1 / num2; //浮点型结果为2.41 System.out.println (result5); int result6 = num1 % num2; // 取模 System.out.println (result6); int a1 = 10 ; int b1 = ++a1; // 前加加,先运算后赋值 System.out.println(b1+ "," +a1); int a2 = 10 ; int b2 = a2++; // 后加加,先赋值后运算 System.out.println(b2 + "," + a2); //注意 short s1 = 10 ; //s1 = s1+1;// 编译不过 //s1 = (short)(s1+1); s1++; // 这样写不会改变他的数据类型 System.out.println(s1); } } |
前减减;后减减
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | class AriTest { public static void main(String[] args) { int num1 = 12 ; int num2 = 5 ; int result1 = num1 / num2; //除法运算 System.out.println(result1); int result2 = num1 - num2; //减法 System.out.println(result2); int result3 = num1 * num2 ; //乘 System.out.println(result3); int result4 = num1 + num2; // 加 System.out.println(result4); double result5 = ( double )num1 / num2; //浮点型结果为2.41 System.out.println (result5); int result6 = num1 % num2; // 取模 System.out.println (result6); int a1 = 10 ; int b1 = ++a1; // 前加加,先运算后赋值 System.out.println(b1+ "," +a1); int a2 = 10 ; int b2 = a2++; // 后加加,先赋值后运算 System.out.println(b2 + "," + a2); //注意 short s1 = 10 ; //s1 = s1+1;// 编译不过 //s1 = (short)(s1+1); s1++; // 这样写不会改变他的数据类型 System.out.println(s1); int s2 = 15 ; int s3 = --s2; System.out.println(s3); int s4 = 15 ; int s5 = s4--; System.out.println(s5); } } ---------- java ---------- 2 7 60 17 2.4 2 11 , 11 10 , 11 11 14 15 输出完成 (耗时 0 秒) - 正常终止 |
草都可以从石头缝隙中长出来更可况你呢
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
2019-07-18 nginx 反向代理memcached、websocket及nginx文件方面的优化
2019-07-18 nginx 缓存