当前位置: 首页 > news >正文

Day12-20251206

快捷键(IDEA)

  • Shift+Enter:在任意位置切换至下一行

  • Shift+Ctrl+Enter:自动补全

复习自增自减

随堂代码:

package operator;public class Demo04 {public static void main(String[] args) {//++   --   自增,自减   一元运算符int a = 3;int b = a++;//执行完这行代码后,先给b赋值,在自增//a++   a = a + 1;,这里少写一行代码就是a = a + 1;在执行int b = a++之前System.out.println(a);//==a   a = a + 1;这里少写一行代码就是a = a + 1;在执行int c = ++a之前int c = ++a;//执行完这行代码前,先自增,在给c赋值System.out.println(a);System.out.println(a);System.out.println(b);System.out.println(b);System.out.println(c);System.out.println(c);//幂运算2^3   2*2*2 = 8   java中没有这种写法//很多运算,我们会使用一些工具类来操作double pow = Math.pow(2, 3);//Math类提供了很多工程科学计算需要的一些方法和常数System.out.println(pow);}
}

输出:

4
5
5
3
3
5
5
8.0进程已结束,退出代码为 0

注意:

  • a++,先把a赋值给b,然后再执行a+1的操作。所以会在这一步后输出a=4。b=3。

  • ++a,先执行a+1的操作,然后再把a赋值给c。所以会在这一步后输出a=5。c=5

逻辑运算:&&(与)、||(或)、!(非)

package operator;//逻辑运算符
public class Demo05 {public static void main(String[] args) {//与(and)&&   或(or)||   非(取反)!boolean a = true;boolean b = false;System.out.println("a && b:"+(a&&b));//逻辑与运算:两个变量都为真,结果才为trueSystem.out.println("a || b:"+(a||b));//逻辑与运算:两个变量有一个为真,结果才为trueSystem.out.println("!(a &&b ):"+!(a&&b));//如果是真,则变为假,如果是假则变为真//短路运算// 与门中都为真才输出true,第一个为lalse,则直接输出false,不会进行后续操作int c = 5;boolean d = (c < 4) && (c++ < 10);System.out.println(d);System.out.println(c);}
}

位运算:&、|、^、~、>>、<<、>>>

package operator;
//位运算符
public class Demo06 {public static void main(String[] args) {/*A = 0011 1100B = 0000 1101------------------------------A&B = 0000 1100A|B = 0011 1101A^B = 0011 0001~B = 1111 00102*8 = 16   2*2*2*2效率极高(左移)<<   *2(右移)>>   /20000 0000   00000 0001   10000 0010   20000 0011   30000 0100   40000 1000   16*///A与B,二进制比较时,两个位上都为1,则为1.否则为0//A或B,二进制比较时,两个位上都为0,则为0.否则为1//异或运算,二进制比较时,两个位上相同,则为0.否则为1//~取反,每一位上取相反的System.out.println(2<<3);}
}

<< *2,>> /2

扩展赋值运算符:+=、-+、*=、/=

a+=b:a=a+b

a-=b:a=a-b

package operator;
//扩展赋值运算符:+=,-=,*=,/=
public class Demo07 {public static void main(String[] args) {int a = 10;int b = 20;a+=b;//a = a+ba-=b;//a = a-bSystem.out.println(a);//字符串连接符   +   ,+两侧出现字符串类型(String)都转换为String在进行链接System.out.println(a+b);System.out.println(""+a+b);//字符串在前则相连System.out.println(a+b+"");//字符串在后则先运算在拼接}
}

条件运算符?:

优先级

()最高优先级

Java 运算符的优先级从高到低排序如下(同一行优先级相同,按结合性计算):

  1. 括号: () (最高优先级,强制改变运算顺序)
  2. 单目运算符: ++ (自增)、 -- (自减)、 ! (非)、 ~ (按位非)、 + (正号)、 - (负号)、 (类型) (强制类型转换)、 new (创建对象)
  3. 算术运算符: * (乘)、 / (除)、 % (取余)
  4. 算术运算符: + (加)、 - (减)
  5. 移位运算符: << (左移)、 >> (右移,带符号)、 >>> (无符号右移)
  6. 关系运算符: > 、 < 、 >= 、 <=
  7. 关系运算符: == (等于)、 != (不等于)
  8. 按位与: &
  9. 按位异或: ^
  10. 按位或: |
  11. 逻辑与: &&
  12. 逻辑或: ||
  13. 三目运算符: 条件 ? 表达式1 : 表达式2
  14. 赋值运算符: = 、 += 、 -= 、 *= 、 /= 、 %= 、 <<= 、 >>= 、 >>>= 、 &= 、 ^= 、 |= (最低优先级)

示例:

int a = 2 + 3 * 4; // 先算 3*4=12,再算 2+12=14 → a=14
int b = (2 + 3) * 4; // 括号优先,先算 2+3=5,再算 5*4=20 → b=20
int c = 10 > 5 && 3 < 2; // 先算关系运算,再算逻辑与 → false

优先级不确定时,建议用括号明确顺序,代码更易读~

本文介绍了Java中的运算符使用和优先级规则。主要内容包括:1) IDEA快捷键Shift+Enter换行和Shift+Ctrl+Enter自动补全;2) 自增自减运算符++/--的前置和后置区别;3) 逻辑运算符&&、||、!的用法;4) 位运算符&、|、^、~、<<、>>的二进制运算;5) 扩展赋值运算符+=、-=等;6) 条件运算符?:的使用;7) 运算符优先级从高到低排序,建议用括号明确运算顺序。文章通过代码示例演示了各种运算符的具体应用场景和注意事项。

http://www.gsyq.cn/news/74828.html

相关文章:

  • [NOI2015 程序自动分析]
  • 【基础】Unity着色器网格和计算对象介绍
  • 首单半价对话框的实现
  • Anchor宽高比
  • SAM3模型来了,手把手带你运行SAM3模型代码,SAM3模型初探!
  • 从可优化到可进化:企业智能化的本质、边界与治理
  • 线段树学习笔记
  • 短剧小程序 2025 核心痛点分析:内容、工艺与合规的三重困境
  • 「Java EE开发指南」如何在MyEclipse中构建EJB 2 Session Bean?(一)
  • 文件摆渡系统哪个好:提升企业文件交换安全性的首选方案
  • 115.娇三“独处-再思考”
  • 2025最新发布!耐磨的轮胎推荐:五大高耐磨胎精选报告
  • 2025年权威发布!防爆胎更换推荐:权威防爆胎更换TOP指南
  • 路由注入
  • 实用指南:C++幻象:内存序、可见性与指令重排
  • 实验三
  • 实验五
  • 2025年12月新能源汽车轮胎推荐:最新电车胎精选指南
  • 2025年美国投行求职机构哪家高效不爆雷:助学员成本降60%offer量产
  • Go 语言(Golang):核心特性、生态优势与实战应用全解析
  • 详细介绍:《Windows 服务器 WinSCP 保姆级配置指南:从 0 到 1 实现 “无痛” 远程文件管理》
  • 每个人都在追寻远方,那远方的人是否也有自己的远方呢?
  • 2025年12月安全的轮胎推荐:专业安全胎权威指南
  • SUV车型轮胎推荐:权威SUV胎专业推荐
  • 家用轿车轮胎推荐:十大家轿胎深度榜单
  • “游戏无法启动”、“DLL文件丢失”或“缺少组件”怎么办
  • 2025年节油的轮胎推荐:权威省油胎最新榜单
  • 奔跑
  • Spring Boot:核心概念、核心特性与实战应用全解析
  • 2025年下半年上海ISO三体系认证服务专业机构深度评测与选择指南