java 數組定義和常用方法,如何理解數組一但定義長度就不能改變


 

自己得理解:數組一旦定義沒有添加和刪除得方法,印證了數組一旦定義數組得長度就固定了,如有

增刪方法 則會導致數組得長度發生改變

  1. 數組得聲明和定義
package day7.demo1;

/*
一:素組的特點
1.長度固定:沒用增加只有賦值的方法,刪除的方法
2.類型統一
3.存放引用數據類型
數組的創建(初始化)基本格式(標准格式)
二.動態初始化(告訴我指定長度) 數據類型[] 數組名=new 數據類型 [長度值];
如果為正數類型類型 那么默認為0
如果為浮點類型類型 那么默認為0.0
如果為字符串類型 那么默認為‘\u0000’
如果為布爾類型 那么默認為false
如果為引用類型 那么默認為null
三.靜態初始化(告訴我指定內容) 數據類型[] 數組名稱=new 數據類型 [] {元素1,元素2,元素3}
靜態的初始化:先有默認值,{元素1,元素2,元素3}覆蓋默認值
數組的創建(初始化)省略格式
四.靜態初始化(告訴我指定內容) 數據類型[] 數組名稱={元素1,元素2,元素3}
數組的打印:內存地址哈希值
二進制:01
十進制:0123456789
16進制:0123456789abcdef
五:數組常見得異常
System.out.println(arrayC[8]);//ArrayIndexOutOfBoundsException數組索引越界異常
int [] arraynull=null;
 System.out.println(arraynull[0]);//NullPointerException空指針異常
* */
public class Demo1Array {

    public static void main(String[] args) {
    //========聲明和定義=====================================
     //數組是容器,可存儲多個數據,變量只能存放1個數據
     //1.動態初始化
        int [] arrayA=new int [5];
    //動態初始化拆分為兩部分寫
        int [] arrayA1;
        arrayA1=new int [5];
     //2.靜態初始化
        int [] arrayB=new int [] {1,2,3,4,5};
    //靜態初始化拆分為兩部分寫
        int [] arrayB1;
        arrayB1=new int [] {10,20,30,40};
    //3.靜態初始化省略格式,不能拆分倆個部分寫
    int [] arrayC={11,22,33,44,55};

    //打印array ,[I@1540e19d I表示int
        System.out.println(arrayC);
    //訪問元素
        int num1=arrayC[0];
        System.out.println(num1);


}

2.數組中常用得方法

package day7.demo1;


public class Demo1Array {

    public static void main(String[] args) {

    //1.定義.靜態初始化省略格式,不能拆分倆個部分寫
        int [] arrayC={11,22,33,44,55};
    

        // 1.=======================改變數組中的元素
        arrayC[0]=123;
        //2.=======================數組長度
        int arraylength=arrayC.length;

        //3.遍歷數組:如數組中有5個元素,那么輸出下標未0,1,2,3,4,得輸出5次,才能輸出完畢,剛好int i = 0;i <arrayC.length能執行5次
        //快捷建:循環次數.fori 如5.fori
        for (int i = 0;i <arrayC.length ; i++) {
            System.out.println(arrayC[i]);
        }
        //4..=======================求數組中得最大值得方法:和比武招親得列子相同,第一個人是留在擂台上得,留在擂台上得人就是maxvule,
        // 參數得每一個人都要和台上得maxvule比較,如果比maxvule和厲害,那么maxvule這個頭銜就是那個人得
        int maxvule=arrayC[0];
        for (int i = 1; i <arrayC.length ; i++) {
            if (arrayC[i]>maxvule){
                maxvule=arrayC[i];
            }
        }
        System.out.println("最大值是: "+maxvule);
        //5.=======================數組元素得反轉,不能使用新數組,就只能使用唯一得數組
        //思路

        for (int i = 0; i < arrayC.length; i++) {
            System.out.println("反轉前: "+arrayC[i]);
        }
       //反轉代碼:
        for (int minindex=0,maxindex =arrayC.length; minindex<maxindex ; minindex++,maxindex--) {
           int temp=arrayC[minindex];
            arrayC[minindex]=arrayC[maxindex];
            arrayC[maxindex]=temp;
        }
      //6.調用帶數組參數得方法
    int [] arraytests={10,20,21,22,23,23};
    utarray(arraytests);//傳遞得是數組得地址
  //7.調用返回值是數組得方法
  int [] result=js(arraytests);
  System.out.println("合計"+result[0]+"平均值"+result[1]);

      
   }
 //6.=======================定義參數是數組得方法,傳遞進來得參數是一個地址值
        public static void outarray (int [] array ){
            System.out.println("接收到得參數是 "+ array);
            for (int i = 0;i<array.length; i++) {
                System.out.println(array[i]);
            }
        }

//7.=======================定義一個方法得返回值是數組得方法
public static int [] js (int [] array ){
    int sum=0;

  for (int i = 0; i < array.length; i++) {
      sum+=array[i];
  }
  int avg=sum/array.length;
    int [] result={sum,avg};
  return result;
}

}

 

 

 3.數組中得常見異常

package day7.demo1;


public class Demo1Array {

    public static void main(String[] args) {
   
    //3.靜態初始化省略格式,不能拆分倆個部分寫
    int [] arrayC={11,22,33,44,55};

        //========常見異常=====================================
        //數組常見問題:
        System.out.println(arrayC[8]);//ArrayIndexOutOfBoundsException數組索引越界異常

        int [] arraynull=null;
        System.out.println(arraynull[0]);//NullPointerException空指針異常ma
        }



}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM