Java 基礎 | 迴圈結構和數組

來源:互聯網
上載者:User

標籤:就是   利用   strong   nbsp   複雜度   操作   多個   sub   標記   

接著前幾天的分支結構的回顧,今天主要回顧一下迴圈結構和數組方面的一些知識吧。 練習:輸入一個數字,然後輸出這個數字表示星期幾switch(選擇){    case 選項1:Code1;break;    case 選項2:Code2;break;    ……} 1.switch() 中需要一個選項,選項只能是 byte/short/char/int,從JDK 1.7開始,允許使用 Stringcase 順序不影響結果2.如果有一個或者多個 case 之後沒有 break,那麼這個時候 case 之間的順序影響結果 練習:輸入兩個數字以及一個符號,輸出這兩個數字在這個符號下運算產生的結果5 9 +   ->14練習:輸入三個數字表示年月日,輸出這一天在這一年時第幾天2012 3 5  ------>652014 3 5  ------>64需要判斷平年閏年:逢百整除 400;不逢百整除 42012 % 4 = 02100 % 400 = 0  --- false  迴圈結構:用於完成一些相同或者相似的重複操作 while(邏輯值){    Code;} 練習:1.求 1-100 以內所有的奇數的和  --- i=1; i+=2;2.列印 100 以內能被 3 整除而不能被 7 整除的數字  int i = 0; i +=3;3.輸入一個數字,輸出這個數字是一個幾位元。*4.輸入一個數字,輸出這個數位所有因數。 --- 從 1 開始,逐個數字取餘這個輸入的數字,看是否能夠整除  * 20:1 2 4 5 10 20  定義一個迴圈,需要三個要素:定義一個變數來控制次數,利用判斷條件決定迴圈結束;在迴圈過程中需要改變變數 do{    Code;                //先執行代碼塊,再執行邏輯值,如果邏輯值為 true,轉過頭來繼續執行代碼塊;如果為 false,就執行接下來的程式。}whie(邏輯值); 注意:無論條件是否滿足,do-while 的迴圈體必然至少執行一次。                            2               7 for(){定義迴圈變數; 控制條件; 改變迴圈變數){    //                1             4      5            6    Code;}注意:對於 for 迴圈而言,如果第二部分的控制條件沒有寫,那麼預設是 true,這個時候就成了一個死迴圈。習慣上如果變化不規律或者次數不確定一般使用while(比如,從控制台擷取一個大於 10 的奇數,有可能輸入很多次,就是用這個) while(n < 10 || n % 2 ==0){    n =s.nextInt();}for(; n < 10 || n % 2 == 0; n = s.nextInt())
          //求 1-50 的和int sum = 0;//對於 for 迴圈而言,如果第二部分的控制條件沒有寫,那麼預設是 true,這個時候就成了一個死迴圈。for(int i = 1; i <= 50; i++){sum += i;i++;}System.out.println(sum);

  

 練習:百錢百雞  --- 3 文錢 1隻公雞, 2 文錢 1 只 母雞,1 文錢 3 只小雞;100 文錢如何買恰好 100 只雞? --- 先定義一個迴圈表示公雞,嵌套一個迴圈表示母雞,計算小雞的個數,根據各種雞的個數來計算錢數是否為 100 
/**練習:百錢百雞  --- 3 文錢 1隻公雞, 2 文錢 1 只 母雞,1 文錢 3 只小雞;100 文錢如何買恰好 100 只雞? --- 先定義一個迴圈表示公雞,嵌套一個迴圈表示母雞,計算小雞的個數,根據各種雞的個數來計算錢數是否為 100*/import java.util.Scanner;public class Demo2d{public static void main(String[] args){Scanner s = new Scanner(System.in);for(int i = 1 ; i <= 33 ; i++)    for(int j = 1; j <= 50; j++){int k = 100 - i - jif(k % 3 == 0 && 3*i+2*j+k/3 == 100){System.out.print(i+","+j+","+k+"\t");}    }}}

  

  break 和 continuebreak:用於選擇結構和迴圈結構,表示結束當前的一層結構continue:只能用於迴圈結構,表示跳過本次迴圈繼續下次迴圈, 擴充作業:一個迴圈列印九九乘法表 
            for(int i = 1; i <= 9; i++){for(int j = 1; j <= i; j++){//if(i*j >= 10){//System.out.print(i+"*"+j+"="+i*j+"   ");//}else{//System.out.print(i+"*"+j+"="+i*j+"    ");//}System.out.print(i+"*"+j+"="+i*j+"\t");//使用定位字元 \t,可以不用自己特意去控制了,自動左邊對齊了。}System.out.println();}

  

數組儲存同一類型的多個資料的容器 --- 大小固定的數組會對放入其中的資料進行編號,編號是從 0 開始的 --- 下標(比數組的長度少一個)數組的容量 --- 長度   定義格式資料類型[]  數組名 = new 資料類型[長度];int  arr = new int[5]; 表示定義一個能儲存 5 個整型元素的數組arr[3] = 10;    arr[5] = 7; // ArrayIndexOutOfBoundsException ---數組下標越界異常   記憶體Java 將所佔用的記憶體劃分為了 5 塊:棧記憶體(*)、堆記憶體(*)、方法區、本地方法棧(涉及到塊語言的問題)、PC 計數器(寄存器,跟硬體相關)  棧記憶體用於儲存變數的,變數在棧記憶體中使用完成之後會立即移除出棧記憶體,有種卸磨殺驢的樣子。只要遇到 new ,就會在堆中開闢一塊空間(從 0-n劃分),有地址。對於裡面的資料先預設一個值(0),當賦值後改變值。  堆記憶體用於儲存物件(數組是一種特殊的對象)的。元素在存入堆記憶體中之後會自動的賦予預設值:byte/short/int -0   long -0L  float -0.0f  double -0.0  char -‘\u0000‘  boolean -false,其他類型的預設值都是null。   [(表示資料類型 --- [ 表示數組)   I(如果這是一個數組,那麼是這一部分表示數組中的元素類型 --- I 表示 Int)  @(標記符號,表示後邊是一個地址) 15db9742(可以認為表示一個地址,實際上是這個對象的雜湊碼的十六進位形式)對象在用完之後是在不確定的某個時刻被回收。 明天內容:        數組               定義               記憶體               應用                        遍曆、排序、尋找、反轉、複製               時間/空間複雜度 --- 數列(等差數列求和)、指數、對數(對數公式 logab=logcb/logca,logabn=nlogab  logab=1/logba)         二維數組                   

Java 基礎 | 迴圈結構和數組

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.