從零學java筆錄-第12篇 程式流程控制(二)
本文是《凱哥陪你學系列之java基礎篇》。歡迎關注本賬號,持續更新中~
本講主要內容:
1:上篇if語句的兩個練習題
2:選擇語句(上)
上篇if語句的兩個練習題
練習1
根據使用者輸入的數值,輸出對應的星期。
分析:
需求:
根據使用者輸入的數值,輸出對應的星期。
if語句練習:
需求:
根據使用者輸入的數值,輸出對應的星期。
分析:
1:怎麼接收使用者的值?
根據使用者輸入的數值,使用者輸入的資料不確定。
所以使用變數來接收使用者輸入的值。
(忽略使用者怎麼輸入,我們這麼接收這點。java程式碼接收使用者輸入,在以後會講解)
2:需要注意的是星期一至星期日範圍
2.1:週一至週日共有七天
3:因為資料不確定,所以要對資料進行判斷
又因為,星期一和星期二在一天中,只能是其中一個。
所以使用到if else 語句
程式碼:
/**
if語句練習:
需求:
根據使用者輸入的數值,輸出對應的星期。
分析:
1:怎麼接收使用者的值?
根據使用者輸入的數值,使用者輸入的資料不確定。
所以使用變數來接收使用者輸入的值。
(忽略使用者怎麼輸入,我們這麼接收這點。java程式碼接收使用者輸入,在以後會講解)
2:需要注意的是星期一至星期日範圍
2.1:週一至週日共有七天
3:因為資料不確定,所以要對資料進行判斷
又因為,星期一和星期二在一天中,只能是其中一個。
所以使用到if else 語句
**/
class IfTest{
public static void main(String[] args){
int week = 3; //week是用來接收使用者輸入的變數。 3假設是使用者輸入的數值
if(week ==1){
System.out.println("你輸入的是星期一");
}else if(week ==2){
System.out.println("你輸入的是星期二");
}else if(week ==3){
System.out.println("你輸入的是星期三");
}else if(week ==4){
System.out.println("你輸入的是星期四");
}else if(week ==5){
System.out.println("你輸入的是星期五");
}else if(week ==6){
System.out.println("你輸入的是星期六");
}else if(week ==7){
System.out.println("你輸入的是星期日");
}else{
System.out.println("你輸入的有誤,請輸入1~7之間的正整數");
}
System.out.println("GAME OVER");
}
}
練習2:
需求:
根據使用者輸入的數值,輸出對應的月中上中下旬值。
分析
分析:
1:一個月只能是 上、中、下詢。三種情況。三種情況同時只能出現一種。
所以需要使用 if else語句。
2:有因為一個月有30(31)天。所以
上旬:1--10號
中旬:11--20號
下旬:21--30(28,29,31)
3:寫if判斷的時候,難道需要寫30(28,29,31)個嗎?
如:
if(day ==1){
System.out.println("你輸入的是上旬");
}else if(day ==2){
System.out.println("你輸入的是上旬");
}else if(day ==3){
System.out.println("你輸入的是上旬");
}
一直到
else if(day ==110){
System.out.println("你輸入的是上旬");
}
進過分析,我們發現 1--10號輸出的都一樣。
所以這個時候我們可以將條件合併,配合之前學過的邏輯運算使用
程式碼:
class IfTest2{
public static void main(String[] args){
int day = 1;//day是用來接收使用者輸入的變數。 3假設是使用者輸入的數值
if( day >= 1 && day <11){
System.out.println("你輸入的是上旬");
}else if(day >= 11 &&day <21){
System.out.println("你輸入的是中旬");
}else if(day >= 21 &&day <31){
System.out.println("你輸入的是下旬");
}else{
System.out.println("你輸入的有誤,請輸入1~31之間的正整數");
}
System.out.println("GAME OVER");
}
}
執行結果:
這種條件合併思想也叫做程式碼複用。
程式碼複用方式很多,這只是其中的一種。
優化作業::
為了提高效率,進行如下優化。
思路:
我們知道,一個月最多31天。所以在判斷最外面新增一個判斷條件為:
if(day<1 || day>31)直接輸出:您輸入的有誤。否則在進行上中下旬的判斷。
程式碼,自己完成。
選擇結構 (上)
判斷語句與選擇語句的區別:
簡單理解:判斷語句結果只有一種,true或是false
而選擇語句,會給出很多備選答案的。
switch語句:
語法:
switch(表示式){
case 取值1:
執行語句1;
break;
case 取值2:
執行語句2;
break;
case 取值3:
執行語句3;
break;
…..
default:
執行語句;
break;
}
相關單詞:
switch:轉換、開關、交換等
case: 時間、情況等。
口語中,XX事情對我來是小case。就是這個case的
break:間斷、中斷等
default:預設
程式碼演示
class SwitchDemo{
public static void main(String[] args){
//需求 :根據使用者輸入的數值 返回對應星期
int day = 4;
switch(day){
case 1:
System.out.println("你輸入的是星期一");
break;
case 2 :
System.out.println("你輸入的是星期二");
break;
case 3 :
System.out.println("你輸入的是星期三");
break;
case 4 :
System.out.println("你輸入的是星期四");
break;
case 5 :
System.out.println("你輸入的是星期五");
break;
case 6 :
System.out.println("你輸入的是星期六");
break;
case 7 :
System.out.println("你輸入的是星期日");
break;
default:
System.out.println("哥們,你是外星人吧?!地球上沒有這個日期");
break;
}
}
}
輸出結果
當是非1-7的時候:day = 12的時候:
需要注意的是:
swithc(表示式)中表示式的型別都有那些?
在 jdk 1.5之前,只支援以下基本型別
byte、shot、char、int.其他型別不支援了。
在jdk 1.5又新增了一種列舉的型別(以後會學到)
在jdk 1.7加入了新的支援,支援String型別了。
ps:歡迎關注凱哥微信公眾號:凱哥Java
本系列文章:
從零學java筆錄-第0篇
從零學java筆錄-第1篇 環境搭建
從零學java筆錄-第2篇 驗證jdk是否安裝成功
從零學java筆錄-第3篇 Hello work
從零學java筆錄-第4篇 Hello word 細節說明
從零學java筆錄-第5篇 java語言基礎組成
從零學java筆錄-第6篇 進位制之間轉換
從零學java筆錄-第7篇 資料型別(一)
從零學java筆錄-第8篇 資料型別(二)
從零學java筆錄-第9篇 資料型別(三)
從零學java筆錄-第10篇 資料型別(四)
從零學java筆錄-第11篇 程式流程控制(一)
相關文章
- 從零學java筆錄-第0篇Java
- Java核心基礎第3篇-Java流程控制Java
- 零基礎學Java(6)控制流程Java
- 從零開始學Electron筆記(二)筆記
- Java學習筆記記錄(二)Java筆記
- 科學計算與Matlab筆記:第3章:Matlab程式流程控制Matlab筆記
- 流程控制與陣列—Java基礎學習(二)陣列Java
- python Scrapy 從零開始學習筆記(二)Python筆記
- PHP從零開始系列二(學習筆記):序言PHP筆記
- JavaScript學習筆記 - 進階篇(3)- 流程控制語句JavaScript筆記
- 【java學習】控制執行流程Java
- Java學習之流程控制Java
- 12、流程控制
- Java零基礎入門(三)流程控制Java
- 從零開始學習MG動畫(二 - 2):MG動畫的工作流程動畫
- java學習筆記(二)springMVC +mybatis 取資料流程Java筆記SpringMVCMyBatis
- 學習筆記| AS入門(二) 簡單控制元件篇(上)筆記控制元件
- 學習筆記|AS入門(二) 簡單控制元件篇(下)筆記控制元件
- 學習筆記|AS入門(二) 簡單控制元件篇(上)筆記控制元件
- Java控制流程Java
- 《從零開始學Swift》學習筆記(Day 59)——程式碼排版Swift筆記
- 從零開始JAVA資料結構學習筆記(一)Java資料結構筆記
- Java 學習零碎記錄Java
- 程式碼整潔之道 讀書筆記(二)第12章 迭進筆記
- 【JAVA】筆記(12)---集合(1)-概述篇Java筆記
- 《從零開始學Swift》學習筆記(Day 12)——說幾個特殊運算子Swift筆記
- JAVA學習腳印3: java語言控制流程Java
- Java學習之流程控制練習Java
- [jvm-sandbox-repeater 學習筆記][原理說明篇] 1 錄製流程JVM筆記
- Java流程控制Java
- Swift(二)流程控制Swift
- 從零單排學Redis【鉑金二】Redis
- 從零開始學java(一)認識javaJava
- 歸零的心態(r12筆記第82天)筆記
- 從零開始學Electron筆記(一)筆記
- 從零開始學Electron筆記(七)筆記
- 從零開始學Electron筆記(六)筆記
- 從零開始學Electron筆記(三)筆記