当前位置:天才代写 > tutorial > JAVA 教程 > Java 语法先容(二):运算符

Java 语法先容(二):运算符

2017-11-12 08:00 星期日 所属: JAVA 教程 浏览:661

副标题#e#

1:优先级

优先级是指同一式子中多个运算符被执行和序次,同一级里的操纵符具有沟通的优先级,沟通优先级得操纵标记相遇是,按照团结性抉择运算序次,下面从高到低的优先级列出了运算符。同一行中的运算符优先级沟通。

.  []  ()   团结性从左到右

++  –  !  ~   团结性从左到右

*  /  %   团结性从左到右

+  -   团结性从左到右

<<  >>  >>>   团结性从左到右

<  >  <=  >=   团结性从左到右

==  !=   团结性从左到右

&   团结性从左到右

^   团结性从左到右

&&   团结性从左到右

||   团结性从左到右

?:   团结性从右到左

=   团结性从右到左

譬喻对付表达式:a=b+c*d/(c^d),因为括号优先级最高,所以先计较c^d,接着是c*d,然后除以c^d,最后,把上述功效与b的和存储到变量a中。

2:整型运算符

整型运算符按操纵数的几多可分为一元和二元两类,一元运算符一次对一个变量举办操纵,二元运算符一次对两个变量举办操纵。对付运算来说,假如有一个变量或操纵数是长整型的,那么功效就必定是长整型的,不然纵然操纵数还没有确定是字节型、短整型或字符型,运算功效都是整型,下表是一元运算符。

运算符 实际操纵 例子

–   改变整型数标记   -i

~   位运算:非   ~i

++   加1   i++

—   减1   i–

注:一元取反运算符(-)用来改变整数的正负号,逐位求反把所变量所有是1的位酿成0,是0的位酿成1,加加和减减(++,--)把变量的值加1或减1。

以下是一个具编制子:

  int i=0;
   int j=1;
   for (i=1;i<10;i++)
   {
   j--;
   System.out.println(i+""+j+"");
   }

一元运算符执行的方法是改变它们所浸染的变量的值,对一元取反和逐位求反来说,变量的值并不改变,而对加和减运算(++,--)来说,就量的值被改变了,譬喻:

    int i=10,j=10,k=10,l=10;
     System.out.println(i+""+j+""+k+""+l+"");
     j++;
     i--;
     ~k;
     -l;
     System.out.println(i+""+j+""+k+""+l+"");

留意:j和i被改变并打印出它们的新值,但是k和l仍然为本来的数值,当在复合表达式中利用一元取反和逐位求余运算时,你实际上是在用一个姑且存贮操纵数的新值。

++和--既是前置运算符也是后置运算符,这就是说,它们既可以放在操纵数前面(++x),也可以放在后头(x++),假如它们被用在复合语句中如:

i=x++; 或 i=++x;

那么第一个语句中x把值赋给i今后再加1,而第二个语句先把x加1,再把新的x值赋给i。

整型运算符的第二种范例是二元运算符,这种运算并不改变操纵数的值,而是返回一个必需赋给变量的值,下表列出了二元运算符。

运算符 实际操纵 例子

+   加运算   a+b

–   减运算   a-b

*   乘运算   a*b

/   除运算   a/b

%   取模运算   a%b

&   与运算   a&b

|   或运算   a|b

^   异或运算   a^b

<<   左移   a<<b

>>   右移   a>>b

>>>   右移   a>>>b

留意:>>与>>>的根基成果都是右移,但>>是用标记位来填充右移后所留下的空位,而>>>则是用零来填充右移后所留下的空位。

尚有一类运算,它们形如:j-=i,这里-=是二元运算-和赋值运算=的复合运算,它等价于j=j-i,这种复合方法合用于所有的二元运算符。

这里有几点关于整型运算进一步说明,首先,整数除法向接近0的偏向取整;其次,假如你除以0可能对0取模,措施就会在运行时被强行中止,假如你的运算功效超出最小极限,可能说是下溢,功效将为0,假如超出了最大极限,就将会导致功效的回绕。


#p#副标题#e#

3:布尔运算符

别的尚有一些运算符能发生布尔范例的功效,我们把它们称为布尔运算符,下表列出了这些运算符。

运算符 实际操纵 例子

< 小于 a<b

> 大于 a>b

<= 小于便是 a<=b

> 大于便是 a>=b

== 便是 a==b

!= 不便是 a!=b

在这里要指出的是相等运算符==大概会给你带来很多贫苦,许多人在较量两个值时往往错用了等号=,乃至于酿成了赋值操纵,所以在编程中必然要留意你在较量数值时用的是==。布尔范例自己尚有几个逻辑运算符,它们可以对布尔范例的数据举办运算:!,&&,//

其实假如你把布尔范例的值true等效地当作1,false当作0,那么对付沟通的运算符,整型运算的法例对布尔范例也是合用的。

布尔运算符中尚有一种三元运算符,它的名目如下:

Operand ? Statement1:Statement2

在这个式子中,先计较Operand的真假,若为真,则执行Statement1,若为假,则执行Statement2。下面的代码给出了这种运算的一个例子:

(a>b)?a:b;

这个表达式将返回a和b中较大的谁人数值。

4:浮点型运算符

传统的浮点型二元运算除了赋值运算符(+=,-=.*=./)取模(%)和取模赋值(%=0)使浮点数值等价于整数除法,同样,++和–使变量的值增加或减小1。

#p#分页标题#e#

同整型变量相似,功效被放在最大长度的范例里,假如运算包罗两个浮点范例,功效也是个浮点范例,假如有一个或几个是双精度浮点型,功效就是双精度浮点型,当你利用干系运算符:>、<、>=、<=、==和!=时,留意浮点变量与整型的差异,只有a==b创立并不能说明a<b和a>b不创立,这是因为浮点范例数值序次同整型差异,当你写措施,对浮点型数值举办假设时要小心,浮点型数值也包罗inf,代表无穷大,溢生发生无穷大inf,下溢发生0。

5:字符串运算符

+运算符可以把字符串并置起来,假如哪一个操纵数不是字符串,在并置之前它会被转换成字符串,别的,+=运算符把两个字符串并置的功效放进第一个字符串里,在前面的例子里,当你想把几项打印在同一行里时利用的是+运算符,试着在表明器里用System.out.println和+运算符来造成差异的组合输出。

 

    关键字:

天才代写-代写联系方式