這周主要學習了註釋的使用,運算符的基本使用,認識了類型,變量與常量,以及一些語句語法。複習了進制轉換。html
float PI = 3.14將double類型放入float變量中,會損失4字節的數據的問題
此時須要強制類型轉換
解決方法:float PI = 3.14F 或者 float PI =(float)3.14
強制將3.14轉化爲byte類型windows
關於整數類型的轉換
編譯時出現integer number too large錯誤,緣由是程序中寫下一個整數時,默認不超過int類型的長度
解決方法:long number = 2147483648L //用long配置長度學習
int a = 10; double b = a * 3.14
若是表達式中包括不一樣類型數值,則運算時以長度最長的類型爲主,其餘數值自動提高類型編碼
若是操做數都是不大於int的整數,則自動提高爲int類型進行運算。spa
輸出a的值使用「a=」
System.out.println(「a=」+a) // +表明字符串相加調試
轉義字符 經過 來轉變後面的字母或者符號的含義
\n:換行
\b:退格 至關於backspace
\r:按下回車鍵 windows中回車符是有兩個字符來表示\r\n
\t:製表符 至關於tabcode
賦值運算符
x+=4; //x=x+4htm
if語句
a.每個格式都是單條語句
b.第二種格式與三元運算符的區別:三元運算符運算完要有值出現。好處是能夠寫在其餘表達式中
c.條件表達式不管寫成什麼樣,只看最終的結構是不是ture或者falseblog
swith語句
a.switch語句選擇的類型只有四種 byte short int char
b.case之間與default沒有順序。先執行第一個case,沒有匹配的case執行default
c.結束switch語句的兩種狀況:遇到break,執行switch語句結束
d.若是匹配的case或者default沒有對應的break,那麼程序會繼續向下執行,運行能夠執行的語句,直到遇到break或switch結尾字符串
for語句
For裏面的連個表達式運行的順序,初始化表達式只讀一次,判斷循環條件,爲真就執行循環體,而後再執行循環後的操做表達式,接着繼續判斷循環條件,直到條件不知足爲止。
Break語句應用於選擇結構和循環結構,continue語句用於循環結構。
代碼調試中的問題和解決過程
根據書上的代碼,能夠獲得基本類型的範圍
public class Range{ public static void main(String[] args) { //byte、short、int、long範圍 System.out.printf("%d ~ %d%n",Byte.MIN_VALUE,Byte.MAX_VALUE); System.out.printf("%d ~ %d%n",Short.MIN_VALUE,Short.MAX_VALUE); System.out.printf("%d ~ %d%n",Integer.MIN_VALUE,Integer.MAX_VALUE); System.out.printf("%d ~ %d%n",Long.MIN_VALUE,Long.MAX_VALUE); //float、double精度範圍 System.out.printf("%d ~ %d%n",Float.MIN_EXPONENT,Float.MAX_EXPONENT); System.out.printf("%d ~ %d%n",Double.MIN_EXPONENT,Double.MAX_EXPONENT); //char可表示的Unicode範圍 System.out.printf("%h ~ %h%n",Character.MIN_VALUE,Character.MAX_VALUE); //boolean的兩個值 System.out.printf("%b ~ %b%n",Boolean.TRUE,Boolean.FALSE); } }
可是在編譯中編碼出現問題,請教了高其同窗後獲得解決。
結果以下圖
而關於下面這個代碼
public class Demo{ public static void main(String[] args) { int x=4270 x = x /1000 *1000; System.out.println(x); } }
運行結果應該是4000
X是int型,1000也是int型,運算結果也應該是int型而不應是double型,小數部分應該捨去。
關於算數運算符的語法
public class Demo{ public static void main(String[] args) { int a = 3,b; b = a ++; System.out.println(b); System.out.println(a); } }
運算結果是 3 4
代碼應該理解爲a先賦值給b而後a=a+1, 若是代碼是b=++a,則結果爲 4 4
關於賦值運算符的錯誤使用
public class Demo{ public static void main(String[] args) { short s = 4; s = s + 5; System.out.println(s); } }
出現編譯錯誤,沒有考慮從int轉換到short可能會有損失,容易丟失精度
能夠改爲s+=5;
課本P64代碼修改成
public class Shift { public static void main(String[] args) { int number=1; System.out.printf("2 的 0 次方: %d%n",number); System.out.printf("2 的 1 次方: %d%n",number << 1); System.out.printf("2 的 2 次方: %d%n",number << 1); System.out.printf("2 的 3 次方: %d%n",number << 1); } }
還要不斷敲代碼加以鞏固,流程控制和一些語法不少與C相似,也是c的鞏固與複習。
代碼行數(新增/累積) | 博客量(新增/累積) | 學習時間(新增/累積) | 重要成長 | |
---|---|---|---|---|
目標 | 4000行 | 16篇 | 300小時 | |
第一週 | 200/200 | 2/2 | 20/20 | |
第二週 | 200/400 | 1/3 | 25/45 |