java基礎(5)

來源:互聯網
上載者:User

標籤:思路   tin   i++   變數   blog   i+1   can   input   動態   

一、        什麼是數組及其作用?

    定義:具有相同資料類型的一個集合

    作用:儲存連續的具有相同類型的資料

二、        java中如何聲明和定義數組

2.1 聲明和定義的文法:

        資料類型[ ] 數組名;( int[ ] nums ; )   或 資料類型 數組名[];  ( int nums[ ] ;)

2.2  為數組分配空間

  數組名=new 資料類型[數組的長度]; ( nums=new int[5] ;)

2.3  聲明數組,同時分配空間

資料類型[]數組名= new 資料類型[數組的長度];

資料類型 數組名[]=new 資料類型[數組的長度];

      ( int[ ] nums=new int[5] ;)   ( int nums[ ]=new int[5] ;)

三、        如何讀取數組中的元素— 通過下標(索引)來擷取

  下標(索引)是從0開始,最大下標為  數組長度-1

  下標越界:ArrayIndexOutOfBoundsException

  int類型的數組,每個元素的預設值為0

  String類型的數組,每個元素的預設值為null

   3.1         擷取單個元素的值

  資料類型 變數名=數組名[下標];

 

   3.2     迴圈讀取數組中的每個元素

  數組的長度:數組名.length 屬性自動計算

    for(int i=0;i<數組名.length ;i++){

                        數組名[i];

      }

 

四。如何給數組中的元素賦值

  方式1(賦予數組固定值):

         聲明數組,分配空間,並賦值

    (數組的長度由值的個數決定)

  資料類型  數組名[]=new 資料類型[]{值1,值2…值n};

    資料類型 []數組名={值1,值2…值n};

    說明:[]中括弧可以放在數組名前面或後面

  方式2:動態給數組賦值(從鍵盤中輸入)

                      Scanner  input = new Scanner(System.in);

                      for(int i=0;i<數組名.length ; i++){

                                   String類型的數組名[i]= input.next ();        

                                   int類型的數組名[i]= input.nextInt ();         

                                   double類型的數組[i]=input.nextDouble();

}

 

五、數組排序問題

使用Arrays. sort(數組名);

實現對數組中的元素按升序或降序輸出

六、求最大值或最小值

實現思路:將數組中的第1個元素的值,假想成最大(小)值【賦值】;然後數組中的每個元素和假想的這個最大(小)數進行比較,如果數組中的某個元素的值,比最大(小)數要大(小),將該元素的值,儲存到假想的最大(小)值對應的變數中

public class shuzu {    public void D(int []num){        int ha []=new int[10];        for(int j=0;j<ha.length;j++){            int index=(int)(Math.random()*100);            ha[j]=index;            System.out.print(ha[j]+" ");        }        int max=ha[0];        int min=ha[0];        for(int i=1;i<ha.length;i++){            if(max<ha[i]){                max=ha[i];            }            if(min>ha[i]){                min=ha[i];            }        }        System.out.println("\n"+"最大值為:"+max);        System.out.println("最小值為:"+min);    }}

八、求數組中最值的位置

1、            在迴圈的外面,定義變數k(賦值為0),用於儲存最值的下標

2、            在迴圈中,比較找出最值的同時,給變數k賦值

    public static  void main(String [] args){        Scanner input=new Scanner(System.in);        char [] ha={‘a‘,‘c‘,‘u‘,‘b‘,‘e‘,‘p‘,‘f‘,‘z‘};        System.out.print("原字元序列:");         for (int i=0;i<ha.length;i++){             System.out.print(ha[i]+" ");         }         Arrays.sort(ha);//對數組進行降序         System.out.print("\n升序排列後:");         for (int i=0;i<ha.length;i++){             System.out.print(ha[i]+" ");         }         char he[]=new char[9];//建立一個新數組,進行儲存資料         for (int i=0;i<ha.length;i++){             he[i]=ha[i];         }         System.out.println("\n插入的字元是:");//輸入新資料         char a=input.next().charAt(0);         int index=he.length-1;//儲存新資料插入的位置         for (int i=0;i<he.length;i++){             if(a<he[i]){//對數字進行判斷                 index=i;//找到新元素的下標位置                 break;             }         }         for (int s=he.length-2;s>=index;s--){             he[s+1]=he[s];  //將元素從後移動         }         he[index]=a;//將輸入的值賦到數組中         System.out.println("\n插入的下標是:"+index);         for (int k=0;k<he.length;k++){             System.out.print(he[k]+" ");         }    }

八、斐波那契數列

1,1,2,3,5,8,13,21,34……求第20個數位值?(使用迴圈)

規律:第i個 + 第(i+1)個 = 第(i+2)個

      步驟1:定義數組,數組長度為20

                  int []nums=new int[20];

步驟2:根據規律,擷取第0個和第1個數的初值

                  nums[0]=1;

                  nums[1]=1;

步驟3:通過迴圈,給數組中的所有元素賦值

                              for ( int i=0;i<nums.length-2;i++){

                                          nums [i+2]=nums[i]+nums[i+1];

                              }

                              for(int i=2;i<nums.length;i++){

                                          nums[i]=nums[i-2]+nums[i-1];

                              }

步驟4:輸出nums[19]的值

java基礎(5)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.