Java知多少(12)运算符
数学运算符
数学运算,结果为一个数值。见下表:
| 运算符 | 说明 | 举例 |
|---|---|---|
| + | 加法 | 1 + 2 |
| - | 减法 | 4 - 3.4 |
| * | 乘法 | 7 * 1.5 |
| / | 除法 | 3.5 / 7 |
| % | 取余 | 7 % 2 |
| ++ | 自增 | 3++ |
| -- | 自减 | 3-- |
关系运算符
关系运算符,结果为一个布尔值。见下表:
| 运算符 | 说明 | 举例 |
|---|---|---|
| > | 大于 | a > 4.2 |
| >= | 大于等于 | 3.4 >= b |
| < | 小于 | 1.5 < 9 |
| <= | 小于等于 | 6 <= 1 |
| == | 等于 | 2 == 2 |
| != | 不等于 | 2 != 2 |
| && | 与 | true && false |
| || | 或 | (3 > 1) || (2 == 1) |
| ! | 非 | !true |
位运算符
位运算符对整数的二进制形式逐位进行逻辑运算,得到一个整数。见下表:
| 运算符 | 说明 | 举例 |
|---|---|---|
| & | 与 | 1 & 4 |
| | | 或 | 2 | 5 |
| ^ | 异或 | 2 ^ 3 |
| ~ | 非 | ~5 |
| << | 左移 | 5 << 3 |
| >> | 右移 | 6 >> 1 |
条件运算符
Java中也有一个条件运算符(三目运算符):
condition ? x1 : x2
condition为一个boolean值。根据condition,取x1或x2的值。
下面是关于运算符的一个综合举例:
public class Demo {
2 public static void main(String[] args){
int a=10;
4 int b=10;
int x=10;
6 int y=21;
int z=10;
System.out.println("后自加 a=" + (a++));
9 System.out.println("a的值 a=" + a);
10 System.out.println("前自加 b=" + (++b));
System.out.println("---------------------");
System.out.println("说 x>y,对吗?" + (x>y));
System.out.println("认为 x>y 并且 x<y,对吗?" + ( (x>y) && (x<y) ));
System.out.println("认为 x>=y 或者 x==y,对吗?" + ( (x>=y) || (x==y) ));
System.out.println("认为 x<y 或者 x=z,对吗?" + ( (x<y) || (x==z) ));
System.out.println("---------------------");
17 System.out.println("a&x 的结果是:" + (a&x));
System.out.println("a|x 的结果是:" + (a|x));
System.out.println("y^z 的结果是:" + (y^z));
System.out.println("---------------------");
System.out.println("a 左移2位的结果是:" + (a<<2));
System.out.println("y 右移3位的结果是:" + (y>>3));
23 }
}
运行结果:
后自加 a=10
a的值 a=11
前自加 b=11
---------------------
说 x>y,对吗?false
认为 x>y 并且 x<y,对吗?false
认为 x>=y 或者 x==y,对吗?false
认为 x<y 或者 x=z,对吗?true
---------------------
a&x 的结果是:10
a|x 的结果是:11
y^z 的结果是:31
---------------------
a 左移2位的结果是:44
y 右移3位的结果是:2
Java知多少(12)运算符的更多相关文章
- 032 01 Android 零基础入门 01 Java基础语法 03 Java运算符 12 运算符和if-else条件语句的综合案例——闰年问题
032 01 Android 零基础入门 01 Java基础语法 03 Java运算符 12 运算符和if-else条件语句的综合案例--闰年问题 本文知识点:运算符和if-else条件语句的综合案例 ...
- Java知多少(完结篇)
Java知多少(1)语言概述 Java知多少(2)虚拟机(JVM)以及跨平台原理 Java知多少(3) 就业方向 Java知多少(4)J2SE.J2EE.J2ME的区别 Java知多少(5) Java ...
- Java知多少(14)数组
如果希望保存一组有相同类型的数据,可以使用数组. 数组的定义和内存分配 Java 中定义数组的语法有两种: type arrayName[]; type[] arrayName; type 为Java ...
- Java知多少(上)
Java知多少(1)语言概述 Java知多少(2)虚拟机(JVM)以及跨平台原理 Java知多少(3) 就业方向 Java知多少(4)J2SE.J2EE.J2ME的区别 Java知多少(5) Java ...
- Java学习笔记四——运算符
算术运算符 加减乘除(+.-.*./)就不说了. 求余运算符% 描述:第一个操作数除以第二个操作数,得到一个整除的结果后剩下的值就是余数 注意:求余预算的结果不一定总是整数,当操作数是浮点数时,结果可 ...
- Java中的移位运算符
java中有三种移位运算符 << : 左移运算符,num << 1,相当于num乘以2 >> : 右移运算符,num >& ...
- Java知多少(19)访问修饰符(访问控制符)
Java 通过修饰符来控制类.属性和方法的访问权限和其他功能,通常放在语句的最前端.例如: 1 public class className { 2 // body of class 3 } 4 pr ...
- Java 逻辑运算符、位运算符、移位操作符 总结(Java 学习中的小记录)
Java 逻辑运算符.位运算符.移位操作符 总结 作者:王可利(Star·星星) 逻辑运算符,表格如下: 解析逻辑运算符表: 1.与 (&) 特点:两个都为真的时候,结果为真.两个为 ...
- Java知多少(87)选择框和单选按钮(转)
选择框.单选框和单选按钮都是选择组件,选择组件有两种状态,一种是选中(on),另一种是未选中(off),它们提供一种简单的 “on/off”选择功能,让用户在一组选择项目中作选择. 选择框 选择框(J ...
随机推荐
- Flask启动原理,源码流程分析
1.执行Flask的实例对象.run()方法 from flask import Flask,request,session app = Flask(__name__) app.secret_key ...
- SpringMVC页面传值
public ModelAndView query(){ ModelAndView modelAndView = new ModelAndView(); List list = new ArrayLi ...
- iOS for MachineLearning
链接: 手把手教你在应用里用上iOS机器学习框架Core ML iOS11 新功能开发之 - "高大上"的 CoreML 与 Vision Core ML介绍 (Apple机器学习 ...
- JVM调优总结(7):调优方法
JVM调优工具 Jconsole,jProfile,VisualVM Jconsole : jdk自带,功能简单,但是可以在系统有一定负荷的情况下使用.对垃圾回收算法有很详细的跟踪.详细说明参考这里 ...
- WCF:又是枚举惹的祸
在WCF中使用枚举不便于服务的演化,因为增加一个枚举值,需要更新所有客户端.某种程度上说这也带来了好处,即:防止了新增枚举值带来的意外(宁可失败,也不意外). 鉴于枚举的这种表现,以后尽可能的采用in ...
- iOS:针对固定数据源,更好的封装cell
一.介绍 在iOS开发中,tableView非常常用,能将其展示出来,它的数据源必不可少.当然数据源有动态下发的,有固定写死的,这里我只探讨固定写死的情况.对于死数据,我们在项目中经常遇到的场景就是我 ...
- [leetcode]Largest Rectangle in Histogram @ Python
原题地址:https://oj.leetcode.com/problems/largest-rectangle-in-histogram/ 题意: Given n non-negative integ ...
- eclipse-在编译项目时js特别慢的问题
eclipse在编译项目时,当项目中导入了很多第三方js库时,eclipse在验证js时会消耗大量的时间,而我们却完全不用考虑那些js是否有错误 步骤: 去除eclipse的JS验证: 1.将wind ...
- 微信nickname乱码(emoji)及mysql编码格式设置(utf8mb4)解决的过程
转:https://segmentfault.com/a/1190000004594385 项目中涉及保存微信的nickname,之前一直正常使用,但是突然遇到一个之前没有遇到的问题.经过调试发现错误 ...
- 利用python制作在Linux服务器后台定时运行的任务-邮件提醒
1. 自动任务的功能为: 定时扫描数据库中的记录,然后发邮件 代码如下 scheduleMail.py import pymysql import smtplib from email.mime.te ...