2023年6月
11日 星期三
byte s=4;
// s=s+4; 編譯失敗
原因:它進行兩步操作,先運算後賦值,s
會被提公升為
int型別,運算的結果還是
int型別無法賦值給
short型別
s+=4; //編譯成功
原因:它進行一次賦值操作,+=在給s
賦值自動完成了強轉操作。
2、異或^ :
兩邊相同為
false
,不同為
true3、&
和&&的比較:
&:無論左邊是
true
還是false
,右邊都運算
&&:左邊為
false
時,右邊不運算。
單或和雙或的比較:
| : 兩邊都參與運算
|| :當左邊為
true
是,右邊不運算
4、位運算
小練習:
1、以最有效的方式算出
2*8等於幾?
2<<3;
2、對兩個整數變數的值進行互換(不要求第三方變數)
int m= 8 , n=3; (1
)使用第三方變數(常用
)int temp;
temp=n;
n=m;
m=temp;
(2) 不使用第三方變數
n=n+m; //如何n和
m的值非常大容易超
int型別的範圍
m=n-m;
n=n-m;
(3) 使用異或運算
n=n^m;
m=n^m; //(n^m)^m
n=n^m; //n^(n^m)
system.out.println(「m」+m, 「n」+n);
6、switch分支選擇特點:
*只接受
byte
、short
、int
、char
型變數*case和
default
的位置可以隨意調,只有在
case
中沒有確定的值時才執行
default
結果。*結束執行:遇到
break
,或執行到語句末尾。
*如果匹配的
case
或者default
沒有對應的
break
,則繼續向下執行直到遇到
break
或者執行到語句末尾。
例:輸出月份
int x=4;
switch(x)
一般情況下,如果是以上四種型別的話就選擇switch
,比if
要高效。當結果為
boolean
或者區間的時候則用
if較為方便
七、while和
for的小區別:
1、變數有自己的作用域,對於for
來講,如果用於控制迴圈的增量定義在
for語句中,那麼該變數旨在
for語句中執行完畢,該變數在記憶體中被釋放。
2、while和
for可以互換,如果需要定義迴圈增量則
for迴圈更合適些。
總結:什麼時候使用迴圈結構?
當要對某些語句執行很多次時就使用迴圈結構。
3、for迴圈中的表示式是不唯一的,而且初始值可以是一般表示式比如:
int x=1;
for(system.out.println("a");x<3;system.out.println("c"),x++)//adcdc
4、最簡單的無限迴圈形式是?
for(;;){}
while(true){}
練習:1
)列印1~10
的和
package tan;
public class testforloop
system.out.println("sum:"+sum);
} }
這就是累加思想:通過變數來記錄迴圈操作後的結果。
2)列印
1~100之間7
的倍數的個數
package tan;
public class testforloop
} system.out.println("共有7的倍數"+x+"個");} }
這就是計數器思想:通過變數來記錄資料的狀態變化。
八、for
迴圈語句巢狀型別
列印 *****
***
//列印三角形,可以定義變數x,也可以不用
for(int i=0;i<5;i++)
system.out.println();
}
列印
for(int i=0;i<5;i++)
system.out.println();
}
列印12345
for(int i=1;i<=5;i++)
system.out.println(); }
列印九九乘法表
1x1=1
1x2=2 2x2=4
1x3=3 2x3=6 3x3=9
1x4=4 2x4=8 3x4=12 4x4=16
1x5=5 2x5=10 3x5=15 4x5=20 5x5=25
1x6=6 2x6=12 3x6=18 4x6=24 5x6=30 6x6=36
1x7=7 2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=49
1x8=8 2x8=16 3x8=24 4x8=32 5x8=40 6x8=48 7x8=56 8x8=64
1x9=9 2x9=18 3x9=27 4x9=36 5x9=45 6x9=54 7x9=63 8x9=72 9x9=81
package tan;
public class testforloop
system.out.println();
} }
}
列印出如下圖形:
程式示例:
package tan;
public class testforloop
//列印*
for(int z=0;z<=i;z++)
system.out.println();
} } }
break和
continue
的區別比較:
package tan;
public class testforloop
}
// continue只能作用域迴圈結構,結束本次迴圈繼續下一次迴圈。
for(int i=1;i<10;i++)
system.out.println(i);//輸出10以內的奇數
} }
}//注意break和continue單獨存在時,下面可以有任何語句,但是下面的語句都執行不到
九、函式
1)返回真假值函式
package tan;
public class testforloop
public static boolean compare(int a,int b)
}
2)定義乙個功能用於列印矩形
package tan;
public class testforloop
public static void draw(int row,int col)
public static void print9x9()
system.out.println();
} }}
java基礎知識點複習
物件導向程式設計有三大特性 封裝,繼承,多型 多型時父類跟子類的建構函式都會被呼叫?答 子類預設呼叫父類的無參構造方法,所以如果子類沒有顯示呼叫父類的構造方法,父類中沒有無參的的建構函式,編譯出錯 多型 1.實現多型的三個條件 a.必須要有繼承關係子類跟父類 b.子類要重寫父類的方法,子類對父類的方...
複習四 java基礎知識點
31 string 不可變,stringbuffer可以改變,所以從效能的角度我們一般使用stringbuffer。32 string stringbuffer 和stringbuilder 的區別 string是字串常量 stringbuffer和stringbuilder 都是字串變數。一般來說...
JAVA基礎知識小結 小知識點
1,關鍵字 其實就是某種語言賦予了特殊含義的單詞。保留字 其實就是還沒有賦予特殊含義,但是準備日後要使用過的單詞。2,標示符 其實就是在程式中自定義的名詞。比如類名,變數名,函式名。包含 0 9 a z 注意 1 數字不可以開頭。2 不可以使用關鍵字。3,常量 是在程式中的不會變化的資料。4,變數 ...