1. 程式人生 > 其它 >一個類帶你瞭解Python魔法方法

一個類帶你瞭解Python魔法方法

技術標籤:Java

使用者互動 scanner

  1. next():

    1、一定要讀取到有效字元後才可以結束輸入。
    2、對輸入有效字元之前遇到的空白,next()方法會自動將其去掉。
    3、只有輸入有效字元後才將其後面輸入的空白作為分隔符或者結束符。

    4、next()不能得到帶有空格的字串。

  2. 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();

選擇結構

順序結構

  1. JAVA的基本結構就是順序結構,除非特別指明,否則就按照順序一句一句執行。順序結構是最簡單的演算法結構。
  2. 語句與語句之間,框與框之間是按從上到下的順序進行的,它是由若干個依次執行的處理步驟組成的,它是任何一個演算法都離不開的一種基本演算法結構。
  3. 簡單來說順序結構就是一句一句的執行下去

if單選擇結構

if(){

}

if雙選擇結構

if(){

}else{

}

if多選擇結構

if(){

}else if(){

}else{

}

鑲嵌的if結構

if(){

    if(){

    }

}

switch多選擇結構

  1. 多選擇結構還有一個實現方式就是switch case語句。

  2. switch case語句判斷一個變數與一系列值中某個值是否相等,每個值稱為一個分支。

  3. switch語句中的變數型別可以是:

    1, byte、short、int或者char。

    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迴圈

  1. 只要布林表示式為true,迴圈就會一直執行下去。
  2. 我們大多數情況是會讓迴圈停止下來的,我們需要一個讓表示式失效的方式來結束迴圈。
  3. 少部分情況需要迴圈一直執行,比如伺服器的請求響應監聽等。
  4. 迴圈條件一直為true就會造成無限迴圈【死迴圈】,我們正常的業務程式設計中應該儘量避免死迴圈。會影響程式效能或者造成程式卡死奔潰!
//while迴圈結構
    while(){
        //迴圈內容
    }

    //案例1——100相加等於多少
         int a = 0;
          int sum =0;
            while (a<=100){
                sum +=  a;
                a++;
            }
            System.out.println(sum);
        }

do …while迴圈

  1. 對於while語句而言,如果不滿足條件,則不能進入迴圈。但有時候我們需要即使不滿足條件,也至少執行一次。

  2. do…while 迴圈和while迴圈相似,不同的是,do…while迴圈至少會執行一次。

  3. 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迴圈

    1. 雖然所有迴圈結構都可以用while或者do…while表示,但Java提供了另一種語句——for迴圈,使一些迴圈結構變得更加簡單。

    2. for迴圈語句是支援迭代的一種通用結構,是最有效、最靈活的迴圈結構。

    3. for迴圈執行的次數是在執行前就確定的。

    4. 關於 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迴圈

  1. 這裡我們先只是見一面,做個瞭解,之後陣列我們重點使用

  2. Java5引入了一種主要用於陣列或集合的增強型for迴圈。

    Java增強for迴圈語法格式如下:
    for(宣告語句︰表示式){
    //程式碼句子

    ​ }

  3. 宣告語句:宣告新的區域性變數,該變數的型別必須和陣列元素的型別匹配。其作用域限定在迴圈語句塊,其值與此時陣列元素的值相等。

  4. 表示式:表示式是要訪問的陣列名,或者是返回值為陣列的方法。

 //增強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

  1. break在任何迴圈語句的主體部分,均可用break控制迴圈的流程。break用於強行退出迴圈,不執行迴圈中剩餘的語句。(break語句也在switch語句中使用)
  2. continue語句用在迴圈語句體中,用於終止某次迴圈過程,即跳過迴圈體中尚未執行的語句,接著進行下一次是否執行迴圈的判定。
  3. 關於goto關鍵字
    1, goto關鍵字很早就在程式設計語言中出現。儘管goto仍是Java的一個保留字,但並未在語言中得到正式使用;Java沒有goto。然而,在break和continue這兩個關鍵字的身上,我們仍然能看出一些goto的影子–帶標籤的break和continue.
    2, “標籤”是指後面跟一個冒號的識別符號,例如: label:
    3, 對Java來說唯一用到標籤的地方是在迴圈語句之前。而在迴圈之前設定標籤的唯一理由是:我們希望在其中巢狀另一個迴圈,由於break和continue關鍵字通常只中斷當前迴圈。但若隨同標籤使用,它們就會中斷到存在標籤的地方。
1. break 終止迴圈
2. continue 跳過本次迴圈繼續下一次迴圈