初级Java Web工程师-8.Java中的运算符

一、算术运算符

算术运算符主要用于进行基本的算术运算,如加法、减法、乘法、除法等。

Java 中常用的算术运算符:

初级Java Web工程师-8.Java中的运算符

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

例1:

初级Java Web工程师-8.Java中的运算符

运行结果:

初级Java Web工程师-8.Java中的运算符

例2:

初级Java Web工程师-8.Java中的运算符

运行结果:

初级Java Web工程师-8.Java中的运算符

一定要注意哦!自增和自减运算符只能用于操作变量,不能直接用于操作数值或常量!例如 5++ 、 8-- 等写法都是错误滴!

PS:% 用来求余数,也称为”取模运算符“ 

 

二、赋值运算符

实现以下赋值运算:
three=one+two:30    

three+=one:40      

three-=one:30

three*=one:300

three/=one:30    

three%=one:0

 

代码如下:
  public static void main(String[] args){

    int one = 10 ;

        int two = 20 ;

        int three = 0 ;        

    three=one+two;

    System.out.println("three=one+two:"+three);

    three+=one;

    System.out.println("three+=one:"+three);

        three-=one;

        System.out.println("three-=one:"+three);

        three*=one;

        System.out.println("three*=one:"+three);

        three/=one;

        System.out.println("three/=one:"+three);

        three%=one;

        System.out.println("three%=one:"+three);

    }   



代码示例:

package com.imooc;

 

public class LogicTest {

 

public static void main(String[] args) {

// TODO Auto-generated method stub

    //练习赋值运算

int one=10;

int two=20;

int three=0;

System.out.println("three=one+two:"+(three=one+two));    //three=30;

System.out.println("three+=one:"+(three+=one));     //three=40;

System.out.println("three-=one:"+(three-=one));     //three=30;

System.out.println("three*=one"+(three*=one));   //three=300;

System.out.println("three/=one"+(three/=one));    //three=30;

System.out.println("three%=one"+(three%=one));    //three=0;

    }

 

 

三、比较运算符 

比较运算符用于判断两个数据的大小,例如:大于、等于、不等于。比较的结果是一个布尔值( true 或 false )。

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

初级Java Web工程师-8.Java中的运算符

注意哦:

1、  > 、 < 、 >= 、 <= 只支持左右两边操作数是数值类型

2、  == 、 != 两边的操作数既可以是数值类型,也可以是引用类型

 

举例

请在编辑器中的第 7 、 8 、 9 、 10 行中添加正确的比较运算符,实现如下运行结果:

初级Java Web工程师-8.Java中的运算符

 

四、逻辑运算符

逻辑运算符主要用于进行逻辑运算。Java 中常用的逻辑运算符如下表所示:

初级Java Web工程师-8.Java中的运算符

我们可以从“投票选举”的角度理解逻辑运算符:

1、 :要求所有人都投票同意,才能通过某议题

2、 :只要求一个人投票同意就可以通过某议题

3、 :某人原本投票同意,通过非运算符,可以使其投票无效

4、 异或:有且只能有一个人投票同意,才可以通过某议题

当使用逻辑运算符时,我们会遇到一种很有趣的“短路”现象。

譬如:( one > two ) && ( one < three ) 中,如果能确定左边 one > two 运行结果为 false , 则系统就认为已经没有必要执行右侧的 one < three 啦。

同理,在( one > two ) || ( one < three ) 中,如果能确定左边表达式的运行结果为 true , 则系统也同样会认为已经没有必要再进行右侧的 one < three 的执行啦!

任务

假设有 A 、 B 、 C 、 D 四个人投票,由他们决定投票是否通过,此时就到了逻辑运算符“大显身手”的时候了。请在编辑器中的第 7 、 8 、 9 、 10 行中填写代码,将程序补充完整

初级Java Web工程师-8.Java中的运算符

结合运行结果,相信可以帮助大家更好的理解逻辑运算符的应用~~

初级Java Web工程师-8.Java中的运算符


代码示例:

package com.imooc;

 

public class LogicTest {

 

public static void main(String[] args) {

// TODO Auto-generated method stub

      boolean a=true;    //a同意

      boolean b=false;   //b反对

      boolean c=false;

      boolean d=true;

      System.out.println((a&&b)+"未通过");

  System.out.println((a||d)+"通过");

System.out.println(!a+"未通过");

System.out.println((c^d)+"通过");   //有且仅有一个为true则结果为真

}

 

}

 

四、条件运算符

条件运算符( ? : )也称为 “三元运算符”。

语法形式:布尔表达式 ? 表达式1 :表达式2

运算过程:如果布尔表达式的值为 true ,则返回 表达式1 的值,否则返回 表达式2 的值

例如:

初级Java Web工程师-8.Java中的运算符

因为,表达式 8>5 的值为 true ,所以,返回: 8大于5

任务

快来加入条件运算符的练习吧!

在编辑器中的第 4 行输入代码,应用关系运算符实现 “判断:如果 score 大于或等于 60 ,输出及格,反之输出不及格“

运行结果为: 考试成绩如何:及格


代码示例:


//用条件运算符   (布尔表达式)?表达式1:表达式2;   比较8和5的大小,如果8<5,则输出结果为表达式2
package com.imooc;

 

public class LogicTest {

 

public static void main(String[] args) {

// TODO Auto-generated method stub

    //条件运算符      (布尔表达式)?  表达式1:表达式2;   例如(8<5)? "true":"false";

String str=(8<5)? "结果true":"结果false";

System.out.println(str);

 

}

 

}

 

六、运算符的优先级

运算符的优先级

所谓优先级,就是在表达式中的运算顺序。Java 中常用的运算符的优先级如下表所示:

初级Java Web工程师-8.Java中的运算符

级别为 1 的优先级最高,级别 11 的优先级最低。譬如,x = 7 + 3 * 2  得到的结果是 13 “先乘后加”嘛!

PS:大家没必要去死记运算符的优先级顺序,实际开发中,一般会使用小括号辅助进行优先级管理。例如:

初级Java Web工程师-8.Java中的运算符

分析:小括号优先级最高,因此

1、 执行 a + 18 ,结果为 30

2、 执行( a + 18 ) % 4 取模,结果为 2

3、 执行 a * ( ( a + 18 ) % 4 ),结果为 24

任务

请在编辑器中的第 5 行输入如下代码,相信结合运行结果,大家会对运算符的优先级会有更加清晰的理解!

int  x = ( m * 8 / ( n + 2 ) ) % m ;

运行结果:

 初级Java Web工程师-8.Java中的运算符 

代码示例:

package com.imooc;

 

public class LogicTest {

 

public static void main(String[] args) {

// TODO Auto-generated method stub

    //运算符先后顺序练习

int m=5;

int n=7;

int x=( m * 8 / ( n + 2 ) ) % m ;

System.out.println(x);

}

 

}