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

【Java学习笔记】运算符

运算符

运算符的类型


一、算数运算符

运算符计算范例结果
+正号+77
-负号b=11; -b-11
+加法9+918
-减法10-82
*乘法7*856
/除法9/91
%取模(取余)11%92
++自增(前)a=2;b=b++;aa=3; b=2
++自增(后)a=2;b=++a;a=3; b=3
自减(前)a=2;b=b–;aa=2; b=1
自减(后)a=2;b=–a;a=1; b=1
++字符串相加“hsp”+“edu”“hspedu”

注意点

案例说明

public class hello{public static void main(String[] args){//在%的本质看一个公式!!!!a%b=a-a/b*b//-10%3=>-10-(-10)/3*3=-10+9=-1//10%-3=10-10/(-3)*(-3)=10-9=1//-10%-3= (-10)-(-10)/(-3)*(-3)=-10+9=-1System.out.println(10 % 3); //1System.out.println(-10 % 3); //-1System.out.println(10 %-3); //1System.out.println(-10 %-3);//-1}
}

二、赋值运算符

注意是从右往左运算,把某个值赋给变量

类型

注意符合赋值运算符会进行类型转换


三、关系运算符

关系运算符的结果都是 boolean 型,也就是要么是 true,要么是 false

运算符计算范例结果
==相等于8 == 7false
!=不等于8 != 7true
<小于8 < 7false
>大于8 > 7true
<=小于等于8 <= 7false
>=大于等于8 >= 7true
instanceof检查是否是类的对象“hsp” instanceof Stringtrue

四、逻辑运算符

类型

使用规则

区别||| ; &&&

总结

&&& 的代码示例

public class Hello {// 编写一个main方法public static void main(String[] args) {// && 短路与和 & 案例演示int age = 50;// 使用 && 短路与if (age > 20 && age < 90) {System.out.println("ok100");}// 使用 & 逻辑与if (age > 20 & age < 90) {System.out.println("ok200");}// 区别int a = 4;int b = 9;// 对于 && 短路与而言,如果第一个条件为 false, 后面的条件不再判断// 对于 & 逻辑与而言,如果第一个条件为 false, 后面的条件仍然会判断if (a < 1 & ++b < 50) {System.out.println("ok300");}System.out.println("a=" + a + " b=" + b); // 输出 a=4 b=10}
}

|||的代码示例

public class LogicOperator02 {// 编写一个main方法public static void main(String[] args) {// || 短路或和 | 逻辑或案例演示// || 规则: 两个条件中只要有一个成立,结果为 true,否则为 false// | 规则: 两个条件中只要有一个成立,结果为 true,否则为 falseint age = 50;// 使用 || 短路或if (age > 20 || age < 30) {System.out.println("ok100");}// 使用 | 逻辑或if (age > 20 | age < 30) {System.out.println("ok200");}// 看看区别// (1) || 短路或:如果第一个条件为 true,则第二个条件不会判断,最终结果为 true,效率高// (2) | 逻辑或:不管第一个条件是否为 true,第二个条件都要判断,效率低int a = 4;int b = 9;// 使用 || 短路或,如果条件满足,第一个条件为 trueif (a > 1 || ++b > 4) { // 可以换成 | 来测试System.out.println("ok300");}// 输出 a 和 b 的值System.out.println("a=" + a + " b=" + b); // 4 10}
}

五、三元运算符

使用方法示例:int res=a > b ? a++ : --b;

代码示例

if(a > b)
{res = a;
}
else
{res = b;
}

注意:数据类型转换问题

代码示例

public class TernaryOperatorDetail {// 编写一个main方法public static void main(String[] args) {// 表达式1和表达式2要为可以赋给接收变量的类型// (或可以自动转换/或者强制转换)int a = 3;int b = 8;// 使用三元运算符进行赋值int c = a > b ? (int) 1.1 : (int) 3.4; // 强制转换成 int 类型System.out.println("c = " + c); // 输出 c 的值double d = a > b ? a : b + 3; // 可以的,满足 int -> double 自动类型转换System.out.println("d = " + d); // 输出 d 的值}
}

运算符优先级示例

说明

相关文章:

  • 【星海随笔】Python-JSON数据的处理
  • C++中类拷贝、赋值与销毁详解
  • FairyGUI图标文字合批失败的原因
  • HarmonyOS 5.0应用开发——五子棋游戏(鸿蒙版)开发
  • 【双指针】专题:LeetCode 611题解——有效三角形的个数
  • OpenCV 图形API(39)图像滤波----同时计算图像在 X 和 Y 方向上的一阶导数函数SobelXY()
  • 企业采购平台搭建指南:从流程重构到生态协同的数字化转型路径
  • 【学习笔记】Taming 3DGS泛读
  • 【android bluetooth 协议分析 02】【bluetooth hal 层详解 1】【uart 介绍】
  • 【病毒分析】定向财务的钓鱼木马分析
  • 过滤器及拦截器
  • 一文掌握RK3568开发板Android13挂载Windows共享目录
  • C++Cherno 学习笔记day21 [86]-[90] 持续集成、静态分析、参数计算顺序、移动语义、stdmove与移动赋值操作符
  • 蓝桥杯 8. 分巧克力
  • oracle判断同表同条件查出两条数据,根据长短判断差异
  • leetcode_344.反转字符串_java
  • CS5346 - CHARTS: Chart with Point / Bar / Line / Box
  • matlab中simulink的快捷使用方法
  • 用友U8在参照生产订单界面显示各个仓别的可用量
  • 机器学习03——K近邻
  • hotmail邮箱登录/seo推广代理
  • 云网站建设的意义/舆情网站直接打开
  • 网站建设包含哪些方面/河北seo推广
  • php做网站难吗/网站推广搜索
  • 用wordpress做的网站有哪些/百度权重域名
  • 金华市建设银行网站/郑州seo优化阿亮