[2017年计算机二级考试时间]2017年计算机二级JAVA考点解析:运算符和表达式

副标题:2017年计算机二级JAVA考点解析:运算符和表达式

时间:2023-08-22 13:23:01 阅读: 最新文章 文档下载
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。


  运算符指明对操作数所进行的运算。按操作数的数目来分,可以有一元运算符(如++、--),二元运算符(如+、>)和三元运算符(如?:),它们分别对应于一个、两个和三个操作数。对于一元运算符来说,可以有前缀表达式(如++i)和后缀表达式(如i++),对于二元运算符来说则采用中缀表达式(如a+b)。按照运算符功能来分,基本的运算符有下面几类:
  1.算术运算符(+,-,*,/,%,++,--)

  2.关系运算符(>,<,>=,<=,==,!=)

  3.布尔逻辑运算符(!,&&,||)

  4.位运算符(>>,<<,>>>,&,|,^,~)

  5.赋值运算符(=,及其扩展赋值运算符如+=)

  6.条件运算符(?:)

  7.其它(包括分量运算符·,下标运算符[],实例运算符instanceof,内存分配运算符new,强制类型转换运算符(类型),方法调用运算符()等)

  本章中我们主要讲述前6类运算符。

  3.1算术运算符

  算术运算符作用于整型或浮点型数据,完成算术运算。

  一、二元算术运算符,如下表所示

  运算符用法描述

  +op1+op2加

  -op1-op2减

  *op1*op2乘

  /op1/op2除

  %op1%op2取模(求余)

  Java对加运算符进行了扩展,使它能够进行字符串的连接,如"abc"+"de",得到串"abcde"。我们将在第七章中讲解。

  与C、C++不同,对取模运算符%来说,其操作数可以为浮点数,如37.2=7.2。

  二、一元算术运算符,如下表所示:

  运算符用法描述

  ++op正值

  --op负值

  ++++op,op++加1

  ----op,op--减1

  i++与++i的区别

  i++在使用i之后,使i的值加1,因此执行完i++后,整个表达式的值为i,而i的值变为i+1。

  ++i在使用i之前,使i的值加1,因此执行完++i后,整个表达式和i的值均为i+1。

  对i--与--i同样。

  例3.1.下面的例子说明了算术运算符的使用

  publicclassArithmaticOp{

  publicstaticvoidmain(Stringargs[]){

  inta=5+4;//a=9

  intb=a*2;//b=18

  intc=b/4;//c=4

  intd=b-c;//d=14

  inte=-d;//e=-14

  intf=e%4;//f=-2

  doubleg=18.4;

  doubleh=g%4;//h=2.4

  inti=3;

  intj=i++;//i=4,j=3

  intk=++i;//i=5,k=5

  System.out.println("a="+a);

  System.out.println("b="+b);

  System.out.println("c="+c);

  System.out.println("d="+d);

  System.out.println("e="+e);

  System.out.println("f="+f);

  System.out.println("g="+g);

  System.out.println("h="+h);

  System.out.println("i="+i);

  System.out.println("j="+j);

  System.out.println("k="+k);

  }

  }

  其结果为:

  C:\>javaArithmaticOp

  a=9

  b=18

  c=4

  d=14

  e=-14

  f=-2

  g=18.4

  h=2.4

  i=5

  j=3

  k=5

  3.2关系运算符

  关系运算符用来比较两个值,返回布尔类型的值true或false。关系运算符都是二元运算符,如下表所示:

  运算符用法返回true的情况

  >op1>op2op1大于op2

  >=op1>=op2op1大于或等于op2

  <op1<op2op1小于op2

  <=op1<=op2op1小于或等于op2

  ==op1==op2op1与op2相等

  !=op1!=op2op1与op2不等

  Java中,任何数据类型的数据(包括基本类型和组合类型)都可以通过==或!=来比较是否相等(这与C、C++不同)。

  关系运算的结果返回true或false,而不是C、C++中的1或0。

  关系运算符常与布尔逻辑运算符一起使用,作为流控制语句的判断条件。如

  if(a>b&&b==c)

  3.3布尔逻辑运算符

  布尔逻辑运算符进行布尔逻辑运算,如下表所示:

  op1op2op1&&op2op1||op2!op1

  falsefalsefalsefalsetrue

  falsetruefalsetruetrue

  truefalsefalsetruefalse

  truetruetruetruefalse}

  ·&&、‖为二元运算符,实现逻辑与、逻辑或。

  ·!为一元运算符,实现逻辑非。

  ·对于布尔逻辑运算,先求出运算符左边的表达式的值,对或运算如果为true,则整个表达式的结果为true,不必对运算符右边的表达式再进行运算;同样,对与运算,如果左边表达式的值为false,则不必对右边的表达式求值,整个表达式的结果为false。

  下面的例子说明了关系运算符和布尔逻辑运算符的使用。

  publicclassRelationAndConditionOp{

  publicstaticvoidmain(Stringargs[]){

  inta=25,b=3;

  booleand=a<b;//d=false

  System.out.println("a<b="+d);

  inte=3;

  if(e!=0&&a/e>5)

  System.out.println("a/e="+a/e);

  intf=0;

  if(f!=0&&a/f>5)

  System.out.println("a/f="+a/f);

  else

  System.out.println("f="+f);

  }

  }

  其运行结果为:

  C:\>javaRelationAndConditionOp

  a<b=false

  a/e=8

  f=0

  注意:上例中,第二个if语句在运行时不会发生除0溢出的错误,因为e!=0为false,所以就不需要对a/e进行运算。

2017年计算机二级JAVA考点解析:运算符和表达式.doc

本文来源:https://www.wddqw.com/WShn.html