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

JavaSE:3、运算符

1、赋值运算符

从右往左运算,左边是可赋值的目标,返回计算结果
public class Main {public static  void main(String [] argv){int a=10;int b=a=100;System.out.println(a);  //输出100System.out.println(b);  //输出100}
}

2、算术运算符

+    -     *    /     %

(1)加法

支持字符串拼接,变量常量相加,隐式类型转换。类型无法隐式转换需要强制类型转换
public class Main {public static  void main(String [] argv){int a=10;int b=a+100;String s1="aaa";String s2="bbb"+s1+a;   //字符串可拼接// short c=b+a;      //ERROR  类型不可转换long d=b+a;   //True  可隐式转换short e=(short)(b+a);    //True  强制转换System.out.println(e);  //输出  120System.out.println(s2);  //输出  bbbaaa10}
}

(2)减法

 支持变量常量相减,隐式类型转换,不可转换需强制类型转换
public class Main {public static  void main(String [] argv){int a=1000;int b=a-100;// short c=b-a;      //ERROR  类型不可转换long d=b-a;   //True  可隐式转换short e=(short)(b-a);    //True  强制转换System.out.println(e);  //输出 -100System.out.println(d);  //输出 -100}
}

(3)乘法

支持变量常量相乘,隐式类型转换,不可转换需强制类型转换
public class Main {public static  void main(String [] argv){int a=10;int b=a*100;// short c=b*a;      //ERROR  类型不可转换long d=b*a;   //True  可隐式转换short e=(short)(b*a);    //True  强制转换System.out.println(e);  //输出 10000System.out.println(d);  //输出 10000}
}

(4)除法

整数类型向下取整,支持变量常量相除,隐式类型转换,不可转换需强制类型转换
public class Main {public static  void main(String [] argv){int a=1000;int b=a/9;double c=30;double d=7;//short c=b/a;      //ERROR  类型不可转换long f=b/a;   //True  可隐式转换short e=(short)(b/a);    //True  强制转换System.out.println(f);  //输出 0  向下取整System.out.println(e);  //输出 0System.out.println(c/d);  //输出4.285714285714286}
}

(5)取模

支持变量常量取模,隐式类型转换,不可转换需强制类型转换
public class Main {public static  void main(String [] argv){int a=1000;int b=a%9;double c=30.5;double d=7.5;//short c=b;      //ERROR  类型不可转换long f=b;   //True  可隐式转换short e=(short)(b);    //True  强制转换System.out.println(f);  //输出 1System.out.println(e);  //输出 1System.out.println(c%d);  //输出0.5}
}

3、括号运算符

可隐式类型转换,转换不了需强制类型转换
public class Main {public static  void main(String [] argv){int a=10;int b=(a+5)*7;int c=a+5*7;int d=(b+3*(a+1));System.out.println(b);  //输出 105System.out.println(c);  //输出 45System.out.println(d);  //输出 138}
}

4、自增自减运算符

以及+=   -=   *=   /=   %=
public class Main {public static  void main(String [] argv){int a=10;System.out.println(a++);  //输出 10System.out.println(++a);  //输出 12System.out.println(a--);  //输出12System.out.println(--a);  //输出10int b=a/=1;System.out.println(b);  //输出 10b=a+=1;System.out.println(b);  //输出 11b=a-=1;System.out.println(b);  //输出 10b=a*=1;System.out.println(b);  //输出 10b=a%=1;System.out.println(b);  //输出 0}
}

5、位运算

详见:位运算
public class Main {public static  void main(String [] argv){int a=10;int b=9;//1010  1001int c=a&b;System.out.println(c);  //输出 8c=a^b;System.out.println(c);  //输出 3c=a|b;System.out.println(c);  //输出 11c=~a;System.out.println(c);  //输出 -11c=~b;System.out.println(c);  //输出 -10}
}

6、关系运算符

> 大于

< 小于

== 等于(注意是两个等号连在一起,不是一个等号,使用时不要搞混了)

!= 不等于

>= 大于等于

<= 小于等于

运算得到Boolean类型的值
public class Main {public static  void main(String [] argv){int a=10;int b=9;// int c=a>b;  ERROR  boolean类型无法转换为其它类型boolean c=a>b;   System.out.println(c);  //输出 truec=a<b;System.out.println(c);  //输出 falsec=a==b;System.out.println(c);  //输出 falsec=a!=b;System.out.println(c);  //输出 truec=a>=b;System.out.println(c);  //输出 truec=a<=b;System.out.println(c);  //输出 false}
}

7、逻辑运算符

&& 与运算,要求两边同时为true才能返回true
|| 或运算,要求两边至少要有一个为true才能返回true
! 非运算,表示对表达式的结果进行反转
该运算符作用与boolea类型变量或值,其它类型不可。
还可能存在短路。
public class Main {public static  void main(String [] argv){int a=10;int b=9;//  int c=a&&b;  ERROR  需作用boolean类型boolean d=true,e=false;boolean c=d&&e;   System.out.println(c);  //输出 falsec=d||e;System.out.println(c);  //输出 truec=d&&d;System.out.println(c);  //输出 truec=e&&e;System.out.println(c);  //输出 falseec=!d;System.out.println(c);  //输出 falsec=!e;System.out.println(c);  //输出 true}
}

8、三元运算符

public class Main {public static  void main(String [] argv){int a = 10;char b = a > 10 ? 'A' : 'B';   //三元运算符需要三个内容,第一个是判断语句,第二个是满足判断语句的值,第三个是不满足判断语句的值System.out.println(b);  //输出 B}
}

运算符优先级

括号、非、自增自减、算术、位运算(左右移)、关系运算、位运算、逻辑运算、三元,赋值类 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 关于easyadmin权限配置
  • 在被摩根士丹利列为AI领域首选股后,你现在应该买入ARM股票吗?
  • Linux 删除 当前下的 mysql-8.0.31 空文件夹
  • 一条SQL实现GPT大模型【完全看不懂】
  • Rust使用Actix-web和SeaORM库开发WebAPI通过Swagger UI查看接口文档
  • CORS跨域详解
  • 复变函数论重大错误:将无穷多各异平面误为同一面
  • socket远程命令通信简单实现
  • 《Nginx 负载均衡详解》
  • ‌‌雅诗兰黛、‌‌兰蔻等美妆大品牌的营销策略是什么?
  • pandas中loc和iloc的区别
  • 【排序算法】之基数排序
  • kafka原理剖析及实战演练
  • 手机玩机常识-------谷歌系列机型解锁bl详细步骤 其他机型可以借鉴参考
  • Git 提取和拉取的区别在哪
  • (十五)java多线程之并发集合ArrayBlockingQueue
  • [笔记] php常见简单功能及函数
  • 《Javascript数据结构和算法》笔记-「字典和散列表」
  • Apache的80端口被占用以及访问时报错403
  • ES6 ...操作符
  • IOS评论框不贴底(ios12新bug)
  • PHP 使用 Swoole - TaskWorker 实现异步操作 Mysql
  • PHP那些事儿
  • Theano - 导数
  • 代理模式
  • 高程读书笔记 第六章 面向对象程序设计
  • 将 Measurements 和 Units 应用到物理学
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 微信小程序实战练习(仿五洲到家微信版)
  • 详解NodeJs流之一
  • 用Python写一份独特的元宵节祝福
  • d²y/dx²; 偏导数问题 请问f1 f2是什么意思
  • python最赚钱的4个方向,你最心动的是哪个?
  • Spark2.4.0源码分析之WorldCount 默认shuffling并行度为200(九) ...
  • ​​​​​​​​​​​​​​汽车网络信息安全分析方法论
  • ​软考-高级-系统架构设计师教程(清华第2版)【第15章 面向服务架构设计理论与实践(P527~554)-思维导图】​
  • ​软考-高级-系统架构设计师教程(清华第2版)【第1章-绪论-思维导图】​
  • ​软考-高级-系统架构设计师教程(清华第2版)【第20章 系统架构设计师论文写作要点(P717~728)-思维导图】​
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • #知识分享#笔记#学习方法
  • (51单片机)第五章-A/D和D/A工作原理-A/D
  • (cos^2 X)的定积分,求积分 ∫sin^2(x) dx
  • (leetcode学习)236. 二叉树的最近公共祖先
  • (Repost) Getting Genode with TrustZone on the i.MX
  • (zt)基于Facebook和Flash平台的应用架构解析
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (超详细)2-YOLOV5改进-添加SimAM注意力机制
  • (二)fiber的基本认识
  • (十)T检验-第一部分
  • (数据结构)顺序表的定义
  • (一)基于IDEA的JAVA基础10
  • (转)清华学霸演讲稿:永远不要说你已经尽力了
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • .net 使用$.ajax实现从前台调用后台方法(包含静态方法和非静态方法调用)
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地中转一个自定义的弱事件(可让任意 CLR 事件成为弱事件)