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从零开始学三十九(对象序列化)
一.序列化 将对象的状态存储到特定存储介质中的过程 对象序列化,就是把一个对象变为二进制的数据流的一种方法,通过对象序列化可以方便的实现对象的传输或存储. 序列化保存对象的“全景图”,构建对象的“ ...
随机推荐
- poj 1218 THE DRUNK JAILER
THE DRUNK JAILER Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 23358 Accepted: 1472 ...
- [Linux] VIM Practical Note
Practical Vim 文件 1.1. 管理多个文件 1.1.1. 缓冲区 • :ls • 查看缓冲区列表 • :bprev • 前一项 • :bnext • 后一项 • :bfirst • 第一 ...
- VHDL语言实现的任意整数分频器
fpga中,一般外接的晶振是50Mhz,如果电路中一个模块需要25mhz时钟,那么进行一个2分频,这个是相当容易的,下面是一种方法,还有可以用一个二进制计数器实现.这里就不写代码了.easy.同样的原 ...
- C# iTextSharp 生成 PDF
使用iTextSharp在Asp.Net中操作PDF系列文章 目录 http://www.cnblogs.com/CareySon/category/332146.html 实战 iTextSharp ...
- android软件中加入广告实现方法
经过了一番折腾,忙忙碌碌了一下午,终于搞明白了Android软件界面嵌入广告的方法,以下我以嵌入有米广告为例小结一下: 步骤一,下载有米广告SDK,将 youmi-android.jar 导入想要嵌入 ...
- 解决小米手机不能运行Android Studio程序的问题
转载自:解决小米手机不能运行Android Studio程序的问题 问题描述 Android Studio升级到2.3版本之后,小米手机MIUI8不能运行Android Studio程序,报如下错误: ...
- MySQL连接查询(inner join,left join和right join的区别)
关系数据库由多个相关表组成,这些表使用已知为外键列的常用列链接在一起. 因此,从业务角度来看,每个表中的数据是不完整的. 例如,在示例数据库(yiibaidb)中,使用orderNumber列链接的o ...
- Python处理PDF及生成多层PDF
Python提供了众多的PDF支持库,本文是在Python3环境下,试用了两个库来完成PDF的生成的功能.PyPDF对于读取PDF支持较好,但是没找到生成多层PDF的方法.Reportlab看起来更成 ...
- Matlab注释多行和取消多行注释的快捷键
matlab里注释符号是%,只是单行注释,可是没有多行注释符号,就像C/C++/Java中都有多行注释符号/* */. 如果利用单行注释的方式手工注释一段程序会很麻烦,matlab软件自带快捷键支持 ...
- C#操作AD及Exchange Server总结(一)
这篇博客的目的:根据亲身项目经历,总结对AD及Exchange Server的操作,包括新建AD用户,设置密码,为AD用户创建邮箱等. 本文完全原创,转载请说明出处,希望对大家有用. 文档目录: 测试 ...