Java 入门之常用的运算符
2016-12-09 本文已影响42人
start筑梦
。吗,,,,,,,。。、>Java 针对操控变量提供了一组丰富的运算符。
运/*算符是一种“功能”符号,用以通知 Java 进行相关的运算。譬如,我们需要将变量 age 的值设置为 20 ,这时候就需要一个“=”,告诉程序需要进行赋值操作。
Java 语言中常用的运算符可分为如下几种:
Ø 算术运算符
Ø 赋值运算符
Ø 比较运算符
Ø 逻辑运算符
Ø 条件运算符
java中的算数运算符
算术运算符在数学表达中的使用和它们在代数中的使用是相同的。下面的表格列举了算数运算符:
ps : ** 其中,++ **和 -- 既可以出现在操作数的左边,也可以出现在右边,但结果是不同滴
例18:
运行结果:
例2:
运行结果:
Java中的赋值运算符
赋值运算符是指为变量或常量指定数值的符号。如可以使用 “=” 将右边的表达式结果赋给左边的操作数。
赋值运算符.png关系运算符.pngJava中的比较(关系)运算符
Java中的逻辑运算符
下表格列举了逻辑运算符:
假设布尔数学体系变量 A 为真,B 为假,那么:
逻辑运算符.png
Java中的条件运算符
条件运算符( ? : )也称为 “三元运算符”。
语法形式:布尔表达式 ? 表达式1 :表达式2
variable x = (expression) ? value if true : value if false
运算过程:如果布尔表达式的值为 **true ,则返回 表达式1 的值,否则返回 表达式2
public static void main(String args[]){
int a , b;
a = 10;
b = (a == 1) ? 20: 30;
System.out.println( "Value of b is : " + b );
b = (a == 10) ? 20: 30;
System.out.println( "Value of b is : " + b );
}
}```
这样就会有如下结果:
Value of b is : 30
Value of b is : 20
再例如:
[![条件运算符例2.png](http:https://img.haomeiwen.com/i2293787/240648ee980a9b16.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)](http://img.mukewang.com/535f7d130001a84f04340051.jpg)
因为,表达式 8>5 的值为 true ,所以,返回:** 8大于5**
>补充:Instanceof 符
这种操作符只用于对象引用变量。这种操作符检查对象是否是独特类型(类型或接口类型)。Instanceof 运算符写为:
( Object reference variable ) instanceof (class/interface type)
如果在运算符左侧的由变量所指代的对象为右侧的类型或接口类型通过 IS-A 检查,那么结果为真。以下是示例:
```public class Test {
public static void main(String args[]){
String name = "James";
// following will return true since name is type of String
boolean result = name instanceof String;
System.out.println( result );
}
}```
这就会产出如下结果:```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```
> Java 运算符的优先级
[![](http:https://img.haomeiwen.com/i2293787/78a366c78744966c.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)](http://img.mukewang.com/5360ffb90001b4f002620224.jpg)
**级别为 1 的优先级最高,级别 11 的优先级最低**。譬如,x = 7 + 3 * 2 得到的结果是 13 “先乘后加”嘛!
PS:大家没必要去死记运算符的优先级顺序,实际开发中,一般会使用**小括号**辅助进行优先级管理。例如:
[![](http:https://img.haomeiwen.com/i2293787/61171b97ff33326e.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)](http://img.mukewang.com/5361000a000129a005060071.jpg)
分析:小括号优先级最高,因此
1、 执行 a + 18 ,结果为 30
2、 执行( a + 18 ) % 4 取模,结果为 2
3、 执行 a * ( ( a + 18 ) % 4 ),结果为 24