Java入門--運算子和表示式

VellyKiey發表於2024-12-04

Java入門

1、算術運算子

實現對兩個數的運算,程式輸出效果為:

請輸入第一個整數:
25
請輸入第二個整數:
8
兩數相加的結果為:33
兩數相減的結果為:17
兩數相乘的結果為:200
兩數相除的結果為:3
兩數取餘數的結果為:1

以下是Java程式碼:

public class Calculate{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.println("請輸入第一個整數:");
        int a = sc.nextInt();
        System.out.println("請輸入第二個整數:");
        int b = sc.nextInt();
        System.out.println("兩數相加的結果為:" + (a + b));
        System.out.println("兩數相減的結果為:" + (a - b));
        System.out.println("兩數相乘的結果為:" + (a * b));
        System.out.println("兩數相除的結果為:" + (a / b));
        System.out.println("兩數取餘數的結果為:" + (a % b));
    }
}

Java中常用的算術運算子:

算術運算子 名稱 舉例
+ 加法 5+12=17
- 減法 25-10=15
* 乘法 3*8=24
/ 除法 24/6=4
% 求餘 24%7=3
++ 自增1 int i=5;i++;++i;
-- 自減1 int i=5;i--;--i;

++i 和 i++ 是不同的,例如:

int i = 1;
int j = ++i;
int k = i++;
System.out.println("j:"+j);
System.out.println("k:"+k);

輸出的結果是:

j:2

k:2

++放在前面表示這個自增運算有更高的優先順序,會先運算i自增1變為2,再將值交給j,而++放在後面,該自增運算處於低優先順序,i的值2交給k之後,再進行++變為3。

對於除法

如果進行運算的兩個數是整型,則運算結果是整型,就算會產生小數部分,小數部分也會被直接抹除(不會四捨五入,直接扔掉所有)。

如果進行運算的兩個數是浮點型(float或者double),就能夠產生正常的小數部分。

對於取模運算:

即求整除後剩餘的值,七個蘋果分給三個小朋友,不夠分的留下,餘數是多少?

\(7\div3=2\dots1\),所以取餘數為1。

2、關係運算子

使用關係運算子實現判斷兩數的關係:

請輸入一個數a:
20
請輸入一個數b:
34
a==b=false
a!=b=true
a>b=false
a<b=true
b>=a=true
b<=a=false

以下是Java程式碼:

public class Calculate{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.println("請輸入一個數a:");
        int a = sc.nextInt();
        System.out.println("請輸入一個數b:");
        int b = sc.nextInt();
        System.out.println("a==b=" + (a==b));
        System.out.println("a!=b=" + (a!=b));
        System.out.println("a>b=" + (a>b));
        System.out.println("a<b=" + (a<b));
        System.out.println("a>=b=" + (a>=b));
        System.out.println("a<=b=" + (a<=b));
    }
}

常見的關係運算子,設A=10,B=20:

運算子 描述 例子
== 檢查如果兩個運算元的值是否相等,如果相等則返回 \(A==B\)為假
!= 檢查兩個運算元的值是否相等,如果不相等則返回 \(A!=B\)為真
> 檢查左運算元的值是否大於右運算元的值,如果是則返回 \(A>B\)為假
< 檢查左運算元的值是否小於右運算元的值,如果是則返回 \(A<B\)為真
>= 檢查左運算元的值是否大於或等於右運算元的值,如果是則返回 \(A\geq B\)為假
<= 檢查左運算元的值是否小於或等於右運算元的值,如果是則返回 \(A\leq B\)為真

3、邏輯運算子

邏輯運算子用於測試兩個運算元之間的邏輯關係,兩個運算元必須是布林型別

邏輯運算子 名稱 舉例 結果
&& a&&b 如果a和b都為true則返回true
|| a||b 如果a和b有一個為true,則結果true,a和b都為false則返回false
! !a 如果a為false,則返回true,即取反
^ 異或 a^b 如果a和b有且只有一個為true,則返回true

4、三元運算子

輸入一個年份,判斷是否為閏年。

Java程式碼:

public class judgeLeapYear{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int year = sc.nextInt();
        return (year % 400 == 0)||((year % 4 == 0) && (year % 100 != 0)) ? true : false;
    }
}

三元運算子:

條件表示式 ? 條件為真返回的結果 : 條件為假返回的結果

例如上題,條件表示式為:(year % 400 == 0)||((year % 4 == 0) && (year % 100 != 0))

判斷了:

1.年份能被400整除。

2.年份能被4整除,但不能被100整除。

將這兩個條件用或運算子連線,如果結果為真則返回true,如果為假則返回false,這樣就能判斷某個年份是不是閏年了。

5、運算子的優先順序

優先順序 運算子
1 ()
2 ! +(正) -(負) ++ --
3 * / %
4 +(加) -(減)
5 < <= > >=
6 == !=
7 ^
8 &&
9 ||
10 ? :
11 = += -= *= /= %=

相關文章