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+"元 ");
}
}
转载于:https://blog.51cto.com/12167213/1862043