一個類帶你瞭解Python魔法方法
技術標籤:Java
使用者互動 scanner
-
next():
1、一定要讀取到有效字元後才可以結束輸入。
2、對輸入有效字元之前遇到的空白,next()方法會自動將其去掉。
3、只有輸入有效字元後才將其後面輸入的空白作為分隔符或者結束符。4、next()不能得到帶有空格的字串。
-
nextLine():
1、以Enter為結束符,也就是說nextLine()方法返回的是輸入回車之前的所有字元。
2、可以獲得空白。
Scanner sc = new Scanner(System.in); System.out.println("成績"); int score= sc.nextInt(); if(score>60){ System.out.println("及格"); }else { System.out.println("不及格"); } sc.close(); }
//建立一個掃描器物件,用於接收鍵盤數哲
scanner scanner = new Scanner( System.in );
System.out.println(使用next方式接收:“);
//判斷使用者有沒有輸入字串
if ( scanner.hasNext()){
//使用next方式接收
string str = scanner.next();
System.out.println(""輸出的內容為:“"+str);
}
//凡是屬於巾流的類如果不關閉會一直佔用資源.要養成好習慣用完就關抑
scanner.close();
選擇結構
順序結構
- JAVA的基本結構就是順序結構,除非特別指明,否則就按照順序一句一句執行。順序結構是最簡單的演算法結構。
- 語句與語句之間,框與框之間是按從上到下的順序進行的,它是由若干個依次執行的處理步驟組成的,它是任何一個演算法都離不開的一種基本演算法結構。
- 簡單來說順序結構就是一句一句的執行下去
if單選擇結構
if(){
}
if雙選擇結構
if(){
}else{
}
if多選擇結構
if(){
}else if(){
}else{
}
鑲嵌的if結構
if(){
if(){
}
}
switch多選擇結構
-
多選擇結構還有一個實現方式就是switch case語句。
-
switch case語句判斷一個變數與一系列值中某個值是否相等,每個值稱為一個分支。
-
switch語句中的變數型別可以是:
2,從Java SE 7開始
3,switch支援字串String 型別了
4,同時case標籤必須為字串常量或字面量。
char grade = 'C';
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;
default: //可寫可不寫
System.out.println("退出");
迴圈
while迴圈
- 只要布林表示式為true,迴圈就會一直執行下去。
- 我們大多數情況是會讓迴圈停止下來的,我們需要一個讓表示式失效的方式來結束迴圈。
- 少部分情況需要迴圈一直執行,比如伺服器的請求響應監聽等。
- 迴圈條件一直為true就會造成無限迴圈【死迴圈】,我們正常的業務程式設計中應該儘量避免死迴圈。會影響程式效能或者造成程式卡死奔潰!
//while迴圈結構
while(){
//迴圈內容
}
//案例1——100相加等於多少
int a = 0;
int sum =0;
while (a<=100){
sum += a;
a++;
}
System.out.println(sum);
}
do …while迴圈
-
對於while語句而言,如果不滿足條件,則不能進入迴圈。但有時候我們需要即使不滿足條件,也至少執行一次。
-
do…while 迴圈和while迴圈相似,不同的是,do…while迴圈至少會執行一次。
-
While和do-While的區別:
1, while先判斷後執行。do while是先執行後判斷!
2, Do…while總是保證迴圈體會被至少執行一次!這是他們的主要差別。//do...while迴圈結構 do { //迴圈內容 } while (); //案例1——100相加等於多少 int a = 0; int sum =0; do { sum += a; a++; } while (a<=100); System.out.println(sum); }
for迴圈
-
雖然所有迴圈結構都可以用while或者do…while表示,但Java提供了另一種語句——for迴圈,使一些迴圈結構變得更加簡單。
-
for迴圈語句是支援迭代的一種通用結構,是最有效、最靈活的迴圈結構。
-
for迴圈執行的次數是在執行前就確定的。
-
關於 for迴圈有以下幾點說明;
1, 最先執行初始化步驟。可以宣告一種型別,但可初始化一個或多個迴圈控制變數,也可以是空語句。
2, 然後,檢測布林表示式的值。如果為 true,迴圈體被執行。如果為false,迴圈終止,開始執行迴圈體後面的語句。3, 執行一次迴圈後,更新迴圈控制變數(迭代因子控制迴圈變數的增減)。
4, 再次險測布林表示式。部環執行上面的過程。
-
//for迴圈結構
for( ; ; ){
}
//案例 1-1000被5整除輸出,沒3個換一行;
for (int a =0;a<=1000;a++){
if(a%5==0){
System.out.print(a+"\t");
}
if(a%(5*3)==0){
System.out.println();
}
}
/案例 九九乘法表
for (int a = 1;a<=9;a++){
for (int j = 1;j<=a; j++){
System.out.print(a+"*"+j+"="+(j*a)+"\t");
}
System.out.println();
}
//列印三角形
for (int i = 1 ;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();
}
增強for迴圈
-
這裡我們先只是見一面,做個瞭解,之後陣列我們重點使用
-
Java5引入了一種主要用於陣列或集合的增強型for迴圈。
Java增強for迴圈語法格式如下:
for(宣告語句︰表示式){
//程式碼句子 }
-
宣告語句:宣告新的區域性變數,該變數的型別必須和陣列元素的型別匹配。其作用域限定在迴圈語句塊,其值與此時陣列元素的值相等。
-
表示式:表示式是要訪問的陣列名,或者是返回值為陣列的方法。
//增強for迴圈的結構
for ( : ){
}
//案例輸出陣列
int[] numbers = {10,20,50,40,30,70,80};
for (int i =0;i<=6;i++){
System.out.println(numbers[i]);
}
System.out.println("+=======");
for (int x : numbers){
System.out.println(x);
}
break continue
- break在任何迴圈語句的主體部分,均可用break控制迴圈的流程。break用於強行退出迴圈,不執行迴圈中剩餘的語句。(break語句也在switch語句中使用)
- continue語句用在迴圈語句體中,用於終止某次迴圈過程,即跳過迴圈體中尚未執行的語句,接著進行下一次是否執行迴圈的判定。
- 關於goto關鍵字
1, goto關鍵字很早就在程式設計語言中出現。儘管goto仍是Java的一個保留字,但並未在語言中得到正式使用;Java沒有goto。然而,在break和continue這兩個關鍵字的身上,我們仍然能看出一些goto的影子–帶標籤的break和continue.
2, “標籤”是指後面跟一個冒號的識別符號,例如: label:
3, 對Java來說唯一用到標籤的地方是在迴圈語句之前。而在迴圈之前設定標籤的唯一理由是:我們希望在其中巢狀另一個迴圈,由於break和continue關鍵字通常只中斷當前迴圈。但若隨同標籤使用,它們就會中斷到存在標籤的地方。
1. break 終止迴圈
2. continue 跳過本次迴圈繼續下一次迴圈