Java 入门之常用的运算符

。吗,,,,,,,。。、>Java 针对操控变量提供了一组丰富的运算符。

运/*算符是一种“功能”符号,用以通知 Java 进行相关的运算。譬如,我们需要将变量 age 的值设置为 20 ,这时候就需要一个“=”,告诉程序需要进行赋值操作。

Java 语言中常用的运算符可分为如下几种:

Ø 算术运算符

Ø 赋值运算符

Ø 比较运算符

Ø 逻辑运算符

Ø 条件运算符

java中的算数运算符

算术运算符在数学表达中的使用和它们在代数中的使用是相同的。下面的表格列举了算数运算符:

ps : ** 其中,++ **和 -- 既可以出现在操作数的左边,也可以出现在右边,但结果是不同滴
例18:


运行结果:

例2:

运行结果:


Java中的赋值运算符

赋值运算符是指为变量或常量指定数值的符号。如可以使用 “=” 将右边的表达式结果赋给左边的操作数。

赋值运算符.png

Java中的比较(关系)运算符

Java 中常用的比较运算符如下表所示:

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://upload-images.jianshu.io/upload_images/2293787-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://upload-images.jianshu.io/upload_images/2293787-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://upload-images.jianshu.io/upload_images/2293787-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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,269评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,853评论 18 399
  • 小编费力收集:给你想要的面试集合 1.C++或Java中的异常处理机制的简单原理和应用。 当JAVA程序违反了JA...
    八爷君阅读 4,731评论 1 114
  • 时时刻刻关注身边所有可以被关注的东西,而且非常害怕竟然有被自己漏掉的 承接前面的文章,在明确注意力的重要性,避免注...
    涂sir阅读 392评论 0 0
  • 手机铃声响起,是公司发来面试的通知。 本应该在长沙实习的我,偏偏再次回到学校,我心里明白这是在逃避现实,可我...
    邓奈斯阅读 351评论 0 0