package com.yuan.test; public class Autogrew { public static void main(String[] args) { // 保存 short 可取的最大值的常量,最大值爲 215-1。(32 767) // 保存 short 可取的最小值的常量,最小值爲 -215。(-32 768) short s1=11278; s1+=1; //s1=s1+1;//報錯 自動會轉換成int 類型 System.out.println(s1); // 值爲 2 31次方-1 的常量,它表示 int 類型可以表示的最大值。 // 值爲 -2 31次方 的常量,它表示 int 類型可以表示的最小值。 //一個常量,保存 byte 類型可取的最大值,即 2 7次方-1。(127) //一個常量,保存 byte 類型可取的最小值,即 -2 7次方。(-128) } }
對於 short s1 = 1; s1 = s1 + 1;因爲 s1+1 運算時會自動提高表達式的類型,因此結果是 int
型,再賦值給 short 類型 s1 時, 編譯器將報告須要強制轉換類型的錯誤。
對於 short s1 = 1; s1 += 1;因爲 +=是 java 語言規定的運算符, java 編譯器會對它進行特殊
處理,所以能夠正確編譯。
java
2、 char 型變量中能不能存貯一箇中文漢字?爲何?
char 型變量是用來存儲 Unicode 編碼的字符的, unicode 編碼字符集中包含了漢字,因此,
char 型變量中固然能夠存儲漢字啦。不過,若是某個特殊的漢字沒有被包含在 unicode 編
碼字符集中,那麼,這個 char 型變量中就不能存儲這個特殊漢字。 補充說明: unicode 編
碼佔用兩個字節,因此, char 類型的變量也是佔用兩個字節。
備註:後面一部分回答雖然不是在正面回答題目,可是,爲了展示本身的學識和表現本身對
問題理解的透徹深刻,能夠回答一些相關的知識,作到知無不言,言無不盡。
編碼