Java 基本文法---Java數組

來源:互聯網
上載者:User

標籤:取數   效果   遍曆   class   --   基本資料   情況   exti   字串類   

Java 基本文法---Java數組0. 概述

數組:相同類型的資料 按照順序 組成的一種 引用資料類型 。

資料類型:基礎資料型別 (Elementary Data Type) + 引用資料類型;

引用資料類型:類 + 介面 + 數組 ;

一維數組:聲明,建立,初始化,元素的引用,長度

1. 數組聲明

變數聲明的文法格式: 變數類型 變數名;

數組聲明的文法格式:資料類型 [ ] 數組名;(資料類型 數組名[ ])

int[] myIntArray;  //首選方法(int myIntArray[];) //來源於C/C++,效果相同,但不是首選方法String[] strArray;
2. 數組建立

文法格式一 先聲明後建立

資料類型[] 數組名;

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

int[] array;array = new int[10];//建立一個長度為 10 的整型數組array; 

文法格式二 聲明的同時進行建立數組

資料類型 [] 數組名 =  new 資料類型 [ 數組長度 ];dataType[] arrayRefVar = new dataType[arraySize];// 1.使用 dataType[arraySize] 建立了一個數組;// 2.把新建立的數組的引用賦值給了變數 arrayRefVar。
int[] arr = new int[10];    //建立一個長度為10的整型數組arr//注意:數組的長度必須給定
3. 數組的初始化

聲明數組的同時給數組賦值,叫做數組的初始化;

int[] arr = {1,2,3,4,5,6,7,8,9,10};// 數組的長度就是初始化數組時所給數組元素的個數。
4. 數組元素的引用

數組元素的訪問是通過索引訪問的。

文法格式: 數組名[ 下標 ];

注意:下標從0開始(數組索引從0開始,所以索引值從0到array.length - 1);

5. 數組的長度
int[] arr = {0,1,2,3,4,5,6,7,8,9};//屬性 length 表示數組的長度,例如:arr.length;
6. 案例6.1 案例1:一維數組的應用

int 數組建立時數組元素預設值為0;

double數組建立時數組元素預設為0.0;

char 數組建立時數組元素預設為 ;

String 數組建立時數組元素預設為 null;

public class ArrayTest {    public static void main(String[] args) {        //聲明一個整型數組        int[] intArray;        //聲明一個字串類型的數組        String strArray[];        //建立數組        intArray = new int[5];        strArray = new String[10];        //聲明數組的同時進行建立數組        double[] doubleArray = new double[4];        //初始化數組        char[] chArray = {'a','b','c','d'};        char[] ch1Array = new char[5];        System.out.println("ch1Array 數組的長度為:" + ch1Array.length);        System.out.println("ch1Array 數組中的第2個元素為:" + ch1Array[3]);        System.out.println("chArray 數組的長度為:" + chArray.length);        System.out.println("chArray 數組中的第2個元素為:" + chArray[1]);        System.out.println("intArray 數組的長度為:" + intArray.length);        System.out.println("intArray 數組中的第二個元素為:" + intArray[1]);        System.out.println("strArray 數組的長度為:" + strArray.length);        System.out.println("strArray 數組中的第5個元素為:" + strArray[4]);        System.out.println("doubleArray 數組的長度為:" + doubleArray.length);        System.out.println("doubleArray 數組中的第4個元素為:" + doubleArray[3]);        System.out.println();        //迴圈為整型數組賦值        for(int i = 0;i < 5;i++)        {            intArray[i] = i + 2;        }        //迴圈輸出整型數組中的元素        System.out.println("整型數組intArray 中的元素值分別為:");        //數組下標越界(數組下標超出範圍)Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5        //  at com.ryanjie.ArrayTest.main(ArrayTest.java:51)//        for(int i= 0;i < 6;i++)//        {//            System.out.print(intArray[i] + "    ");//        }//        System.out.println();        for(int i = 0;i < 5;i++)        {            System.out.print(intArray[i] + "    ");        }        System.out.println();    }    }Output:    ch1Array 數組的長度為:5    ch1Array 數組中的第2個元素為:     chArray 數組的長度為:4    chArray 數組中的第2個元素為:b    intArray 數組的長度為:5    intArray 數組中的第二個元素為:0    strArray 數組的長度為:10    strArray 數組中的第5個元素為:null    doubleArray 數組的長度為:4    doubleArray 數組中的第4個元素為:0.0    整型數組intArray 中的元素值分別為:    2    3    4    5    6    
6.2 案例2:求數組元素的累加和
public class ArraysSum {    public static void main(String[] args) {        //求整型數組的累加和        //定義整型數組        int[] intArray = new int[5];        //從鍵盤開始接收資料,為元素進行賦值        Scanner sc = new Scanner(System.in);        for(int i = 0;i < intArray.length;i++)        {            System.out.println("請輸入第 " + (i + 1) + "個元素的值:");            intArray[i] = sc.nextInt();        }        //輸出intArray 數組中的元素        System.out.println("數組中的元素分別為:");        for(int i = 0;i < intArray.length; i++ )        {            System.out.print(intArray[i] + "  ");        }        System.out.println();        //輸出intArray數組中的元素的和        int sum = 0;        for(int i= 0; i < intArray.length;i++)        {            sum += intArray[i];        }        System.out.println("intArray數組的元素和為:" + sum);    }}Output:    請輸入第 1個元素的值:    100    請輸入第 2個元素的值:    100    請輸入第 3個元素的值:    50    請輸入第 4個元素的值:    50    請輸入第 5個元素的值:    150    數組中的元素分別為:    100  100  50  50  150      intArray數組的元素和為:450
6.3 案例3:求數組元素的最大值
public class MaxElement {    public static void main(String[] args) {        //求數組中的最大值        //定義整型數組        //int[] intArray = {34,23,78,56,31,66};        int[] intArray = new int[6];        //從鍵盤讀取數組元素值        Scanner sc = new Scanner(System.in);        for(int i = 0;i < intArray.length;i++ )        {            System.out.println("請輸入第 " + (i+1) + "個元素的值:");            intArray[i] = sc.nextInt();        }        //輸出intArray數組中的元素        System.out.println("intArray 數組中的元素分別為:");        for(int i = 0;i < intArray.length;i++)        {            System.out.print(intArray[i] + "  ");        }        System.out.println();        int max = intArray[0];        for(int i = 1;i < intArray.length;i++)        {            if(max < intArray[i])            {                max = intArray[i];            }        }        System.out.println("intArray 數組元素的最大值為:" + max);    }}Output:    請輸入第 1個元素的值:    34    請輸入第 2個元素的值:    23    請輸入第 3個元素的值:    78    請輸入第 4個元素的值:    56    請輸入第 5個元素的值:    31    請輸入第 6個元素的值:    66    intArray 數組中的元素分別為:    34  23  78  56  31  66      intArray 數組元素的最大值為:78
7. foreach 迴圈

foreach 迴圈又稱為增強型迴圈,它能在不使用下標的情況下遍曆數組。

int[] arr = {1,2,3,4,5,6};for(int n:arr)    System.out.print(n + "  ");//每次把數組中的元素存放到n中,輸出。迴圈遍曆一遍就終止;
public class Test {    public static void main(String[] args) {        //定義整型數組        //int[] intArray = {34,23,78,56,31,66};        int[] intArray = new int[6];        //從鍵盤讀取數組元素值        Scanner sc = new Scanner(System.in);        for(int i = 0;i < intArray.length;i++ )        {            System.out.println("請輸入第 " + (i+1) + "個元素的值:");            intArray[i] = sc.nextInt();        }                //foreach迴圈        for(int n:intArray)        {            System.out.print(n + "    ");        }        System.out.println();    }}
8. 數組作為函數的參數

數組作為參數傳遞給方法。

調用printfDoubleArray方法列印doubleArray數組:

public static void printfDoubleArray(double[] doubleArray) {    for (double element: doubleArray )     {        System.out.println(doubleArray[i] + "   ");    }}//調用printfDoubleArray方法列印doubleArray數組printfDoubleArray(new double[] {3.14,6.66,8,88,3.59,7.84});
9. 數組作為函數的傳回值

數組可以作為函數的傳回值。

將list數組中的元素值賦值給result數組:

public atstic int[] reverse(int[] list){    //聲明 result 數組 並建立 result 數組    int[] result = new int[list.length];    for (int i = 0, j = result.length - 1; i < list.length; i++, j--)     {        result[j] = list[i];    }    return result;}
10. 冒泡排序 BubbleSort
public class BubbleSort {    public static void main(String[] args) {        //冒泡排序BubbleSort        int[] intArray = {34,23,78,56,31,66};        System.out.println("排序前的數組元素分別為:");        for(int element:intArray)        {            System.out.print(element + "    ");        }        System.out.println();                //BubbleSort        int temp;        for (int i = 0; i < intArray.length; i++)         {            for (int j = 0; j < intArray.length-i-1; j++)            {                if(intArray[j] > intArray[j+1])                {                    temp = intArray[j];                    intArray[j] = intArray[j+1];                    intArray[j+1] = temp;                }            }        }        //輸出排序後的數組        System.out.println("排序後的數組元素分別為:");        for(int element:intArray)        {            System.out.print(element + "    ");        }        System.out.println();    }}OutPut:    排序前的數組元素分別為:    34    23    78    56    31    66        排序後的數組元素分別為:    23    31    34    56    66    78  

Java 基本文法---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.