Java基本语法--运算符

来源:互联网 发布:淘宝买东西系统繁忙 编辑:程序博客网 时间:2024/04/30 04:18

<pre name="code" class="java"><span style="font-family: Arial, Helvetica, sans-serif; font-size: 12px;">class Demo{</span>
public static void main(String[] args) {int x = 4563;x = x / 10 *2;System.out.println(x);ystem.out.priintln(-1%5);}}



由上可知整数以整数相除时,结果永远是整数,小数部分被忽略。负数对正数取模结果为负数,如果被除数小于除数,那么取模的结果就为被除数。

加号可以作为连接符使用
class OperatorDemo{ public static void main(String[] args) {  int a = 3,b; b = a++; System.out.println("a = "+a+",b ="+b); System.out.println("a + b = " + a + b); </span> System.out.println("a + b = " + (a + b)); </span> }}



++a表示在使用变量a之前,先使a的值加1
a++表示正在使用变量a之后,使a的值加1

2.赋值运算符

符号:=,+=,-=,*=,/=,%=

那么s += 4 和s = s + 4有什么不同呢?
class OperatorDemo { public static void main(String[] args){ short s = 3; s += 4;  System.out.println("s = " + s); } }  

编译器在编译时,默认进行了强制类型转换,也就是将int类型的数据转换成short类型的数据

class OperatorDemo {public static void main(String[] args){short s = 3;s = s + 4; System.out.println("s = " + s);}} 
在执行s=s+4;语句时,编译器在编译的时候,默认并没有强制类型转换。所以,s是short类型,4是int类型,s会自动提升为int类型,相加的和也是int类型,赋值给short类型的变量肯定会损失精度。这时候就需要进行强制类型转换:s=(short)(s+4);。

3.比较运算符



比较运算符的结果都是boolean型,也就是要么是true,要么是false。
比较运算符“==”不能误写成“=”。

4.逻辑运算符



逻辑运算符用于连接两个boolean类型的表达式。
"&"符号的运算特点:
true&true=true
true&false=false;
false&true=false;
false&false=false;
"&"符号运算规律运算的两边只要有一个是false,结果肯定是false,只有两边都为true,结果才是true。

"|"符号的运算特点:
 true|true=true;
true|false=true;
false|true=true;
false|false=false;
"|"符号运算规律:运算的两边只要有一个是true,结果肯定是true。只有两边都为false,结果是false。

"^"符号的运算特点:
true^true=false;
true^false=true;
false^true=true;
false^false=false;
"^"符号运算规律: ^符号的两边结果如果相同,结果是false。两边的结果不同,结果是true。

&&:和&运算的结果是一样的,但是运算过程有点小区别。
&:  无论左边的运算结果是什么,右边都参与运算。
&&:当左边为false时,右边不参加运算,这样可以提升效率。
||:   和|运算的结果是一样的,但是运算过程有点小区别。
|:    无论左边的运算结果是什么,右边都参与运算。
||:   当左边为true时,右边不参加运算,这样可以提升效率。
使用&&和||比使用&和|更高效一些。
逻辑运算符用于连接布尔型表达式,在Java中不可以写成3<x<6,应该写成x>3&x<6。

5.位运算符

三元运算符

格式:         (条件表达式)?表达式1:表达式2;
如果条件为true,运算后的结果是表达式1;
                如果条件为false,运算后的结果是表达式2。
class OperatorDemo { public static void main(String[] args){  int x = 3,y;  y = ( x > 1 ) ? 100 : 200;  System.out.println( "y = " + y );  }}






0 0
原创粉丝点击