资源描述
3.1 算术运算符
· 算术运算符是大家最熟悉不过的了,比如“+”、“-”、“*”、“/”。在
本节中就先来介绍算术运算符如何应用和有哪些注意事项。
· +:加法运算符,也可做字符的连接用途。
· -:减法运算符。
· *:乘法运算符。
· /:除法运算符。
· %:求余运算符。
北京源智天下科技有限公司
1-2
联系方式:
3.1.1 “+” :加法运算符
· 加法运算符和日常生活中“+”是一样的,都是做两个数值的加法运算。
下面举例在Java中的形式。
· //申明两个整数
· int i = 33;
· int j = 44;
· //将33和44做加法运算
· int n = i + j;
北京源智天下科技有限公司
1-3
联系方式:
3.1.2 “-” :减法运算符
· 减法运算符和日常生活中“-”是一样的,都是做两个数值的减法运算。
下面举例在Java中的形式。
· //申明两个整数
· int i = 66;
· int j = 77;
· //将66和77做减法运算
· int n = i - j;
北京源智天下科技有限公司
1-4
联系方式:
3.1.3 “*” :乘法运算符
· 乘法运算符“*”和日常生活中乘号类似,只是符号不一样而已,都是做
两个数值的乘法运算。下面举例在Java中的形式。
· //申明两个整数
· int i = 6;
· int j = 7;
· //将6和7做乘法运算
· int n = i * j;
北京源智天下科技有限公司
1-5
联系方式:
3.1.4 “/” :除法运算符
· 除法运算符“/”和日常生活中的除号类似,只是符号不一样而已,都是
做两个数值的除法运算。下面举例在Java中的形式。
· //申明两个整数
· int i = 24;
· int j = 2;
· //将24和2做乘法运算
· int n = i / j;
北京源智天下科技有限公司
1-6
联系方式:
3.1.5 “%” :求余运算符
· 求余运算符“%”和日常生活中的除法求余类似。也是求两个数值的除法
运算的余数。下面举例在Java中的形式。
· //申明两个整数
· int i = 24;
· int j = 5;
· //将24和5做求余运算
· int n = i % j;
北京源智天下科技有限公司
1-7
联系方式:
3.2 自增自减运算符
· 所谓自增减运算符,就是两个数做加减法运算将运算的结果赋值给做运
算的变量。如下所示。
· int i = 4;
· i++;
· int j = 4;
· j = j + 1;
北京源智天下科技有限公司
1-8
联系方式:
3.3 关系运算符
· 关系运算符描述的是一种关系,既然描述的是关系那结果就为对或不对
。在Java里就表示为真或假。下面看关系运算符的分类。
· “==” :表示等于。
· “!=” :表示不等于。
· “>=” :表示大于等于。
· “<=” :表示小于等于。
· “>” :表示大于。
· “<” :表示小于。
· 关系运算符比较的是基本类型的话,就表示比较的是值是否相等。如果
用“==”和“!=”比较的是对象的话就表示比较的是对象引用是否相等。
北京源智天下科技有限公司
1-9
联系方式:
3.3.1 “==”、“!=”
·
·
·
·
·
·
·
·
·
·
·
·
·
·
等于和不等于运算符比较的是运算数的等于和不等于,结果为ture和false。即真和假。例
如下面的例子。
//定义两个整型的变量
int i = 4;
int j = 4;
boolean b1 = i == j;
boolean b2 = i != j;
//创建两个对象
String s1 = new String ();
String s2 = new String ();
boolean b3 = b1 == b2;
boolean b4 = s1 != s2;
北京源智天下科技有限公司
1-10
联系方式:
3.3.2 “>”、“<”、“>=”、“<=”
· 大于和小于运算符比较的是运算数的大于和小于,结果为ture和false。
即真和假。例如下面是使用这些关系运算符的例子。
· //定义两个整型变量
· int i = 5;
· int j = 4;
·
·
·
·
boolean
boolean
boolean
boolean
b1
b2
b3
b4
=
=
=
=
i
i
i
i
> j;
< j;
>= j;
<= j;
北京源智天下科技有限公司
1-11
联系方式:
3.4 逻辑运算符
· 逻辑运算符,其实就是比较的二进制数的逻辑关系,运算结果为true、
false。逻辑运算符包括如下。
· 与运算符:“&&”、“&”。
· 非运算符:“||”、“|”。
北京源智天下科技有限公司
1-12
联系方式:
3.4.1 “&&” 与运算符
·
·
·
·
·
·
“&&”运算符比较的是符号两边的表达式的真假。
【范例3-10】通过下面代码说明“&&”运算符。
示例代码3-10
01 //修改上节例子,如下形式
02 public class HelloWorld10
03 {
·
·
·
·
·
·
04
05
06
07
08
09 }
1-13
public static void main(String args[])
{
boolean n = (4 > 3) && (2 < 8);
System.out.println(n);
}
北京源智天下科技有限公司
联系方式:
3.4.2 “||” 或运算符
·
·
·
·
·
·
“||”运算符比较的是符号两边的表达式的真假,。
【范例3-11】通过下面代码说明“||” 或运算符。
示例代码3-11
01 //修改上节例子,如下形式
02 public class HelloWorld11
03 {
·
·
·
·
·
·
·
04
05
06
07
08
09
10 }
1-14
public static void main(String args[])
{
boolean n = (4 > 3) || (2 > 8);
//打印并显示结果
System.out.println(n);
}
北京源智天下科技有限公司
联系方式:
3.4.3 “!” 非运算符
·
·
·
·
·
·
“!”非运算符是把符号右边的表达式的结果即true、false取反。如为true ,取
反为false;如为false,取反为true。
【范例3-12】通过下面代码说明“!” 非运算符。
示例代码3-12
01 //修改上节例子,如下形式
02 public class HelloWorld12
03 {
·
·
·
·
·
·
·
04
05
06
07
08
09
10 }
public static void main(String args[])
{
boolean n = !(2 > 8);
//打印并显示结果
System.out.println(n);
}
北京源智天下科技有限公司
1-15
联系方式:
3.4.4 总结逻辑运算符
· “&&”运算符,符号的两边都为true时,结果为true。只要有一边不为
true,结果即为false。
· “||”运算符,符号的两边只要有一边为true,结果就为true,如果都为
false,结果即为false。
北京源智天下科技有限公司
1-16
联系方式:
3.5 三元运算符
·
·
·
·
·
·
·
所谓三元运算符,是对三个表达式进行的集中比较,表达式1的结果为true时,就为第二个
表达式,如果为false时,就为第三个表达式。语法是:
表达式1?表达式2:表达式3
【范例3-13】通过下面代码说明三元运算符。
示例代码3-13
01 //修改上节例子,如下形式
02 public class HelloWorld13
03 {
·
·
·
·
·
·
·
·
04
05
06
07
08
09
10
11 }
public static void main(String args[])
{
//4 < 3表达式的结果为true和false的其中一个。
boolean n = (4 < 3) ? true : false;
//打印并显示结果
System.out.println(n);
}
北京源智天下科技有限公司
1-17
联系方式:
3.6 位运算符
·
·
·
·
·
所谓位运算符,就是将操作数转换成二进制,然后按位进行比较。
运算符包括:
“&”:按位与运算符。
“|”:按位或运算符。
“^”:按位异或运算符。
北京源智天下科技有限公司
1-18
联系方式:
3.6.1 “&” 与运算符
·
·
·
·
·
·
按位与运算符,两个数同位都为1的时候即为1,有一边不是1的话就为0,即结果
为false。
【范例3-14】通过下面代码的演示来说明“&”与运算符。
示例代码3-14
01 //修改上节例子,如下形式
02 public class HelloWorld14
03 {
·
·
·
·
·
·
·
04
05
06
07
08
09
10 }
public static void main(String args[])
{
int n = 4 & 3;
//打印并显示结果
System.out.println(n);
}
北京源智天下科技有限公司
1-19
联系方式:
3.6.2 “!” 或运算符
·
·
·
·
·
·
按位或运算符,两个数同位有一个为1的时候即为1。
【范例】通过下面代码的演示来说明“!”或运算符。
示例代码
01 //修改上节例子,如下形式
02 public class HelloWorld15
03 {
·
·
·
·
·
·
·
04
05
06
07
08
09
10 }
1-20
public static void main(String args[])
{
int n = 4 | 3;
//打印并显示结果
System.out.println(n);
}
北京源智天下科技有限公司
联系方式:
3.6.3 “^” 异或运算符
·
·
·
·
·
·
按位异或运算符,两个数同位都为1的时候即为0。有一个为1即为1。
【范例】通过下面代码的演示来说明“^”异或运算符。
示例代码
01 //修改上节例子,如下形式
02 public class HelloWorld16
03 {
·
·
·
·
·
·
·
04
05
06
07
08
09
10 }
1-21
public static void main(String args[])
{
int n = 4 ^ 3;
//打印并显示结果
System.out.println(n);
}
北京源智天下科技有限公司
联系方式:
3.7 位移运算符
· 所谓位移运算符,和逻辑运算符一样,都是对表达式进行比较的。位运
算符是先把要比较的操作数转换成二进制数,然后向右向左移动相应的
位数。位移运算符包括
· >> :带符号右移。
· << :带符号左移。
· >>> :无符号右移。
北京源智天下科技有限公司
1-22
联系方式:
3.7.1 “>>” 右移运算符
·
·
·
·
·
·
右移运算符“>>”是把操作数转换成二进制数向右移动指定的位数。右移运算符
是有符号的,如果为正数就补0,如果为负数就补1。
【范例】通过下面代码的演示来说明“>>”右移运算符。
示例代码
01 //修改上节例子,如下形式
02 public class HelloWorld17
03 {
·
·
·
·
·
·
·
04
05
06
07
08
09
10 }
public static void main(String args[])
{
int n = 7 >> 2 ;
//打印并显示结果
System.out.println(n);
}
北京源智天下科技有限公司
1-23
联系方式:
3.7.2 “<<” 左移运算符
·
·
·
·
·
·
左移运算符“<<”是把操作数转换成二进制数向左移动指定的位数。左移运算符
是有符号的,如果为正数就补0,如果为负数就补1。
【范例】通过下面代码的演示来说明“<<”左移运算符。
示例代码
01 //修改上节例子,如下形式
02 public class HelloWorld18
03 {
·
·
·
·
·
·
·
04
05
06
07
08
09
10 }
public static void main(String args[])
{
int n = 7 << 2 ;
//打印并显示结果
System.out.println(n);
}
北京源智天下科技有限公司
1-24
联系方式:
3.7.3 “>>>” 无符号右移运算符
·
·
·
·
·
·
无符号右移运算符“>>>”是把操作数转换成二进制数向右移动指定的位数。无符
号右移运算符全在最高位上补0。
【范例】通过下面代码的演示来说明“>>>”无符号右移运算符。
示例代码
01 //修改上节例子,如下形式
02 public class HelloWorld19
03 {
·
·
·
·
·
·
·
04
05
06
07
08
09
10 }
public static void main(String args[])
{
int n = 7 >>> 2 ;
//打印并显示结果
System.out.println(n);
}
北京源智天下科技有限公司
1-25
联系方式:
3.8 赋值运算符
· 所谓赋值运算符就好比在日常生活中的a=3,即把3赋值给变量a的意思是
一样的,以后就可以用a表示3这个数值了。
北京源智天下科技有限公司
1-26
联系方式:
3.8.1 一般赋值运算符
· 一般运算符使用“=”,在编写代码里最常见,也是很容易理解的。如:
· int n = 3;
· 这一条代码的含义是把数值3赋值给整型的变量n。
北京源智天下科技有限公司
1-27
联系方式:
3.8.2 运算赋值运算符
·
·
·
·
·
运算赋值运算符和一般赋值运算符很相似,也是赋值用的,但它具有运算的功能。
【范例】通过下面代码的演示来说明运算赋值运算符。
示例代码
01 public class HelloWorld20
02 {
·
·
·
·
·
·
·
·
·
03
04
05
06
07
08
09
10
11 }
public static void main(String args[])
{
int n = 7;
int j = 0;
j += n;
//打印并显示结果
System.out.println(j);
}
北京源智天下科技有限公司
1-28
联系方式:
3.9 运算符之间的优先级
· 运算符的运算优先级是有一定的顺序的。括号拥有最高的优先级,接下
来是一元运算符,最后是二元运算符,如表所示。
北京源智天下科技有限公司
1-29
联系方式:
3.10 综合练习
·
·
·
·
1.区分前置自增减运算符和后置自增减运算符的不同。
【提示】通过程序来看这个问题。
01 public class LianXi1
02 {
·
·
·
·
·
03
04
05
06
07
public static void main(String args[])
{
int a=1;
int b=1;
System.out.println("使用后置运算符的结果为:"+(a++)); //显示后
置结果
·
08
置结果
System.out.println("使用前置运算符的结果为:"+(++b)); //显示前
·
·
09
10 }
1-30
}
北京源智天下科技有限公司
联系方式:
3.10 综合练习
2.三元运算符的应用有哪些?
【提示】同样还是通过程序来看这个问题。
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
public class LianXi2
{
public static void main(String args[])
{
int a=3;
int b=4;
System.out.println("使用条件运算符显示");
String s=(a<b)?"a小于b":"a大于b";
System.out.println(s);
System.out.println("使用if条件语句显示");
if(a<b)
{
System.out.println("a小于b");
}
else
{
System.out.println("a大于b");
}
}
}
北京源智天下科技有限公司
1-31
联系方式:
3.11 小结
·
通过对本章各种运算符的学习,让读者对基本类型的运算有了新的认识,虽然很
简单,但对以后学习有很大帮助。虽然运算符是比较简单的,但其中也是有很多
知识需要讲解的。在本章中最常用的运算符是自增自减运算符和赋值运算符,这
也是本章的重点。如果想了解更多的关于运算符的内容可以参考电子工业出版社
<
B9%A4%D2%B5%B3%F6%B0%E6%C9%E7>出版的《Java程序设计教程(第五版)(英文
版)》 <
一书来进一步学习。在下一章中将继续学习Java基本语法中的流程控制语句。
北京源智天下科技有限公司
1-32
联系方式:
展开阅读全文