您的位置:首页 > 编程语言 > Java开发

Java基本语法--运算符

2015-07-24 19:53 716 查看

<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。

&&:和&运算的结果是一样的,但是运算过程有点小区别。

&:  无论左边的运算结果是什么
4000
,右边都参与运算。

&&:当左边为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 );
}
}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: