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

java学习日记10.5

运算符

优先级

最高

  1. 括号 ( ) [ ]
  2. 后缀自增/自减 i++/i--

单目运算符

  1. 前缀自增/自减、正负号、按位取反、逻辑非 i++/i--、+/-、~、!

  2. 强制类型转换 (int)


算术运算符

  1. 乘、整除、求模 *、/、%
  2. 加、减 +、-

位运算符与移位

  1. 左移、右移、无符号右移 <<、>>、>>>
  2. 比较、类型判断 <、>、<=、>=、instanceof
  3. 等于、不等于 ==、!=
  4. 按位与 &
  5. 按位异或 ^

逻辑运算符

  1. 逻辑与(短路) &&

条件与赋值

  1. 三元运算符(条件运算符) ?:
  2. 赋值运算符 =、+=、-=、*=、/=、%=、&=、^=、<<=、>>=、>>>=

最低优先级

  1. 逗号运算符 ,

算术运算符

+加法,-减法,*乘法,/整除,%求模(余),++在自己基础上加1,--在自己基础上减1

++和--

我先用一个代码示范一下

int a = 3;
int b = a++;
int c = ++a;
System.out.println(a);
System.out.println(b);
System.out.println(c);

这里的输出结果是5,3,5

为什么呢?

int a = 3;
int b = a++;//这行代码有两个过程
//1.赋值	b = a
//2.执行	a = a + 1
int c = ++a;//这行代码同样有两个过程
//1.执行	a = a + 1
//2.赋值	c = a

所以输出的a的值是5,b是3,c是5

幂运算

这个需要用到Math.

double pow = Math.pow(2,3);
//注意这里只能用double定义
System.out.print(pow);

赋值运算符

=

关系运算符

<小于,>大于,<=小于等于,>=大于等于,==等于,!=不等于

逻辑运算符

&&与,||或,!非

 boolean a = true;boolean b = false;System.out.println("a && b : "+(a&&b));
//两个变量都为true,结果为trueSystem.out.println("a || b : "+(a||b));
//两个变量有一个为true,结果为trueSystem.out.println("! (a && b) : "+!(a&&b));
//如果为真,结果为假;如果为假,结果为真

a && b : false
a || b : true
! (a && b) : true

短路:

 System.out.println("a && b : "+(b&&a));

由于b已经为假,那么就不会继续计算a是否为真,直接输出结果

证明:

int c = 5;
boolean b = (c < 4)&&(c++ < 4);
System.out.print(b);
System.out.print(c);

如果计算了(c++<4)那么结果应该为false和6

但输出结果为false和5,说明并没有执行

位运算符

&,|,^,~,>>,<<,>>>

条件运算符

?,:

int score = 80;
String type = score<60?"不及格":"及格";

条件?结果1:结果2

若结满足条件,则赋值结果1,若不满足,则赋值结果2

虽然可以使用if,但是条件运算符更加精简

扩展赋值运算符

+=,-=,*=,/=

a += b;//a = a + b
a -= b;//a = a + b

字符串连接符

只要在+任意一侧出现String类型,往后另一侧会自动转化为String类型

a = 10;
b = 20;
System.out.print(""+a+b);
System.out.print(a+b+"");

输出的结果是1020,30

字符串往后的所有都转化为String类型,字符串往前的所有任然按照原本的数据类型进行计算

http://www.hskmm.com/?act=detail&tid=25388

相关文章:

  • 【JNI】JNI基础语法
  • 【EF Core】通过 DbContext 选项扩展框架
  • 从Chrome渲染器代码执行到内核:MSG_OOB漏洞分析与利用
  • assistant-ui
  • 20251006 之所思 - 人生如梦
  • C# Avalonia 16- Animation- RotateButton
  • 2025 十一集训
  • 汇编实验3
  • 20251005 模拟测 总结
  • 基于Python+Vue开发的体育用品商城管理系统源码+运行步骤
  • 完整教程:Microsoft Word使用技巧分享(本科毕业论文版)
  • (转)The Ten Commandments of Digital Cotrol(Part1)
  • ctf逆向常见算法----base64
  • 02020409 EF Core基础09-一对一、多对多、EF Core基于关系的复杂查询
  • 02020503 EF Core高级03-分页查询、IQuerable底层的实现形式、DataReader、DataTable、EF Core中的异步方法
  • 02020502 EF Core高级02-IQuerable会延迟执行、分部和动态构建IQuerable、IQuerable的复用
  • 在 PyCharm 中,环境:bert_env , 执行 import wandb 报错。但是,在CMD窗口,环境:bert_env , 执行 import wandb 正常。
  • Linux_T(Sticky Bit)粘滞位详解 - 详解
  • P2831 [NOIP 2016 提高组] 愤怒的小鸟 题解
  • 库存中心(三层库存模型)
  • Valley靶机渗透实战:从凭证复用到Python库劫持
  • 10.05模拟赛反思
  • MariaDB收购SkySQL增强AI与无服务器能力
  • 单片机寄存器的四种主要类型! - 实践
  • TDengine 高级特性——读缓存
  • 非合作博弈之软性均衡:东方智慧与西方理论的融合框架
  • 如何快速搭建spring-boot工程 - murphy
  • Ai元人文:东谈西论——非合作博弈之软性均衡
  • 反向传播与梯度下降:神经网络如何真正学会分类
  • Spring Cloud Alibaba微服务开发