Chapter3 Java運算符

Lecture1 運算符概述

  • 表達式:由運算符和操做數組成
  • 運算符:java

    • 算術運算符
    • 賦值運算符
    • 關係運算符
    • 邏輯運算符
    • 條件運算符
    • 位運算符
  • X目運算符:對幾個操做數進行操做就是幾目運算符

Lecture2 算術運算符與賦值運算符

  • 賦值運算符:賦值運算符是從右往左運算,是單目運算符;格式:變量 = 表達式;;複合賦值運算符:「 +=、-=、*=、/=、%= 」,例如x += 5;等價於x = x + 5;
  • 算術運算符:主要用於基本的算術運算,如加、減、乘、除等
算術運算符 名稱 舉例
+ 加法(雙目運算符) 1 + 2
- 減法(雙目運算符) 3 - 2
* 乘法(雙目運算符) 4 * 3
/ 除法(雙目運算符) 5 4
% 求餘數(雙目運算符) 6 % 5
++ 自增(單目運算符) 7++
-- 自減(單目運算符) 8--
  • 算術運算符案例:
public class MathDemo1 {
    public static void main(String[] args) {
        int num1 = 10, num2 = 5;
        int result;//存放結果
        //加法
        result = num1 + num2;
        System.out.println(num1+" + "+num2+" = "+result);
        //減法
        result = num1 - num2;
        System.out.println(num1+" - "+num2+" = "+result);
        //乘法
        result = num1 * num2;
        System.out.println(num1+" * "+num2+" = "+result);
        //除法
        result = num1 / num2;
        System.out.println(num1+" / "+num2+" = "+result);
        //分子分母都是整型時,結果爲整除後的結果
        System.out.println(13 / 5);
        System.out.println(13.0 / 5);
        //求餘數
        result = 13 % num2;
        System.out.println("13 % "+num2+" = "+result);
        System.out.println(13.5 % 5);
    }
}
  • 自增自減運算符:「 ++ 」或「 -- 」在操做數前則先進行自增/自減運算再參與表達式運算,「 ++ 」或「 -- 」在操做數後則先參與表達式運算再進行自增/自減運算
  • 自增自減運算符案例:
public class MathDemo2 {
    public static void main(String[] args) {
        //x++
        int x = 4;
        int y = (x++) + 5;
        System.out.println("x = "+x+", y = "+y);
        //++x
        x = 4;
        y = (++x) + 5;
        System.out.println("x = "+x+", y = "+y);
        //x--
        x = 4;
        y = (x--) + 5;
        System.out.println("x = "+x+", y = "+y);
        //--x
        x = 4;
        y = (--x) + 5; 
        System.out.println("x = "+x+", y = "+y);
    }
}

Lecture3 關係運算符

  • 關係運算符:「 >、<、>=(大於等於)、<=(小於等於)、==(等於)、!=(不等於) 」,又稱爲比較運算符,用於判斷兩個數值的大小;比較的結果是一個布爾值;主要應用在條件和循環語句中做爲判斷條件
  • 比較運算符例子:'A'與'B',結果爲false,比較對象是ASCII值;5 != 6,結果爲true,比較對象是數值;true == false,結果爲false,比較對象是布爾值;整型和浮點型比較,值相等就返回true,反之返回false
  • if條件結構:
//格式
if(條件){
  <語句塊>//只有一條語句時,「 {} 」能夠省略
}

//例子
//商場打折,若兩件商品總價大於100則減20,並將原價和折後價分別輸出
public class ConditionDemo1 {
    public static void main(String[] args) {
        //定義商品1和商品2
        double price1 = 80, price2 = 55;
        //商品總價格
        double sum = price1 + price2;
        //輸出原價
        System.out.println("原價爲:"+sum);
        //判斷商品價格是否大於100
        if(sum > 100){
            sum -= 20;
        }
        //輸出折後價
        System.out.println("折後價爲:"+sum);
    }
}
  • if-else條件結構:
//格式
if(true){
  <語句塊>
}
else{
  <語句塊>
}

//例子
//判斷一個整數是奇數仍是偶數,並輸出結果
import java.util.Scanner;

//判斷一個整數是奇數仍是偶數,並輸出結果
public class ConditionDemo2 {
    public static void main(String[] args) {
        //定義一個變量存放數據
        //int n = 10;

        //使用Scanner類,接收從鍵盤輸入的數據(面向對象部分知識)
        Scanner sc = new Scanner(System.in);
        System.out.println("請輸入n的值:");
        int n = sc.nextInt();
        //判斷奇偶性
        if(n % 2 == 0){
            System.out.println(n+"是偶數");
        }
        else{
            System.out.println(n+"是奇數");
        }
    }

Lecture4 邏輯運算符

  • 邏輯運算符:邏輯運算符用於鏈接一個或多個條件,判斷這些條件是否成立;返回結果爲布爾類型;邏輯運算符的操做數都是布爾類型的
  • 邏輯與運算符:「 && 」或「 & 」,運算規則--操做數均爲true則結果爲true,只要有false則結果爲false;&&運算符又叫短路運算符,若是第一個表達式的值就能決定表達式最後的結果,運算符右邊的表達式就再也不計算,例如
int n = 3; 
boolean b = (3 > 7) && ((n++) < 2);
//b = false;   n = 3;
  • 邏輯非運算符:「 || 」或「 | 」,運算規則--操做數均爲false則結果爲false,只要有true則結果爲true;&&運算符又叫短路運算符,若是第一個表達式的值就能決定表達式最後的結果,運算符右邊的表達式就再也不計算
  • 邏輯非運算符:「 ! 」,運算規則--對原條件取反

Lecture5 條件運算符與運算符的優先級

  • 條件運算符:是Java中惟一一個三目運算符;語法格式布爾表達式 ? 表達式1 : 表達式2,當布爾表達式的值爲true,則返回表達式1的值,不然返回表達式2的值(邏輯上等價於if-else語句),例子:
//求a和b的最大值
public class MaxDemo {
    public static void main(String[] args) {
        int a = 4, b = 7;
        int max;//最大值
        //使用if-else語句判斷
        if(a > b){
            max = a;
        }
        else{
            max = b;
        }
        System.out.println("max = "+max);

        //等價於
        max = a > b ? a : b;
        System.out.println("max = "+max);
    }
}
  • 運算符的優先級:優先級由高到低,表格以下:
運算符 描述
() 圓括號
!, ++, -- 邏輯非,自增,自減(單目運算符)
*, /, % 乘法,除法,取餘(算術運算符)
+, - 加法,減法(算術運算符)
<, <=, >, >= 小於,小於等於,大於,大於等於(關係運算符)
==, != 等於,不等於(關係運算符)
&&或& 邏輯與(邏輯運算符)
||或| 邏輯非(邏輯運算符)
=, +=, *=, -=, /=, %= 賦值運算符,複合賦值運算符(賦值運算符)

Lecture6 運算符綜合案例

  • 使用if-else語句判斷輸入的年份是不是閏年(提示:能被4整除但不能被100整除或者能被400整除的年份是閏年)
import java.util.Scanner;

public class LeapYear {
    public static void main(String[] args) {
        System.out.println("請輸入年份:");
        Scanner sc = new Scanner(System.in);
        int year = sc.nextInt();

        if(((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)){
            System.out.println(year+"是閏年");
        }
        else{
            System.out.println(year+"不是閏年");
        }
    }
}
相關文章
相關標籤/搜索