java中的各种运算符
算数运算符
{ // 目标:掌握基本的算术算术运算符的使用:+ - * / % int a = 10; int b = 3; System.out.println(a + b); System.out.println(a - b); System.out.println(a * b); System.out.println(a / b); // 3.3333 ==> 3 System.out.println(a * 1.0 / b); // 3.3333 System.out.println(3 / 2); System.out.println(3 * 1.0 / 2); // 1.5 System.out.println(3 / 2 * 1.0); // 1.0 System.out.println(a % b); // 1 }
注: 如果两个整数做除法,其结果一定是整数,因为最高类型是整数
自增自减运算符
在不参加运算的情况下, ++符号在变量前面与后面都一样 自增或自减
在参加运算或表达式中
符号放在变量的前面,先对变量进行+1、-1,再拿变量的值进行运算
符号放在变量的后面,先拿变量的值进行运算,再对变量的值进行+1、-1
public static void main(String[] args) { // 目标:学会使用自增自减运算符: ++ -- int a = 10; // a++; // a = a + 1 ++a; // a = a + 1 System.out.println(a); int b = 10; //b--; // b = b -1 --b; System.out.println(b); System.out.println("------------------------------"); // 在表达式中或者不是单独操作的情况,++ -- 在变量前后存在区别 // ++ -- 在变量前面。先+1 -1 再使用。 int i = 10; int j = ++i; System.out.println(i); // 11 System.out.println(j); // 11 // ++ -- 在变量的后面 先使用再+1 -1 int m = 10; int n = m++; System.out.println(m); // 11 System.out.println(n); // 10 System.out.println("-----------拓展案例(可以了解和参考)--------------"); int k = 3; int p = 5; // k 3 4 5 4 // p 5 4 3 4 // rs 3 + 5 - 4 + 4 - 5 + 4 + 2 int rs = k++ + ++k - --p + p-- - k-- + ++p + 2; System.out.println(k); // 4 System.out.println(p); // 4 System.out.println(rs); // 9 }
赋值运算符
基本赋值运算符 就是“=”。
int a = 10; // 先看“=”右边,把数据10赋值给左边的变量a存储。
扩展赋值运算符
注:扩展的赋值运算符隐含了强制类型转换
public static void main(String[] args) { // 目标:学会使用赋值运算符:= += -= *= /= %= int a = 10; int b = 200; // a = a + b; a += b; // a = (int)(a + b) System.out.println(a); byte i = 10; byte j = 20; // i = (byte) (i + j); i += j; // i = (byte) (i + j); System.out.println(i); int m = 10; int n = 5; //m += n; //m -= n; // 等价于: m = (int)(m - n) //m *= n; // 等价于: m = (int)(m * n) // m /= n; // 等价于: m = (int)(m / n) m %= n; // 等价于: m = (int)(m % n) System.out.println(m); }
关系运算符
是对数据进行条件判断的符号,最终会返回一个比较的布尔结果(false,true)。
注意:在做相等判断是,千万不要把 == 误写成 =
public static void main(String[] args) { // 目标:学会使用关系运算符。 int a = 10; int b = 10; boolean rs = a == b; System.out.println(rs); System.out.println(a == b); System.out.println(a != b); // false System.out.println(a > b); // false System.out.println(a >= b); // true System.out.println(a < b); // false System.out.println(a <= b); // true int i = 10; int j = 5; System.out.println(i == j); // false System.out.println(i != j); // true System.out.println(i > j); // true System.out.println(i >= j); // true System.out.println(i < j); // false System.out.println(i <= j); // false System.out.println(i = j); // 5 相等判断必须是== 如果使用=是在进行赋值操作! }
逻辑运算符
逻辑运算符可以把多个条件的布尔结果放在一起运算,最终返回一个布尔结果
短路逻辑运算符
注意:逻辑与 “&” 、逻辑或“|”: 无论左边是 false还是 true,右边都要执行
public static void main(String[] args) { // 目标:学会使用逻辑运算符,并能够选择合适的逻辑运算符解决问题。 double size = 9.8; double storage = 6; // 需求:尺寸大于等于6.95 内存要大于等于8GB // 注意:必须前后都是true结果才是true System.out.println(size >= 6.95 & storage >=8); // 需求:要么内存大于等于8 要么尺寸大于等于6.95 // 注意:只要有一个是true 结果就一定是true System.out.println(size >= 6.95 | storage >=8); System.out.println(!true); System.out.println(!false); // 逻辑异或:必须两个不同结果才是true System.out.println(false ^ true); // true System.out.println(true ^ false); // true System.out.println(true ^ true); // false System.out.println(false ^ false); // false System.out.println("-----------&& & || |的区别-------------------"); int a = 10; int b = 20; // System.out.println(a > 100 && ++b > 10); System.out.println(a > 100 & ++b > 10); System.out.println(b); int i = 10; int j = 20; //System.out.println(i > 2 || ++j > 10); System.out.println(i > 2 | ++j > 10); System.out.println(j); }
三元运算符(三元表达式/三目表达式)
条件表达式 ? 值1 : 值2;
public static void main(String[] args) { // 目标:学会使用三元运算符,理解其流程 double score = 18; String rs = score >= 60 ? "考试通过" : "挂科"; System.out.println(rs); // 需求:需要从2个整数中找出较大值 int a = 10000; int b = 2000; int max = a > b ? a : b; System.out.println(max); System.out.println("-------------------------"); int i = 10; int j = 30; int k = 50; // 1、找出2个整数的较大值 int temp = i > j ? i : j; // 2、拿临时变量与第三个变量的值继续比较 int rsMax = temp > k ? temp : k; System.out.println(rsMax); System.out.println("-------------拓展知识-------------"); int rsMax1 = i > j ? (i > k ? i : k) : (j > k ? j : k); System.out.println(rsMax1); }
本文来自博客园,作者:lanwf,转载请注明原文链接:https://www.cnblogs.com/lccsdncnblogs/p/17530712.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix