1.數組的定義:
數組是由一組類型相同的數據元素構成的有序集合,每個數據元素稱爲一個數組元素(簡稱爲元素),每個元素受n(n≥1)個線性關係的約束,每個元素在n個線性關係中的序號i1、i2、…、in稱爲該元素的下標,並稱該數組爲 n 維數組。
2.數組的特點:
元素本身可以具有某種結構,屬於同一數據類型; 數組是一個具有固定格式和數量的數據集合。
3.數組的語法:
package com.eduask.test;
import java.util.Scanner;
public class ArrayDemo {
public static void main(String[] args) {
1、第一種語法
a. 定義一個int類型的數組
int [] s;
int s[];
b.給數組劃分長度
s=new int[5];
s[0]=51;
System.out.println("數組的長度:.length:"+s.length);
c.動態賦值
for(int i=0;i<s.length;i++){
System.out.println("請輸入第"+(i+1)+"個數:");
s[i]=new Scanner(System.in).nextInt();
}
System.out.println(s[0]);
System.out.println(s[1]);
System.out.println(s[2]);
System.out.println(s[3]);
System.out.println(s[4]);
System.out.println(s[5]);
2、第二種語法 靜態賦值
int [] i={11,22,33,44,55};
int [] ii={11,(int)2.9};
System.out.println(ii[1]);
3、第三種語法 較少使用
int [] ss=new int[]{1,2,3,4,5};
View Code
3.實例題材參考:
實例1
//這裏是一個包名
package com.eduask.test;
//這裏導入輸入對象Scanner
import java.util.Scanner;
public class Test01 {
// 1.定義一個數組,由鍵盤輸入值來賦值,並輸出該數組的各值
public static void main(String[] args) {
int[] a = new int[3];//聲明一個數組(長度爲3)
//實例化輸入對象
Scanner sc = new Scanner(System.in);
//遍歷數組
for(int i=0; i<a.length; i++ ){
System.out.println("請輸入第"+(i+1)+"個數");
int num = sc.nextInt();//由鍵盤輸入值來賦值
a[i] = num;//把這個值給到數組
}
//打印輸出
for(int i=0; i<a.length; i++){
System.out.print(a[i]+" ");
}
}
}
實例2
package com.eduask.test;
import java.util.Scanner;
/**
利用數組保存數據,完成超市小票的打印
如:
請輸入購買商品:毛巾 名稱
請輸入單價:25.0 單價
請輸入購買數量:2 數量
請輸入購買商品:盆
請輸入單價:15.0
請輸入購買數量:3
======歡迎光臨**超市===========
商品名稱 單價 數量 總價
毛巾 25.0 2 50.0
盆 15.0 3 45.0
您一共消費:95.0元
-------------------------------------------------
將商品的名稱以及單價存儲在數組中,用戶輸入商品名稱,只有當貨架上有該商品時,
將該商品存入客戶購買商品的數組中,從而輸出超市小票
如:
請輸入商品名稱:毛巾
(如果沒有該商品)
對不起,沒有這件商品
(如果有該商品)
請輸入購買數量:4
循環。。。。直到用戶退出爲止
======歡迎光臨**超市===========
商品名稱 單價 數量 總價
毛巾 25.0 2 50.0
盆 15.0 3 45.0
您一共消費:95.0元
注意:商品的單價不需要輸入,而是由之前定義的數據得到
*
*/
public class Test04 {
public static void main(String[] args) {
//實例化輸入對象
Scanner sc=new Scanner(System.in);
//定義商品數組
String [] names={"毛巾","牙刷","牙膏","盆子","礦泉水"};
//定義價格數組 和商品進行對應
double [] prices={9.9,18.8,25.5,33.9,15};
//輸入你要購買商品種類
System.out.println("請輸入你需要購買商品的種類:");
int num=sc.nextInt();
int [] goumai=new int[num];//該數組存的是購買商品的下標
int [] count=new int[num]; //該數組存放的是購買項目的數量
double sum=0.0;//存儲總消費額
//通過循環的方式,,進行購買商品
for(int j=0;j<goumai.length;j++){
System.out.println("請輸入你要購買第"+(j+1)+"類商品:");
//輸入購買商品名稱
String name=sc.next();
int index=-1;//用於記錄商品的下標位
//查找商品列表是否存在該商品
for(int i=0;i<names.length;i++){
//判斷輸入的商品名稱是否在商品數組中
if(name.equals(names[i])){
index=i;//true 存儲下標 false 不存儲下標
}
}
//判斷商品是否在商品數組中找到
if(index!=-1){
System.out.println("該商品存在");
goumai[j]=index; //把商品的下標存儲在數組中
System.out.println("請輸入你要購買的數量:");
count[j]=sc.nextInt();//對應下標 存儲購買的數量
}else{
System.out.println("該商品不存在");
j--;//如果購買的商品不存在, 自減 重新購買商品
}
}
System.out.println("======歡迎光臨J18超市===========");
System.out.println("商品名稱 單價 數量\t總價");
//循環購買的數組,拼接超市小票
for(int i=0;i<goumai.length;i++){
int xiabiao=goumai[i]; //取購買商品的下標位
System.out.print(names[xiabiao]+"\t");
System.out.print(prices[xiabiao]+"\t");
System.out.print(count[i]+"\t");
System.out.print(prices[xiabiao]*count[i]+"\n");
sum+=prices[xiabiao]*count[i]; //每種類型的價格累加
}
System.out.println("您一共消費:"+sum+"元 ");
}
}