第五章:循環
一.while循環
1.流程圖
2.注意
只有當循環中只包含一條語句或者不包含語句時,可以省略花括號。
在循環控制中,不要使用浮點值來比較是否相等,因爲浮點值都是近似值。
3.經典案例
int i=1;
while(i<10)
if((i++)%2==0)
System.out.print(i+" ");//3 5 7 9
二.do-while循環
1.流程圖
其他兩種都爲前測循環,do-while爲後測循環
三.for循環
1.流程圖
2.語法
for(初始操作;循環繼續條件;每次迭代後的操作){
循環體;
語句組;
}
break:跳出當前循環
continue:跳出當前迭代
return:跳出當前方法
3.注意
for循環在初始操作中聲明變量是一個好習慣
初始動作可以用逗號分開
for(int i=0,j=0;i+j<10;i++,j++){}
每次迭代後的操作可以用逗號分開
for(int i=0;i<10;System.out.println(i),i++)
在無限循環時
for(;true;){}
while(true){}//建議用這種
四.輸入輸出重定向
1.當數據量大時,可以使用輸入輸出重定向
java 類名 < input.txt//向input.txt中讀文件
java 類名 > output.txt//向output.txt中寫文件
java 類名 < input.txt > output.txt//從input.txt中讀,再寫入output.txt文件中
2.具體案例
使用輸入重定向
整數在txt文本中用空格隔開
使用輸出重定向
五.位操作符
操作符 | 描述 |
---|---|
& | 位與 |
| | 位或 |
^ | 位與或 |
~ | 求反 |
<< | 左移位 |
>> | 右移位 |
>>> | 不帶符號的右移位 |
1.左移位
int y=10<<2;//00001010->00101000 結果爲40
二進制向左邊移動兩位,並添加兩個零
2.右移位
int y=10>>2;//00001010 -> 00000010 結果爲2
int y=-10>>2;//結果爲-3
正數向右移補0
負數向右移補1
3.無符號位右移位
int y=10>>>2;//結果爲2
無論正負,都補0
五.總結
通過第五章的學習,我知道了三種循環,while循環,do-while循環和for循環,他們運用於不同的場景,大多數時候也可以相互轉化,儘量少的使用continue和break以提高代碼可讀性。輸入輸出重定向很好的解決了數據量大的問題,移位運算在進行二進制計算時效率十分高。
加油!第六章待更……