生活随笔
收集整理的這篇文章主要介紹了
流程控制学习
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
流程控制學習
Scanner
我們可以通過Scanner類來獲取用戶的輸入 基本用法:Scanner s=new Scanner(System.in);
用Next()方式接收
package com
. zhao
. control
; import java
. util
. Scanner
; public class control01 { public static void main ( String
[ ] args
) { Scanner scanner
= new Scanner ( System
. in
) ; System
. out
. println ( "使用next方式接收" ) ; if ( scanner
. hasNext ( ) ) { String str
= scanner
. next ( ) ; System
. out
. println ( "輸出的內容為:" + str
) ; } scanner
. close ( ) ; }
}
用Nextline方式接收
package com
. zhao
. control
; import java
. util
. Scanner
; public class control02 { public static void main ( String
[ ] args
) { Scanner scanner
= new Scanner ( System
. in
) ; System
. out
. println ( "使用nextline方式接收:" ) ; if ( scanner
. hasNextLine ( ) ) { String str
= scanner
. nextLine ( ) ; System
. out
. println ( "輸出內容為:" + str
) ; } }
}
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-DQdrZfIQ-1616918026749)(C:\Users\pencil\AppData\Roaming\Typora\typora-user-images\image-20210327095120500.png)]
package com
. zhao
. control
; import java
. util
. Scanner
; public class control03 { public static void main ( String
[ ] args
) { Scanner scanner
= new Scanner ( System
. in
) ; System
. out
. println ( "請輸入數據:" ) ; String str
= scanner
. nextLine ( ) ; System
. out
. println ( "輸出內容為:" + str
) ; } }
Scanner進階
package com
. zhao
. control
; import java
. util
. Scanner
; public class control05 { public static void main ( String
[ ] args
) { Scanner scanner
= new Scanner ( System
. in
) ; int i
= 0 ; float f
= 0.0f ; System
. out
. println ( "請輸入整數:" ) ; if ( scanner
. hasNextInt ( ) ) { i
= scanner
. nextInt ( ) ; System
. out
. println ( "整數數據:" + i
) ; } else { System
. out
. println ( "輸入的不是整數數據!" ) ; } System
. out
. println ( "請輸入小數:" ) ; if ( scanner
. hasNextFloat ( ) ) { f
= scanner
. nextFloat ( ) ; System
. out
. println ( "小數數據:" + f
) ; } else { System
. out
. println ( "輸入的不是小數數據!" ) ; } scanner
. close ( ) ; }
}
package com
. zhao
. control
; import java
. util
. Scanner
; public class control06 { public static void main ( String
[ ] args
) { Scanner scanner
= new Scanner ( System
. in
) ; double sum
= 0 ; int m
= 0 ; System
. out
. println ( "請輸入數據" ) ; while ( scanner
. hasNextDouble ( ) ) { double x
= scanner
. nextDouble ( ) ; m
= m
+ 1 ; sum
= sum
+ x
; System
. out
. println ( "你輸入了第" + m
+ "個數據,當前結果sum=" + sum
) ; } System
. out
. println ( m
+ "個數的和為" + sum
) ; System
. out
. println ( m
+ "個數的平均數為" + ( sum
/ m
) ) ; scanner
. close ( ) ; }
}
順序結構
java的基本結構就是順序結構,除非特別指明,否則Juin按照順序一句一句執行。 順序機構是最簡單的算法結構 語句與語句之間,框與框之間是按照從上到下的順序進行的,它是由若干個一次執行的處理步驟組成的,它是任何一個算法都離不開一種基本算法結構。
package com
. zhao
. struct
; public class ShunXvDemo01 { public static void main ( String
[ ] args
) { System
. out
. println ( "hello1" ) ; System
. out
. println ( "hello2" ) ; System
. out
. println ( "hello3" ) ; System
. out
. println ( "hello4" ) ; }
}
選擇結構
if單選擇結構 if雙選擇結構 if多選擇結構 嵌套的if結構 switch多選擇結構
if單選擇結構
package com
. zhao
. struct
; import java
. util
. Scanner
; public class IfDemo01 { public static void main ( String
[ ] args
) { Scanner scanner
= new Scanner ( System
. in
) ; System
. out
. println ( "請輸入內容:" ) ; String s
= scanner
. nextLine ( ) ;
if ( s
. equals ( "Hello" ) ) { System
. out
. println ( s
) ; } System
. out
. println ( "End" ) ; scanner
. close ( ) ; } }
if雙選擇結構
package com
. zhao
. struct
; import java
. util
. Scanner
; public class IfDemo02 { public static void main ( String
[ ] args
) { Scanner scanner
= new Scanner ( System
. in
) ; System
. out
. println ( "請輸入考試成績:" ) ; double x
= scanner
. nextDouble ( ) ; if ( x
> 60 ) { System
. out
. println ( "及格" ) ; } else { System
. out
. println ( "不及格" ) ; } scanner
. close ( ) ; }
}
if多選擇結構
package com
. zhao
. struct
; import java
. util
. Scanner
; public class IfDemo03 { public static void main ( String
[ ] args
) { Scanner scanner
= new Scanner ( System
. in
) ; System
. out
. println ( "請輸入考試成績:" ) ; double x
= scanner
. nextDouble ( ) ; if ( x
== 100 ) { System
. out
. println ( "恭喜滿分" ) ; } else if ( x
>= 90 && x
< 100 ) { System
. out
. println ( "優秀" ) ; } else if ( x
< 90 && x
> 60 ) { System
. out
. println ( "及格" ) ; } else if ( x
>= 0 && x
< 60 ) { System
. out
. println ( "不及格" ) ; } else { System
. out
. println ( "成績不合法" ) ; } scanner
. close ( ) ; }
}
嵌套的if結構
switch多選擇結構(匹配值具體的一個值)
實現方式:switch case語句 switch case語句判斷一個變量與一系列值中某個值是否相等,每個值稱為一個分支。 switch語句中變量可以是:
byte short int char 從java SE 7開始 switch 支持字符串String類型了 同時case標簽必須為字符串常量或字面量
package com
. zhao
. struct
; public class SwitchDemo01 { public static void main ( String
[ ] args
) { char grade
= 'B' ; switch ( grade
) { case 'A' : System
. out
. println ( "優秀" ) ; break ; case 'B' : System
. out
. println ( "良好" ) ; break ; case 'C' : System
. out
. println ( "及格" ) ; break ; case 'D' : System
. out
. println ( "再接再厲" ) ; break ; case 'E' : System
. out
. println ( "掛科" ) ; break ; default : System
. out
. println ( "未知等級" ) ; } }
}
package com
. zhao
. struct
; public class SwitchDemo02 { public static void main ( String
[ ] args
) { String name
= "zhao" ; switch ( name
) { case "tong" : System
. out
. println ( "tong" ) ; break ; case "zhao" : System
. out
. println ( "zhao" ) ; break ; default : System
. out
. println ( "出錯了!" ) ; break ; } }
}
反編譯 java—class(字節碼文件)—反編譯(idea)(打開源碼文件)
選擇項目結構 復制項目輸出路徑 打開項目路徑 打開java文件夾的文件夾位置 把class文件復制到Java文件的文件夾中 打開idea中新出現的----.class文件
package com
. zhao
. struct
; public class SwitchDemo02 { public SwitchDemo02 ( ) { } public static void main ( String
[ ] args
) { String name
= "zhao" ; byte var3
= - 1 ; switch ( name
. hashCode ( ) ) { case 3565940 : if ( name
. equals ( "tong" ) ) { var3
= 0 ; } break ; case 3737564 : if ( name
. equals ( "zhao" ) ) { var3
= 1 ; } } switch ( var3
) { case 0 : System
. out
. println ( "tong" ) ; break ; case 1 : System
. out
. println ( "zhao" ) ; break ; default : System
. out
. println ( "出錯了!" ) ; } }
}
循環結構
while循環 do while循環 for循環 在java5中引入了一種主要用于數組的增強型for循環
while是最基本的循環
正常循環:
package com
. zhao
. struct
; public class While01 { public static void main ( String
[ ] args
) { int i
= 0 ; while ( i
<= 100 ) { System
. out
. println ( i
) ; i
++ ; } }
}
死循環:
package com
. zhao
. struct
; public class While02 { public static void main ( String
[ ] args
) { while ( true ) { System
. out
. println ( "O" ) ; } }
}
練習從1加到一百:
package com
. zhao
. struct
; public class While03 { public static void main ( String
[ ] args
) { int i
= 1 ; int sum
= 0 ; while ( i
<= 100 ) { sum
= sum
+ i
; System
. out
. println ( "目前i=" + i
) ; i
++ ; System
. out
. println ( "目前的和為:" + sum
) ; } }
}
do while循環(與while區別在于執行代碼的順序)
對于while語句而言,如果不滿足條件,則不能進入循環。有時候我們需要即使不滿足條件,也需要程序至少執行一次。 do while循環和while循環相似,不同的是 do while循環至少會執行一次。 形式:do{代碼語句}while(布爾表達式);
把從一加到一百變形:
package com
. zhao
. struct
; public class Dowhile01 { public static void main ( String
[ ] args
) { int i
= 1 ; int sum
= 0 ; do { sum
= sum
+ i
; System
. out
. println ( "目前i=" + i
) ; i
++ ; System
. out
. println ( "目前的和為:" + sum
) ; } while ( i
<= 0 ) ; }
}
for循環(重點)
雖然循環結構都可以用while或者do while表示,但是java提供了另外一種語句—for循環,使一些循環結構變得更簡單。、 for循環語句是支持迭代的一種通用結構,是最有效、最靈活的循環結構 for循環執行的次數是在執行前就確定的 語法格式:for(初始值;布爾值;更新){代碼語句}
\
package com
. zhao
. struct
; public class ForDemo01 { public static void main ( String
[ ] args
) { int a
= 1 ; while ( a
<= 100 ) { System
. out
. println ( a
) ; a
+= 2 ; } System
. out
. println ( "while循環結束!" ) ; for ( int i
= 1 ; i
< 100 ; i
++ ) { System
. out
. println ( i
) ; } System
. out
. println ( "for循環結束!" ) ; for ( int o
= 0 ; o
< 150 ; o
++ ) { System
. out
. println ( o
) ; } }
}
練習題:
package com
. zhao
. struct
; public class ForDemo02
{ public static void main ( String
[ ] args
) { int oddsum
= 0 ; int evensum
= 0 ; for ( int i
= 0 ; i
<= 100 ; i
+= 2 ) { oddsum
= oddsum
+ i
; } System
. out
. println ( "偶數的和為:" + oddsum
) ; for ( int i
= 1 ; i
<= 100 ; i
+= 2 ) { evensum
= evensum
+ i
; } System
. out
. println ( "奇數的和為:" + evensum
) ; }
}
package com
. zhao
. struct
; public class ForDemo03 { public static void main ( String
[ ] args
) { for ( int i
= 0 ; i
<= 1000 ; i
++ ) { if ( i
% 5 == 0 ) { System
. out
. print ( i
+ "\t" ) ; } if ( i
% 15 == 0 ) { System
. out
. println ( ) ; } } }
}
練習三:打印九九乘法表(較難)
package com
. zhao
. struct
; public class ForDemo04 { public static void main ( String
[ ] args
) { for ( int j
= 1 ; j
<= 9 ; j
++ ) { for ( int i
= 1 ; i
<= j
; i
++ ) { System
. out
. print ( i
+ "*" + j
+ "=" + ( j
* i
) + "\t" ) ; } System
. out
. println ( ) ; } } }
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-C7TYZa6C-1616918026756)(C:\Users\pencil\AppData\Roaming\Typora\typora-user-images\image-20210327124411933.png)]
增強for循環(了解)
package com
. zhao
. struct
; public class ForDemo05 { public static void main ( String
[ ] args
) { int [ ] numbers
= { 10 , 20 , 30 , 40 , 50 } ; for ( int i
= 0 ; i
< 5 ; i
++ ) { System
. out
. println ( numbers
[ i
] ) ; } for ( int x
: numbers
) { System
. out
. println ( x
) ; } }
}
break continue
break在任何循環語句的主體部分,均可用break控制循環的流程。break用于強行退出循環,不執行循環中剩余語句(break語句也在switch語句中使用) continue語句在循環語句中用,用于終止某次循環,即跳過循環體中尚未執行的語句,接著進行是否執行下一次循環的判定 關于goto關鍵字:goto關鍵字很早就在程序設計語句中出現。盡管goto仍是java的一個,但是并未在語言中得到正式使用;java沒有goto。然而,在break和continue這兩個關鍵字身上,我們仍然能看到一些goto的影子,帶標簽的break和continue。 “標簽”是指后面跟一個冒號的標識符,例如:label: 對java來說唯一用到標簽的的地方是在循環語句之前。而在循環之前設置標簽的唯一理由是:我們希望在其中嵌套另一個循環,由于break和continue關鍵字通常只中斷當前循環,但若隨同標簽使用,他們就會中斷到存在標簽的地方。
break:
package com
. zhao
. struct
; public class Break { public static void main ( String
[ ] args
) { int i
= 0 ; while ( i
< 100 ) { i
++ ; System
. out
. println ( i
) ; if ( i
== 30 ) { break ; } } System
. out
. println ( "====" ) ; }
}
continue:
package com
. zhao
. struct
; public class Continue { public static void main ( String
[ ] args
) { int i
= 0 ; while ( i
< 100 ) { i
++ ; if ( i
% 10 == 0 ) { System
. out
. println ( ) ; continue ; } System
. out
. println ( ) ; } }
}
練習:打印三角形
package com
. zhao
. struct
; public class TestDemo01 { public static void main ( String
[ ] args
) { for ( int i
= 0 ; i
<= 5 ; i
++ ) { for ( int j
= 5 ; j
>= i
; j
-- ) { System
. out
. print ( " " ) ; } for ( int j
= 1 ; j
<= i
; j
++ ) { System
. out
. print ( "*" ) ; } for ( int j
= 1 ; j
< i
; j
++ ) { System
. out
. print ( "*" ) ; } System
. out
. println ( ) ; } }
}
總結
以上是生活随笔 為你收集整理的流程控制学习 的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔 網站內容還不錯,歡迎將生活随笔 推薦給好友。