java 字符+操作,字符串+操作


字符額 “+” 操作

是拿字符在計算機底層對應的數值來進行計算的

  • ‘A’ = 65 A-Z是連續的

  • 'a' = 97 a-z是連續的

  • '0' = 48 0-9是連續的

算數表達式中包含多個基本數據類型的值的時候,整個算數表達式的類型會自動進行提升。

提升規則:

  • byte類型,shot類型、char類型將被提升到int類型

  • 整個表達式的類型自動提升到表達式中最高等級操作數同樣的類型,等級循序:byte,short,char→int→long→float→double

public static void main(String[] args) {
        int i = 10;
        char c = 'A';        //A的值是65 ,char 類型的賦值用單引號
        c='a';               //'a'的值是97
        c='0';               //‘0’的值是48
        System.out.println(i + c);
        //char ch=i+c;       //報錯。因為char類型會自動提升為int類型
        int j=i+c;
        System.out.println(j);

        //int k=10+13.14;   // 報錯,因13.14是double類型,10是int類型的,double類型的等級比int類型的要高,所以結果應該是double類型的
        double k=10+13.14;
        System.out.println(k);
    }

字符串的 “+” 操作

當“+”操作出現的字符串時,這個“+”是字符串連接符,而不是算數運算符。 例如:“test” + 666, 結果是test666 在“+”操作中,如果出現了字符串,這個“+”就是連接運算符,否則就是算數運算符。當連續進行+操作時,從左到右逐個執行。 例如:1+99+test 結果是100test

public static void main(String[] args) {    
    System.out.println("test" + "str");    
    System.out.println("test" + 666);    
    System.out.println(666 + "test");    
    System.out.println("test" + 100 + 1);    
    System.out.println(1 + 100 + "test");
    /*字符串的 + 操作,當“+”操作出現的字符串時,這個“+”是字符串連接符,而不是算數運算符。
    例如:“test” + 666, 結果是test666
    在“+”操作中,如果出現了字符串,就是連接運算符,否則就是算數運算符。當連續進行“+”操作時,從左到右逐個執行。
    例如:1+99+test 結果是100test */
}

賦值運算符

符號 作用 說明
= 賦值 a=10,將10賦值給a
+= 加后賦值 a+=b,將a加b后,所得值再賦值給a
-= 減后賦值 a-=b,將a減b后,所得值再賦值給a
*= 乘后賦值 a*=b,將a乘b后,所得值再賦值給a
/= 除后賦值 a/=b,將a除以b后,所得值再賦值給a
%= 取余后賦值 a%=b,將a除以b后,所得余數再賦值給a

注意:紅色是擴展賦值運算符,擴展的賦值運算符,底層隱含了強制類型轉換。

例如:

short s=10;

s+=20;//結果是30,雖然s是short類型,20是int類型,但底層自動進行類型轉換,所以編譯通過

//s=s+20;//編譯報錯,因10是int類型,無法與short類型進行運算

s=(short)(s+20);//進行強制類型轉換就可以進行編譯了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM