1. 程式人生 > 實用技巧 >人生苦短我學Java-3-String型別/多種運算子

人生苦短我學Java-3-String型別/多種運算子

一、String型別變數的使用

1、String屬於引用資料型別,翻譯為:字串(區分大小寫的哦)
2、宣告string型別變數時,使用雙引號,一對""
3、String可以和8種基本資料型別變數做運算,且運算只能是連線運算:+,並且輸出資料型別為:String

public class a_string {
    public static void main(String[] args) {
        String a = "泡泡龍";
        String b = " 1";
        String c = "姓名:";
        System.out.println(c 
+ a + b); } }

二、運算子

1、算術運算子:

public class a_number {
    public static void main(String[] args) {
        int a = 2;
        int b = 4;

        // 正號:+
        System.out.println(+a);

        // 負號:-   負負會得正
        System.out.println(-b);

        // 加:+
        System.out.println(a + b);

        
// 減:- System.out.println(a - b); // 乘:* System.out.println(a * b); // 除:/ System.out.println(b / a); // 取餘(取模):% System.out.println(b % a); // 自增(前):++ System.out.println("自增前:" + +a); // 自增(後):++ int age = 10; System.out.println(
"自增後,原來數值為:" + age++); // 先列印10,再10+1=11 System.out.println("自增後:" + age); // 輸出11 // 自減(前):-- System.out.println("自減前:" + --a); // 自減(後):-- int num = 10; System.out.println("自減後,原來數值為" + num--); // 先列印10,再10-1=9 System.out.println("自減後:" + num); // 輸出9 // 字元拼接:+ char c = 'h'; String d = "ello"; System.out.println("字元拼接:" + c + d); /* 練習:求三位數長度的個個十百位數 */ int number = 189; System.out.println("百位數為:" + number / 100); System.out.println("十位數為:" + number / 10 % 10); System.out.println("個位數為:" + number % 10); /* 自增其它數值 */ int num1 = 10; num1 += 2; System.out.println(num1); /* 自增其它數值 */ int num2 = 10; num2 -= 2; System.out.println(num2); } }

練習:

/* 練習:求三位數長度的個個十百位數 */

public class a_number {
    public static void main(String[] args) {
        /* 練習:求三位數長度的個個十百位數 */
        int number = 189;
        System.out.println("百位數為:" + number / 100);
        System.out.println("十位數為:" + number / 10 % 10);
        System.out.println("個位數為:" + number % 10);
    }
}

百位數為:1
十位數為:8
個位數為:9

2、比較與運算子

public class a_compare {
    public static void main(String[] args) {
        int a = 10;
        int b = 10;
        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);
        System.out.println(a > b);
        System.out.println(a = b);
    }
}

3、邏輯運算子

邏輯運算子用於連線布林型表示式

“&”和“&&”的運算的結果都相同,區別:
  • &時,左邊無論真假,右邊都進行運算;
  • &&時,如果左邊為真,右邊參與運算,如果左邊為假,那麼右邊不參與運算。
“|”和“||”的運算的結果都相同,區別同理,||表示:當左邊為真,右邊不參與運算。
public class a_compare {
    public static void main(String[] args) {
        /*
        2、邏輯運算1
        且:&
        或:|
        非:!,取反
        異或:^
        */
        boolean i = true;
        boolean o = false;
        System.out.println(i & i);
        System.out.println(o | i);
        System.out.println(!o);       // 取反,原本o為false,取反變為true
        System.out.println(i ^ i);    // 異或,兩值相同時為flase
        System.out.println(i ^ o);    // 異或,兩值不相同時為true

        // 異或,類似且的取反,如下:
        System.out.println(!(i & i));
        System.out.println(!(i & o));

        /*
        2、邏輯運算2
        短路,且:&,值有一個為false,那全部為false,當值全為true時才為true
        短路,或:|,值有一個為true,那就為true,當值全為false時才為false
        */
        boolean aa = true;
        boolean bb = false;
        System.out.println(aa && bb);
        System.out.println(aa || aa);
    }
}

4、位運算子

位運算是直接對整數的二進位制進行的運算,開發過程中個人認為不是很常用;
public class BitTest {
    public static void main(String[] args) {
        int a = 2;
        int b = 8;
        //面試題:最高效方式的計算2* = 8,  2 << 3 或8 <<1
        // 相當於每向左移一位就 * 3
        System.out.println("a << 2 :" + (a << 3));

        // 相當於每向右移一位就 / 2
        System.out.println("a >> 2 :" + (b >> 2));

        int c = 12;
        int d = 5;
        System.out.println("c & d:" + (c & d));
        System.out.println("c & d:" + (c | d));
        System.out.println("c & d:" + (c ^ d));
    }
}

5、三元運算子

結構:(條件表示式)? 表示式1:表示式2

結果為布林型別;

public class a_San {
    public static void main(String[] args) {
        // max:取最大值
        int a = 5;
        int b = 10;
        int max = (a > b) ? a : b;
        System.out.println(max);

        // 巢狀
        String maxStr = (a > b) ? "a大" : ((a == b) ? "ab相等" : "b大");
        System.out.println(maxStr);

        // 求三個數的最大值
        int c = 11;
        int maxSan = ((a > b) ? a : b) > c ? ((a > b) ? a : b) : c;
        System.out.println(maxSan);
    }
}

最後歡迎來大家QQ交流群一起學習:482713805