<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.赋值运算符
符号:=,+=,-=,*=,/=,%=
class OperatorDemo {
public static void main(String[] args){
short s = 3;
s += 4;
System.out.println("s = " + s);
}
}
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 );
}
}