程式語言基本組成:控制結構
控制結構細化一下,又可以分為輸入和輸出、分支結構控制、迴圈結構控制。不同的程式語言因為語法不同,程式碼的寫法有些出入,但只要熟悉了一門程式語言,再以此推之,其他的不會的程式語言,只有要寫幾遍差不多也就會了。
1.1.輸入和輸出
不要自欺,神是輕慢不得的。人種的是什麼,收的也是什麼。 《加拉太書》 6:7
從某種角度來看,軟體程式就是和人之間的對話。從本質上講,軟體程式可以看作一套定好的規則。規則定好了,人只有對他“說“(輸入)什麼,軟體程式就會自動按著指定的規則給你“答覆”(返回)什麼。要想得到什麼樣的答覆,就得看你對它“說”了什麼樣的話。換而言之,即經上的話“種的是什麼,收的也是什麼。”
程式語言翻譯
“人種的是什麼,收的也是什麼”。經上記著:'信子的人有永生;不信子的人得不著永生'(《約翰福音》 3:36)。照著這樣所說,如果“種”下的是信心,收穫的是永生。“種”下的如果不是信心,則得不著永生。
程式碼清單1:InAndOutDemo類原始碼
/** * 程式語言基本組成之一:控制結構 */ package controlStructure;
import java.util.Scanner;
/** * 輸入和輸出示例 */ public class InAndOutDemo {
public static void main(String[] args) throws Exception {
System.out.println("經上記著:'信子的人有永生;不信子的人得不著永生'(《約翰福音》 3:36),你信嗎?");
System.out.println("相信輸入yes,不相信,輸入no:");
//獲取控制檯的輸入流
Scanner in=new Scanner(System.in);
//得到從控制檯輸入的選擇
String answer = in.next();
//《羅馬書》 10:10 因為人心裡相信,就可以稱義;口裡承認,就可以得救。
if("yes".equalsIgnoreCase(answer)){
System.out.println("祝賀你,按經上所說,信子的人有永生!");
}else if("no".equalsIgnoreCase(answer)){
System.out.println("對不起,按經上所說,不信子的人得不著永生!");
}else{
System.out.println("今生沒有做出選擇,經上沒說答案,自己去問上帝。");
}
}
}
InAndOutDemo.java執行結果一:(輸入yes)
經上記著:'信子的人有永生;不信子的人得不著永生'(《約翰福音》 3:36),你信嗎? 相信輸入yes,不相信,輸入no:yes 祝賀你,按經上所說,信子的人有永生!
InAndOutDemo執行結果二:(輸入no)
經上記著:'信子的人有永生;不信子的人得不著永生'(《約翰福音》 3:36),你信嗎? 相信輸入yes,不相信,輸入no:no 對不起,按經上所說,不信子的人得不著永生!
執行結果,輸入問號:
經上記著:'信子的人有永生;不信子的人得不著永生'(《約翰福音》 3:36),你信嗎? 相信輸入yes,不相信,輸入no:? 今生沒有做出選擇,經上沒說答案,自己去問上帝。
1.2.分支結構
程式語言是人類發明的計算機語言。作為人類的發明產物之一,自然脫離不出人類的思維習慣。當魚和熊掌同時擺在眼前,又不能兼得時,我們就不得不做出選擇。或選擇魚,放棄熊掌;或選擇熊掌,捨棄魚。現實生活中,這樣的情況比比皆是,面臨的選擇也很多。因此,我們不難明白為什麼在程式碼中,if和else會鋪天蓋地。
程式語言翻譯
if,翻譯成人的語言就是,“如果是這樣,那就。。”。else,翻譯成人的語言就是:“如果不是那樣,那就。。。”。switch,其實也是一種變形的分支結構控制。if…else…可以換成switch的寫法。Switch也可以換成if…else…的寫法。
從事兩三年軟體開發之中,適應了工作,也初步適應了社會,年齡漸長,生活壓力等隨之增長,愛思考的人一般會不自覺的開始打算未來了。不同的人會做出不同的選擇。
程式碼清單:BranchStructureDemo類原始碼
/** * 程式語言基本組成之一:控制結構 / package controlStructure; /* * 程式語言中基本控制結構中的分支結構控制 */ public class BranchStructureDemo {
/**
*分析型別的控制結構,即:switch。
*/
public static void switchControl(){
System.out.println("從事軟體開發兩三年了,我不得不在現在做出對未來的選擇:");
int choice = 1; //選擇
String result = "";
switch(choice){
case 1: result = "深入技術,走技術路線,一級級的爬著高階、架構師、技術總監的階梯。"; break;
case 2: result = "偏向管理,走管理路線,做開發組長、專案經理、部門經理。"; break;
case 3: result = "移情別戀,轉行做別的,如銷售。"; break;
case 4: result = "'親不親,故鄉人;美不美,故鄉水.'回老家發展去。"; break;
default : result = "不知如何選擇,繼續一天天做著眼前的重複的工作。"; break;
}
System.out.println("你的選擇的結果是:" + result );
}
/**
* 分支型別的控制結構,即:if和else
*/
public static void branchControl(){
//古今之成大事業、大學問者,必經過三種之境界:“昨夜西風凋碧樹。獨上 高樓,望盡天涯路。
//(1)”此第一境也。“衣帶漸寬終不悔,為伊消得人憔悴 。
//(2)”此第二境也。“眾裡尋他千百度,驀然回首,那人卻在,燈火闌珊處 。
//(3)”此第三境也。此等語皆非大詞人不能道。然遽以此意解釋諸詞,恐為 晏歐諸公所不許也。
// -----摘自王國維的<<人間詞話>>
boolean isChoice = true; //是否做出了選擇
if( isChoice){
System.out.println("若年後,我站在'燈火闌珊處 '不禁回憶起當年的‘獨上高樓’,感慨萬千,'別是一翻滋味在心頭'。");
}else{
System.out.println("若年後,樓還是那樓,路還是那路。我依然站在樓上,望著遠方的'燈火闌珊','剪不斷,理還亂'。");
}
}
public static void main(String[] args) throws Exception {
//switch型別的控制結構示例
BranchStructureDemo.switchControl();
//if…else…分支型別的控制結構示例
BranchStructureDemo.branchControl();
}
}
BranchStructureDemo輸出結果:
從事軟體開發兩三年了,我不得不在現在做出對未來的選擇: 你的選擇的結果是:深入技術,走技術路線,一級級的爬著高階、架構師、技術總監的階梯。 若年後,我站在'燈火闌珊處 '不禁回憶起當年的‘獨上高樓’,感慨萬千,'別是一翻滋味在心頭'。
1.3.迴圈結構
傳道者說:“虛空的虛空,虛空的虛空,凡事都是虛空。” 人一切的勞碌,就是他在日光之下的勞碌,有什麼益處呢? 一代過去,一代又來,地卻永遠長存。 日頭出來,日頭落下,急歸所出之地。 風往南刮,又向北轉,不住地旋轉,而且返回轉行原道。 江河都往海里流,海卻不滿;江河從何處流,仍歸還何處 《傳道書》1:1-7
軟體系統是現實世界的一個模型。現實世界,“一代過去,一代又來”。永遠長存的地上,也是冬去春來,反覆無窮。這是一個充滿迴圈的世界,這種迴圈也帶進了程式語言,帶進了程式碼世界。
程式語言翻譯
摩西在詩篇的禱告中說到,“我們一生的年日是七十歲,若是強壯可到八十歲”。時光荏苒,人生有限,在此我們可以用迴圈統計下,“強壯”的活到了”八十歲”的人一生一共活了多少天。
程式碼清單:CycleControlDemo類原始碼
/** * 程式語言基本組成之一:控制結構 */ package controlStructure;
public class CycleControlDemo {
/**
* 迴圈型別的控制結構:for迴圈示例,其他的還有while。
*/
public static void cycleControl(){
//《詩篇》 90:10 我們一生的年日是七十歲,若是強壯可到八十歲;
//但其中所矜誇的不過是勞苦愁煩,轉眼成空,我們便如飛而去。
int strongAge = 80;//強壯的年齡80歲
int totalDay = 0; //用於累計一共活了多少天
int factAage = 0; //最後實際活了多少歲
System.out.println("我生日的那一天,上帝把我送到這個世界上,於是我開始了我這一生的旅途...");
for(int currentDage=1; currentDage<=strongAge; currentDage++){
factAage = currentDage;
System.out.println("經過一次春夏秋冬,又長了一歲。今年"+currentDage +"歲,我在...");
totalDay += 365; //過一年,又多活了365天。
if("意外事故".equals("發生")){
break; //人沒了,呼吸停止,生命中斷。
}
}
System.out.println("人生旅途結束,我又來到上帝面前,對上帝說:我這一生活到了"+factAage+"歲,一共活了"+totalDay+"天。");
System.out.println(" 人生苦短,於是我想起了:《詩篇》 90:12 求你指教我們怎樣數算自己的日子,好叫我們得著智慧的心。 ");
}
public static void main(String[] args) throws Exception {
//迴圈型別的控制結構示例
CycleControlDemo.cycleControl();
}
} -----------------------------------------------------------------
CycleControlDemo.java輸出結果: 我生日的那一天,上帝把我送到這個世界上,於是我開始了我這一生的旅途... 經過一次春夏秋冬,又長了一歲。今年1歲,我在... 經過一次春夏秋冬,又長了一歲。今年2歲,我在... ....(為了節約空間,中間的3-78省去) 經過一次春夏秋冬,又長了一歲。今年79歲,我在... 經過一次春夏秋冬,又長了一歲。今年80歲,我在... 人生旅途結束,我又來到上帝面前,對上帝說:我這一生活到了80歲,一共活了29200天。 人生苦短,於是我想起了:《詩篇》 90:12 求你指教我們怎樣數算自己的日子,好叫我們得著智慧的心。
相關文章
- 程式語言基本組成:組織結構
- 程式語言基本組成:資料結構資料結構
- 程式語言基本組成
- GO語言————4.2 Go程式的基本結構和要素Go
- Java 語法介紹(一):Java語言的基本組成(轉)Java
- GO語言————5.1 控制結構之if-else結構Go
- 計算機組成結構與基本體系計算機
- Go語言(1)——程式結構Go
- Perl語言學習(四)Perl控制結構
- Go語言流程控制結構和函式解析Go函式
- Go語言流程控制之迴圈結構篇Go
- C語言開發windows程式主要程式結構C語言Windows
- JAVASE語法基本組成2---D3Java
- Android MVVM組成結構AndroidMVVM
- JavaScript的組成結構梳理JavaScript
- 計算機組成結構計算機
- SQL語言(結構化查詢語言)SQL
- 計算機組成與體系結構-CPU組成計算機
- 資料結構c語言實現順序表基本操作資料結構C語言
- 程式碼簽名體系結構由哪些組成
- 嵌入式C語言中的組成結構是什麼C語言
- 英語句子的基本結構
- Go 語言 結構體Go結構體
- GO語言————5.4 for 結構Go
- C語言(結構體)C語言結構體
- 如何組織構建多檔案 C 語言程式(二)
- 如何組織構建多檔案 C 語言程式(一)
- C語言兩結構體之間的成員互換C語言結構體
- 【自制程式語言】1 - 基本語句(1)
- 現代程式語言用什麼語言寫成?
- ### 流程控制語句結構
- 流程控制語句結構
- 好程式設計師web前端分享HTML基本結構和基本語法程式設計師Web前端HTML
- GO語言————5.3 switch 結構Go
- C語言-選擇結構C語言
- ROWID的結構與組成 zt
- Go 語言 結構體連結串列Go結構體
- C語言程式設計讀書筆記:結構C語言程式設計筆記