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 ...
随机推荐
- VB.NET 编程元素支持更改总结
Visual Basic 2005 更改了它支持各种编程元素的方式,主要是为了提供与公共语言运行库的互操作性.许多 Visual Basic 6.0 元素被重新命名,重新分类或与 Visual Bas ...
- [HDU1392]Surround the Trees
思路: 凸包模板题. 注意n=1和n=2的情况. 当n=1时,不需要绳子. 当n=2时,绳子长度为两棵树之间距离. 当n≥e时,Graham求凸包即可.最后将凸包上的所有相邻点距离求和. #inclu ...
- node模块包装为Promise书写法
1. const Promise = require('bluebird') const fs = Promise.promisifyAll(Promise.promisify(require('fs ...
- Shell中的>/dev/null 2>&1 与 2>&1 >/dev/null 与&>/dev/null 的区别
默认情况下,总是有三个文件处于打开状态,标准输入(键盘输入).标准输出(输出到屏幕).标准错误(也是输出到屏幕),它们分别对应的文件描述符是0,1,2 .那么我们来看看下面的几种重定向方法的区别: & ...
- Github和Git上fork指南
现在有这样一种情形:有一个叫做Joe的程序猿写了一个游戏程序,而你可能要去改进它.并且Joe将他的代码放在了GitHub仓库上.下面是你要做的事情: fork并且更新GitHub仓库的图表演示 For ...
- boolean和Boolean, char和Character , byte和Byte, short和Short, int和Integer , long和Long , float和Float, double和Double的区别 , String和StringBuffer的区别
Java提供两种不同的类型:引用类型和原始类型(内置类型).Int是java的原始数据类型,Integer是java为int提供的封装类. Java为每个原始数据类型提供了封装类. 其中原始数据类型封 ...
- eclipse-修改启动JDK版本
打开eclipse安装目录下的eclipse.ini文件,将红色内容加入 -vm ../Java/jdk1.6.0_26/bin (或者指向具体目录:D:/software/jdk_1.8u91/bi ...
- how to use boost program options
From: http://www.radmangames.com/programming/how-to-use-boost-program_options If it so happens that ...
- Std::map too few template arguments
在上述的代码中,红色波浪线的部分编译的时候报错: error C2976: 'std::map' : too few template arguments 换成std::map<std::str ...
- Mysql 8 常用命令测试
1.创建数据库,帐号及授权 create database testdb; CREATE USER 'rusking'@'%' IDENTIFIED BY '12345678'; CREATE USE ...