Java生物般的知覺性——通過執行控制語句 讓程式依計行動
程式就像一隻有知覺的動物,在它的客體存在階段,我們仍需要控制它做出行為的能力。就像一隻螞蟻,什麼時候該覓食,什麼時候該築巢,什麼時候該休眠,都應該處在各種條件的掌控之中。
一切條件語句的基礎,均為true或者false。條件語句通過真假來決定執行路徑。
下面介紹各種執行流程的控制形式:
1、IF-ELSE 是空值程式流程的最基本形式。
if(Boolean)
Statement_1
else
Statement_2
如果boolean為真,則執行語句1,如果為假,則執行語句2 這是最常用的控制執行流程,在處理Yes-doFirst、No-doSecond判斷時最簡易寫法。
2、迭代(控制迴圈) while、do-while、for為迭代語句。
迭代語句重複執行,直到起控制作用的布林表示式得到“false”的結果為止。
①、while語句
while(Boolean)
Statement
只要Boolean返回為真,就重複執行迴圈體中的語句Statement。
舉個簡單的例項,以下程式碼用於無限產生隨機數,直到符合特定條件(result>0.99)停止:
public class whileTest{
static boolean condition(){
boolean istrue= Math.ramdom() < 0.99; //產生一個大於0.0且小於1.0的隨機數,如果該數值小於0.99,返回true,否則返回false
System.out.println("num="+result);
return istrue;
}
public static void main(String[] args){
while(condition()){
System.out.println("Less than 0.99 , inside while");
}
System.out.println( "More than 0.99 , exited while");
}
}
②、do-while語句
do-while語句的格式:
do
Statement
while(Boolean-expression)
while與do-while唯一的區別就在於do-while中的語句至少會執行一次,即使計算結果為false。造成這種現象的原因,是因為do是寫在前面的,根據程式執行流程,會先編譯到do方法塊之中的內容。在實際應用中,while比do-while更加常用。
③、for迴圈
for迴圈的格式如下:
//for的初始化表示式概念
for(initalization ; Boolean ; step)
//以下用中文同義表達
for(初始化表示式 ; 布林表示式 ; 某種形式的提升或步進)
練習:寫一個程式,列印整數1-100相加的值
public class oneTohundred{
public static void main(String[] args){
int sum = 0;
for(int i=0;i<100;i++){
sum=i+sum;
}
System.out.print("1到100相加的和為:"+sum);
}
3、Foreach(更加簡潔的for語法)
假如擁有一個Double陣列 我們用for方法打印出它的十個值
public class ForEachDouble{
public static void main(String[] args){
Random rand = new Random(47); //得到一個偽隨機數類。偽隨機數是以相同的概率從一組有限的數字中選取的。所選數字並不具有完全的隨機性
Double d[] = new Double[10];
for(int i=0;i<10;i++){
d[i] = rand.nextDouble();
}
for(Double x : d){
System.out.println("產生新的隨機數"+x);
}
}
}
for(Double x : d)這條語句定義了一個double型別的變數x,並將d的每一個元素通過遍歷賦予x。
4、return
return關鍵字有兩方面的用途
①、指定一個方法返回的值(返回值為void除外)
②、導致當前的方法退出(使用return;也可用於返回型別為void的函式)
5、break和continue