1. 程式人生 > >Java數組01

Java數組01

sys 特點 分配 概述 max alt pub 必須 inf

Java數組01

數組概述

需求:現在需要統計某公司員工的工資情況,例如計算平均工資、找到最高工資等。假設該公司有80名員工,用前面所學的知識,程序首先需要聲明80個變量來分別記住每位員工的工資,然後在進行操作,這樣做會顯得很麻煩。為了解決這種問題,Java就提供了數組供我們使用。

那麽數組到底是什麽呢?有什麽特點呢?通過上面的分析:我們可以得到如下兩句話:

數組是存儲多個變量(元素)的東西(容器)

這多個變量的數據類型要一致

數組的定義格式

 數組的概念

   數組時候存儲用一種數據類型多個元素的容器

   數組既可以存儲基本數據類型也可以存儲引用數據類型

 數組的定義格式

   格式一:數據類型[] 數組名;--->int[] name1;

   格式二:數據類型 數組名[];--->int name2[];

   註意:這兩種定義定義好了後,數組中是沒有元素值的。

數組的初始化

 數組初始化概述:

  Java中的數組必須初始化,然後才能使用。

  所謂初始化:就是為數組中的元素分配內存空間,並為每個數組賦值。

 數組的初始化方式:

 <1> 動態初始化:初始化時只指定數組的長度,有系統為數組分配初始值

   格式:數據類型[] 數組名 = new 數據類型[數組長度];

   數組長度其實就是數組中的元素個數。

   舉例:int[] arr = new int[3];

   定義了一個int類型的數組,這個數組中可以存放3個int類型的值。

   如何給數組存放數據呢?

   int[] arr = new int[3];

   arr[0] = 12;

   0:下標,也叫索引。代表數組中的第一個值

 <2>靜態初始化:初始化時指定每個數組元素的初始值,由系統覺得數組的長度

 數組基本要素:

  1>標識符:數組的名稱,用於區分不同的數組

  2>數組元素:向數組中存放的數據

  3>元素下標:對數組元素進行編號,從0開始,數組中每個元素都可以通過下標來訪問

  4>元素類型:數組元素的數據類型

案例1:

package com.lyc.test;

public class ArrayDemo01 {

    
public static void main(String[] args) { //動態初始化: //數據類型[] 數組名 = new 數據類型[數組長度]; int[] arr01 = new int[3]; arr01[0] = 0; arr01[1] = 2; arr01[2] = 4; System.out.println(arr01[0]); System.out.println(arr01[1]); System.out.println(arr01[2]); System.out.println("-----------------------"); //靜態初始化: //數據類型[] 數組名 = new 數據類型[]{元素1,元素2,元素3...}; //int[] arr = new int[]{1,2,3}; //簡化: //數據類型[] 數組名 = {元素1,元素2,元素3...}; //int[] arr = {1,2,3}; int[] arr02 = {11,22,33,44,55,66,77,88,99,00}; //輸出數組名和元素 System.out.println(arr02[0]); System.out.println(arr02[1]); System.out.println(arr02[2]); int len =arr02.length;//獲取數組arr02的長度 System.out.println("長度為:"+len); } }

案例2:循環錄入五門科目的成績,並輸出

package com.lyc.test;

import java.util.Scanner;

public class ArrayDemo02 {
    //循環錄入五門科目的成績,並輸出
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        //定義數組長度
        int[] scores = new int[5];
        //循環錄入五位同學的成績
        for (int i = 0; i < scores.length; i++) {
            System.out.println("請輸入第"+(i+1+"位同學的成績:"));
            scores[i] = sc.nextInt();
        }
        
        //循環輸出五位同學的成績
        for (int i = 0; i < scores.length; i++) {
            System.out.println("第"+(i+1)+"位同學的成績:"+scores[i]);
        }        
    }
}

結果:

技術分享圖片

案例三:

package com.lyc.test;

import java.util.Scanner;

public class ArrayDemo03 {
    //循環輸入5門成績,並且打印出最高分和最低分,求總分,求平均分
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        //定義數組長度
        int[] scores = new int[5];
        int max = 0;//默認設置最高分為數組的第一個值
        int min = 0;//最低分
        int sum = 0;//總分
        double avg = 0;//平均分
        //循環錄入五位同學的成績
        for (int i = 0; i < scores.length; i++) {
            System.out.println("請輸入第"+(i+1)+"位同學的成績:");
            scores[i] = sc.nextInt();
            sum = sum + scores[i];//獲取總分
        }

        for (int i = 0; i < scores.length; i++) {
            if (max<scores[i]) {
                max = scores[i];//獲取最高分
            }
        }
        //scores.length-1 為了避免下面進行if判斷時出錯
        for (int i = 0; i < scores.length-1; i++) {
            if (scores[i]>scores[i+1]) {
                min = scores[i+1];//獲取最低分
            }
        }
        
        avg = sum/scores.length;//平均分
        
        System.out.println("最高分:"+max);
        System.out.println("最低分:"+min);
        System.out.println("總分:"+sum);
        System.out.println("平均分:"+avg);
        
    }
}

結果:

技術分享圖片

Java數組01