算术运算符都是双目运算符,即连接两个操作数的运算符。优先级上,*、/、% 具有相同运算级别,并高于 +、-(+、- 具有相同级别)
public class OperatorDemo1 {
public static void main(String[] args) {
// 分组初始化两个整型变量i1、i2,值分别为2、4
int i1 = 2, i2 = 4;
// 使i1除以i2,并将返回结果赋值给i3
int i3 = i1 / i2;
System.out.println("整型2除以整型4的结果为:" + i3);
// 分组初始化两个浮点型变量f1、f2,值分别为2、4
float f1 = 2f, f2 = 4f;
// 使f1除以f2,并将返回结果赋值给f3
float f3 = f1 / f2;
System.out.println("浮点型2除以浮点型4的结果为:" + f3);
}
}
运行结果是:
整型2除以整型4的结果为:0
浮点型2除以浮点型4的结果为:0.5
++ 或 - - 是单目运算符,放在操作数的前面或后面都是允许的。
++运算,变量自增长1;- -运算,变量自减少1。
那么如果有一个变量i,++i和i++有什么区别呢?
独立运算时:i++和++i没有区别,都是实现自动加1的功能
混合运算时:i++和++i就不同了
1.++/- -在先,先运算后取值
int a = 1;
int b = ++a;
System.out.println(a);//计算结果是2
System.out.println(b);//计算结果是2
前++/- -时,就相当于变量a先自增1,再把值赋给b;
2.++/- -在后,先取值后运算
int a = 1;
int b = a++;//这就等价于 int b=a;a=a+1;
System.out.println(a);//计算结果是2
System.out.println(b);//计算结果是
后++/- -时,就相当于变量a先把值赋给b,再自增1;
注意:
赋值运算符是指为变量或常量指定数值的符号。赋值运算符的符号为“=”,例如 int a=2.
它是双目运算符,左边的操作数必须是变量,不能是常量或表达式。
记住在Java中两个数相等用的符号是==,而=是赋值运算符。
例如 int a=1,int b=1,如果表示a等于b,则是a==b
赋值运算符可以和算数运算符组成复合赋值运算:
举个例子:
1. int x,y,z; //定义3个整型的变量
2. x=y=z=5; //为变量赋初值为5
3. x+=10; //等价于x=x+10,结果x=15
4. y-=3; //等价于y=y-3,结果y=2
5. z*=5; //等价于z=z*5,结果z=25
6. x/=4; //等价于x=x/4,结果x=3
7. z%=x; //等价于z=z%x,结果z=1
关系运算符用来比较两个值的关系。关系运算符是二元运算符,运算结果是 boolean 型。当运算符对应的关系成立时,运算结果是 true,否则是 false。
比较运算符,是两个数据之间进行比较的运算,运算结果都是布尔值true或者false
public static void main(String[] args) {
System.out.println(1==1);//true
System.out.println(1<2);//true
System.out.println(3>4);//false
System.out.println(3<=4);//true
System.out.println(3>=4);//false
System.out.println(3!=4);//true
}
逻辑运算符分为:
短路逻辑运算符 与 逻辑运算符 的区别是:
注意:短路与(&&)和短路或(||)能够采用最优化的计算方式,从而提高效率。在实际编程时,应该优先考虑使用短路与和短路或。
1. 逻辑运算符
逻辑运算符:&、|、^、!
其实也就是数学里面学到的逻辑运算:与、或、非
//逻辑与&&(并且) 一假即假,全真才是真
System.out.println(true && true);//true
System.out.println(true && false);//false
System.out.println(false && true);//false,右边不计算
//逻辑或||(或者)一真即真,全假才是假
System.out.println(false || false);//falase
System.out.println(false || true);//true
System.out.println(true || false);//true,右边不计算
//逻辑非!(不是)
System.out.println(!false);//true
那么&&与&有何区别呢?
做个测试:
我们都接触过考试,一般都是60分及格。
也就是说分数大于或等于60时,及格;分数小于60时,不及格。
这种在生活中常见的情况在程序里是如何表现的的?
这就需要三元运算符了。
当一个布尔表达式的结果分别对应两种情况时,可以使用三元表达式。
该运算符由三个操作数组成,用于判断布尔表达式。它的目的是确定应将哪个值分配给变量。条件运算符的语法为:
变量 = (布尔表达式) ? 值1 : 值2
该运算符用于操作对象实例,检查该对象是否是一个特定类型(类类型或接口类型)。
instanceof运算符使用格式如下:
( Object reference variable ) instanceof (class/interface type)
如果运算符左侧变量所指的对象,是操作符右侧类或接口(class/interface)的一个对象,那么结果为真。
下面是一个例子:
String name = "James";
boolean result = name instanceof String; // 由于 name 是 String 类型,所以返回真
如果被比较的对象兼容于右侧类型,该运算符仍然返回 true。
看下面的例子:
class Vehicle {}
public class Car extends Vehicle {
public static void main(String[] args){
Vehicle a = new Car();
boolean result = a instanceof Car;
System.out.println( result);
}
}
以上实例编译运行结果如下:
true
各位小主,如果感觉有一点点帮助到你的话,麻烦留下赞赞一枚哦~