首页 课程 师资 教程 报名

Java实用教程:运算符

  • 2019-08-26 11:35:31
  • 2653次 动力节点

  所谓运算符,就好比日常生活中的运算符号“+”、“-”、“*”、“/”,这些符号几乎天天都要用到。在Java中,运算符就和日常生活中的运算符号一样,起到运算的作用,但是不再是这么简单的运算符。

  3.1算术运算符

  算术运算符是大家最熟悉不过的了,比如“+”、“-”、“*”、“/”。在本节中就先来介绍算术运算符如何应用和有哪些注意事项。

  +:加法运算符,也可做字符的连接用途。

  -:减法运算符。

  *:乘法运算符。

  /:除法运算符。

  %:求余运算符。

  3.1.1“+”:加法运算符

  加法运算符和日常生活中“+”是一样的,都是做两个数值的加法运算。下面举例在Java中的形式。

  //申明两个整数

  inti=33;

  intj=44;

  //将33和44做加法运算

  intn=i+j;

image.png

  3.1.2“-”:减法运算符

  减法运算符和日常生活中“-”是一样的,都是做两个数值的减法运算。下面举例在Java中的形式。

  //申明两个整数

  inti=66;

  intj=77;

  //将66和77做减法运算

  intn=i-j;

  3.1.3“*”:乘法运算符

  乘法运算符“*”和日常生活中乘号类似,只是符号不一样而已,都是做两个数值的乘法运算。下面举例在Java中的形式。

  //申明两个整数

  inti=6;

  intj=7;

  //将6和7做乘法运算

  intn=i*j;

  3.1.4“/”:除法运算符

  除法运算符“/”和日常生活中的除号类似,只是符号不一样而已,都是做两个数值的除法运算。下面举例在Java中的形式。

  //申明两个整数

  inti=24;

  intj=2;

  //将24和2做乘法运算

  intn=i/j;

  3.1.5“%”:求余运算符

  求余运算符“%”和日常生活中的除法求余类似。也是求两个数值的除法运算的余数。下面举例在Java中的形式。

  //申明两个整数

  inti=24;

  intj=5;

  //将24和5做求余运算

  intn=i%j;

  3.2自增自减运算符

  所谓自增减运算符,就是两个数做加减法运算将运算的结果赋值给做运算的变量。如下所示。

  inti=4;

  i++;

  intj=4;

  j=j+1;

image.png

  3.3关系运算符

  关系运算符描述的是一种关系,既然描述的是关系那结果就为对或不对。在Java里就表示为真或假。下面看关系运算符的分类。

  “==”:表示等于。

  “!=”:表示不等于。

  “>=”:表示大于等于。

  “<=”:表示小于等于。

  “>”:表示大于。

  “<”:表示小于。

  关系运算符比较的是基本类型的话,就表示比较的是值是否相等。如果用“==”和“!=”比较的是对象的话就表示比较的是对象引用是否相等。

  3.3.1“==”、“!=”

  等于和不等于运算符比较的是运算数的等于和不等于,结果为ture和false。即真和假。例如下面的例子。
 

  3.3.2“>”、“<”、“>=”、“<=”

  大于和小于运算符比较的是运算数的大于和小于,结果为ture和false。即真和假。例如下面是使用这些关系运算符的例子。

 //定义两个整型变量
  inti=5;
  intj=4;
  booleanb1=i>j;
  booleanb2=i<j;
  booleanb3=i>=j;
  booleanb4=i<=j;

  3.4逻辑运算符

  逻辑运算符,其实就是比较的二进制数的逻辑关系,运算结果为true、false。逻辑运算符包括如下。

  与运算符:“&&”、“&”。

  非运算符:“||”、“|”。

  3.4.1“&&”与运算符

  “&&”运算符比较的是符号两边的表达式的真假。

  【范例3-10】通过下面代码说明“&&”运算符。

  示例代码3-10

  //修改上节例子,如下形式
  publicclassHelloWorld10
  {
  publicstaticvoidmain(Stringargs[])
  {
  booleann=(4>3)&&(2<8);
  System.out.println(n);
  }
  }

  3.4.2“||”或运算符

  “||”运算符比较的是符号两边的表达式的真假,。

  【范例3-11】通过下面代码说明“||”或运算符。

  示例代码3-11

  //修改上节例子,如下形式
  publicclassHelloWorld11
  {
  publicstaticvoidmain(Stringargs[])
  {
  booleann=(4>3)||(2>8);
  //打印并显示结果
  System.out.println(n);
  }
  }

  3.4.3“!”非运算符

  “!”非运算符是把符号右边的表达式的结果即true、false取反。如为true,取反为false;如为false,取反为true。

  【范例3-12】通过下面代码说明“!”非运算符。

  示例代码3-12

//修改上节例子,如下形式
publicclassHelloWorld12
{
publicstaticvoidmain(Stringargs[])
{
booleann=!(2>8);
//打印并显示结果
System.out.println(n);
}
}

  3.4.4总结逻辑运算符

  “&&”运算符,符号的两边都为true时,结果为true。只要有一边不为true,结果即为false。

  “||”运算符,符号的两边只要有一边为true,结果就为true,如果都为false,结果即为false。

  3.5三元运算符

  所谓三元运算符,是对三个表达式进行的集中比较,表达式1的结果为true时,就为第二个表达式,如果为false时,就为第三个表达式。语法是:

  表达式1?表达式2:表达式3

  【范例3-13】通过下面代码说明三元运算符。
 

  示例代码3-13
   //修改上节例子,如下形式
  publicclassHelloWorld13
  {
  publicstaticvoidmain(Stringargs[])
  {
  //4<3表达式的结果为true和false的其中一个。
  booleann=(4<3)?true:false;
  //打印并显示结果
  System.out.println(n);
  }
  }

  3.6位运算符

  所谓位运算符,就是将操作数转换成二进制,然后按位进行比较。

  运算符包括:

  “&”:按位与运算符。

  “|”:按位或运算符。

  “^”:按位异或运算符。image.png

  3.6.1“&”与运算符

  按位与运算符,两个数同位都为1的时候即为1,有一边不是1的话就为0,即结果为false。

  【范例3-14】通过下面代码的演示来说明“&”与运算符。

  示例代码3-14

 //修改上节例子,如下形式
  publicclassHelloWorld14
  {
  publicstaticvoidmain(Stringargs[])
  {
  intn=4&3;
  //打印并显示结果
        System.out.println(n);
     }
          }

  3.6.2“!”或运算符

  按位或运算符,两个数同位有一个为1的时候即为1。

  【范例】通过下面代码的演示来说明“!”或运算符。

  示例代码

  //修改上节例子,如下形式
  publicclassHelloWorld15
  {
  publicstaticvoidmain(Stringargs[])
  {
  intn=4|3;
  //打印并显示结果
  System.out.println(n);
  }
  }

  3.6.3“^”异或运算符

  按位异或运算符,两个数同位都为1的时候即为0。有一个为1即为1。

  【范例】通过下面代码的演示来说明“^”异或运算符。

  示例代码

//修改上节例子,如下形式
publicclassHelloWorld16
{
publicstaticvoidmain(Stringargs[])
{
intn=4^3;
//打印并显示结果
System.out.println(n);
}
}

3.7位移运算符

所谓位移运算符,和逻辑运算符一样,都是对表达式进行比较的。位运算符是先把要比较的操作数转换成二进制数,然后向右向左移动相应的位数。位移运算符包括

>>:带符号右移。

<<:带符号左移。

>>>:无符号右移。

3.7.1“>>”右移运算符

右移运算符“>>”是把操作数转换成二进制数向右移动指定的位数。右移运算符是有符号的,如果为正数就补0,如果为负数就补1。

【范例】通过下面代码的演示来说明“>>”右移运算符。

示例代码

  //修改上节例子,如下形式
  publicclassHelloWorld17
  {
  publicstaticvoidmain(Stringargs[])
  {
  intn=7>>2;
  //打印并显示结果
  08System.out.println(n);
}
}

3.7.2“<<”左移运算符

左移运算符“<<”是把操作数转换成二进制数向左移动指定的位数。左移运算符是有符号的,如果为正数就补0,如果为负数就补1。

【范例】通过下面代码的演示来说明“<<”左移运算符。

示例代码

//修改上节例子,如下形式
publicclassHelloWorld18
 {
 publicstaticvoidmain(Stringargs[])
  {
 intn=7<<2;
 //打印并显示结果
 System.out.println(n);
 }
}

3.7.3“>>>”无符号右移运算符

无符号右移运算符“>>>”是把操作数转换成二进制数向右移动指定的位数。无符号右移运算符全在最高位上补0。

【范例】通过下面代码的演示来说明“>>>”无符号右移运算符。

示例代码

//修改上节例子,如下形式
publicclassHelloWorld19
{
publicstaticvoidmain(Stringargs[])
{
intn=7>>>2;
//打印并显示结果
System.out.println(n);
}
}

     3.8赋值运算符

  所谓赋值运算符就好比在日常生活中的a=3,即把3赋值给变量a的意思是一样的,以后就可以用a表示3这个数值了。

  3.8.1一般赋值运算符

  一般运算符使用“=”,在编写代码里最常见,也是很容易理解的。如:

  intn=3;

  这一条代码的含义是把数值3赋值给整型的变量n。

  3.8.2运算赋值运算符

  运算赋值运算符和一般赋值运算符很相似,也是赋值用的,但它具有运算的功能。

  【范例】通过下面代码的演示来说明运算赋值运算符。

  示例代码

 publicclassHelloWorld20
 {
 publicstaticvoidmain(Stringargs[])
  {
 intn=7;
 intj=0;
 j+=n;
 //打印并显示结果
  System.out.println(j);
}
}

  3.9运算符之间的优先级

  运算符的运算优先级是有一定的顺序的。括号拥有最高的优先级,接下来是一元运算符,最后是二元运算符,如表所示。

  知识的积累过程中,很多人都会对简单的基础知识大而化之。这里希望看过本篇文章的人对基本类型的运算有新的认识,虽然很简单,但对以后学习有很大帮助。

选你想看

你适合学Java吗?4大专业测评方法

代码逻辑 吸收能力 技术学习能力 综合素质

先测评确定适合在学习

在线申请免费测试名额
价值1998元实验班免费学
姓名
手机
提交