Java从零开始学六(运算符)
运算符
一、赋值运算符号
|
No.
|
赋值运算符号
|
描述
|
|
1
|
=
|
赋值
|
int num=22;
System.out.println("num= "+num);
num=num-3;
System.out.println("num= "+num);
结果:
num= 22
num= 19
二、一元运算符
|
No.
|
一元运算符
|
描述
|
|
1
|
+
|
正号
|
|
2
|
–
|
负号
|
|
3
|
!
|
NOT,否
|
boolean flag=false;
int x=10; //定义一个正数
int y=-30; //定义一个负数
System.out.println("x= "+x);
System.out.println("y= "+y);
System.out.println("flag= "+flag+"!b= "+!flag);
结果:
x= 10
y= -30
flag= false !b= true
三、算术运算符
算术运行符和数学中的用法一样
|
No.
|
算术运算符
|
描述
|
|
1
|
+
|
加法
|
|
2
|
–
|
减法
|
|
3
|
*
|
乘法
|
|
4
|
/
|
除法
|
|
5
|
%
|
取模(取余数)
|
int i = 10;
int j = 3;
System.out.println(i+"+"+j +"="+(i+j)); //加法
System.out.println(i+"-"+j +"="+(i-j)); //减法
System.out.println(i+"*"+j +"="+(i*j)); //乘法
System.out.println(i+"/"+j +"="+(i/j)); //除法
System.out.println(i+"%"+j +"="+(i%j)); //取模求余数
结果:
10+3=13
10-3=7
10*3=30
10/3=3
10%3=1
四、关系运算符
|
No.
|
关系运算符
|
描述
|
|
1
|
>
|
大于
|
|
2
|
<
|
小于
|
|
3
|
>=
|
大于等于
|
|
4
|
<=
|
小于等于
|
|
5
|
==
|
等于
|
|
6
|
!=
|
不等于
|
五、自增与自减运算符
|
No.
|
自增与自减运算符
|
描述
|
|
1
|
++
|
自增,变量值加1
|
|
2
|
--
|
自减,变量值减1
|
int a=3,b=3; //定义整型变量a,b
int x=6,y=6; //定义整型变量x,y
System.out.println("a= "+a); //输出变量a的值
System.out.println("a++="+(a++)+" a= "+a); //输入a++和a++之后a的值3,4
System.out.println("b= "+b);
System.out.println("++b="+(++b)+" b="+b); //值出++b,和++b之后b的值4,4
System.out.println("x= "+x);
System.out.println("x--="+(x--)+" x= "+x); //输出x--和x--之后x的值6,5
System.out.println("y= "+y);
System.out.println("--y="+(--y)+" y="+y); //输出--y和--y之后的值5,5
六、逻辑运算符
|
No.
|
逻辑运算符
|
描述
|
|
1
|
&
|
AND,与
|
|
2
|
&&
|
短路与
|
|
3
|
|
|
OR,或
|
|
4
|
||
|
短路或
|
|
No.
|
条件1
|
条件2
|
结果
|
|
|
&&(与)
|
||(或)
|
|||
|
1
|
true
|
true
|
true
|
true
|
|
2
|
true
|
false
|
false
|
true
|
|
3
|
false
|
true
|
false
|
true
|
|
4
|
false
|
false
|
false
|
false
|
- &&”与“&”
- &&表示短路与
- 对于“与”来说,要求所有的条件都判断,而如果使用“短路与”如果第一个条件为false,则后面的条件将不再判断。
- “||”与“|”
- ||表示短路或
- 对于“或”来说,要求所有的条件都判断,而如果使用“短路或”如果第一个条件为true,则后面的条件将不再判断。
七、括号运算符
|
No.
|
括号运算符
|
描述
|
|
1
|
()
|
提高括号中表达式的优先级
|
八、位运算符
|
No.
|
逻辑运算符
|
描述
|
|
1
|
&
|
按位与
|
|
2
|
|
|
按位或
|
|
3
|
^
|
异或(相同为0,不同为1)
|
|
4
|
~
|
取反
|
|
5
|
<<
|
左移位
|
|
6
|
>>
|
右移位
|
|
7
|
>>>
|
无符号右移位
|
位运算的结果表
|
No.
|
二进制数1
|
二进制数1
|
与操作(&)
|
或操作(|)
|
异或操作(^)
|
|
1
|
0
|
0
|
0
|
0
|
0
|
|
2
|
0
|
1
|
0
|
1
|
1
|
|
3
|
1
|
0
|
0
|
1
|
1
|
|
4
|
1
|
1
|
1
|
1
|
0
|
九、运算符的优先级
|
优先级
|
运算符
|
类
|
结合性
|
|
1
|
()
|
括号运算符
|
由左至右
|
|
1
|
[]
|
方括号运算符
|
由左至右
|
|
2
|
!、+(正号)、-(负号)
|
一元运算符
|
由右至左
|
|
2
|
~
|
位逻辑运算符
|
由右至左
|
|
2
|
++、--
|
递增与递减运算符
|
由右至左
|
|
3
|
*、/、%
|
算术运算符
|
由左至右
|
|
4
|
+、-
|
算术运算符
|
由左至右
|
|
5
|
<<、>>
|
位左移、右移运算符
|
由左至右
|
|
6
|
>、>=、<、<=
|
关系运算符
|
由左至右
|
|
7
|
==、!=
|
关系运算符
|
由左至右
|
|
8
|
&(位运算符AND)
|
位逻辑运算符
|
由左至右
|
|
9
|
^(位运算符号XOR)
|
位逻辑运算符
|
由左至右
|
|
10
|
|(位运算符号OR)
|
位逻辑运算符
|
由左至右
|
|
11
|
&&
|
逻辑运算符
|
由左至右
|
|
12
|
||
|
逻辑运算符
|
由左至右
|
|
13
|
?:
|
三目运算符
|
由右至左
|
|
14
|
=
|
赋值运算符
|
由右至左
|
十、简洁表达式
|
No.
|
运算符
|
范例用法
|
说明
|
描述
|
|
1
|
+=
|
a += b
|
a + b的值存放到a中
|
a = a + b
|
|
2
|
-=
|
a -= b
|
a - b的值存放到a中
|
a = a - b
|
|
3
|
*=
|
a *= b
|
a * b的值存放到a中
|
a = a * b
|
|
4
|
/=
|
a /= b
|
a / b的值存放到a中
|
a = a / b
|
|
5
|
%=
|
a %= b
|
a % b的值存放到a中
|
a = a % b
|
|
No.
|
运算符
|
范例
|
执行前
|
说明
|
执行后
|
||
|
a
|
b
|
a
|
b
|
||||
|
1
|
+=
|
a += b
|
12
|
3
|
a + b的值存放到a中(同a = a + b)
|
15
|
3
|
|
2
|
-=
|
a -= b
|
12
|
3
|
a - b的值存放到a中(同a = a – b)
|
9
|
3
|
|
3
|
*=
|
a *= b
|
12
|
3
|
a * b的值存放到a中(同a = a * b)
|
36
|
3
|
|
4
|
/=
|
a /= b
|
12
|
3
|
a / b的值存放到a中(同a = a / b)
|
4
|
3
|
|
5
|
%=
|
a %= b
|
12
|
3
|
a % b 的值存放到a中(同a = a % b)
|
0
|
3
|
|
6
|
b++
|
a *= b++
|
12
|
3
|
a * b的值存放到a后,b加1(同a = a * b;b++)
|
36
|
4
|
|
7
|
++b
|
a *= ++b
|
12
|
3
|
b加1后,再将a*b的值存放到a(同b++;a=a*b)
|
48
|
4
|
|
8
|
b--
|
a *= b--
|
12
|
3
|
a * b的值存放到a后,b减1(同a=a*b;b--)
|
36
|
2
|
|
9
|
--b
|
a *= --b
|
12
|
3
|
b减1 后,再将a*b的值存放到a(同b--;a=a*b)
|
24
|
2
|
Java从零开始学六(运算符)的更多相关文章
- Java从零开始学三十六(JAVA IO- 字符流)
一.字符流 BufferedReader:BufferedReader是从缓冲区之中读取内容,所有的输入的字节数据都将放在缓冲区之中 BufferedWriter:把一批数据写入到缓冲区,当缓冲区区的 ...
- Java从零开始学二十六(包装类)
一.包装类 包装类是将基本类型封装到一个类中.也就是将基本数据类型包装成一个类类型. java程序设计为每一种基本类型都提供了一个包装类.这些包装类就在java.lang包中.有8个包装类 二.包装类 ...
- Java从零开始学十六(多态)
一.什么是多态 多态性是指允许不同类的对象对同一消息作出响应.多态性包括参数化多态性和包含多态性.多态性语言具有灵活.抽象.行为共享.代码共享的优势,很好的解决了应用程序函数同名问题.多态有两种表现形 ...
- Java从零开始学四十六(Junit)
一.软件测试 软件开发: 项目调研--需求分析--软件设计--程序编码--软件测试--运行维护 软件测试:利用测试工具按照测试方案和流程对产品进行功能和性能测试,使用人工或者自动手段来运行或测试某个系 ...
- Java从零开始学四十五(Socket编程基础)
一.网络编程中两个主要的问题 一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输. 在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可 ...
- Java从零开始学四十四(多线程)
一.进程与线程 1.1.进程 进程是应用程序的执行实例. 进程是程序的一次动态执行过程,它经历了从代码加载.执行到执行完毕的一个完整过程,这个过程也是进程本身从产生.发展到最终消亡的过程 特征: 动态 ...
- Java从零开始学四十一(反射简述二)
一.实例化Class类对象 实例化Class类对象的方法有三种: 第一种:通过forName()方法 第二种:类.class 第三种:对象.getClass() 二.Class类的常用方法 No. 方 ...
- Java从零开始学四十(反射简述一)
一.JAVA是动态语言吗? 一般而言,说到动态言,都是指在程序运行时允许改变程序结构或者变量类型,从这个观点看,JAVA和C++一样,都不是动态语言. 但JAVA它却有着一个非常突出的动态相关机制:反 ...
- Java从零开始学三十九(对象序列化)
一.序列化 将对象的状态存储到特定存储介质中的过程 对象序列化,就是把一个对象变为二进制的数据流的一种方法,通过对象序列化可以方便的实现对象的传输或存储. 序列化保存对象的“全景图”,构建对象的“ ...
随机推荐
- PAT甲级1127. ZigZagging on a Tree
PAT甲级1127. ZigZagging on a Tree 题意: 假设二叉树中的所有键都是不同的正整数.一个唯一的二叉树可以通过给定的一对后序和顺序遍历序列来确定.这是一个简单的标准程序,可以按 ...
- sql prompt5安装好了,也破解完成了,然后到SQL里面还是没有提示是为什么?
勾上这个,祝你成功!
- centos配置虚拟主机virtualhost,让服务器支持多网站多域名(转)
如何让centos(redhat)配置虚拟主机,让服务器支持多个网站,针对Apache,只需要你修改apache配置文件/etc/httpd/conf/httpd.conf即可. 里面有个exampl ...
- iframe动态改变内嵌页面高度
test.html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://w ...
- QDAC
QDAC GITHUB: svn://www.qdac.cc/QDAC3 包括QMsgPack\QJson\QWoker...等序列和事件调度控件.
- Windows上编译libtiff
将libtiff 4.0.3解压到[工作目录]/tiff/tiff-4.0.3 对于Release,编辑tiff/tiff-4.0.3里面的nmake.opt如下选项,去掉注释: JPEG_SUPPO ...
- Android Gradle Plugin指南(四)——測试
原文地址:http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Testing 5.Testing(測试) 构建一个測试 ...
- 使用addChildViewController手动控制UIViewController的切换
addChildViewController If the new child view controller is already the child of a container view con ...
- 发布设置setting.xml
<?xml version="1.0" encoding="UTF-8"?> <!-- User-specific configuration ...
- Java Net版短网址(ShortUrl)的算法及实现 待续
算法 1)将长网址md5生成32位签名串,分为4段, 每段8个字节; 2)对这四段循环处理, 取8个字节, 将他看成16进制串与0x3fffffff(30位1)与操作, 即超过30位的忽略处理; 3) ...