首页 > 代码库 > JAVA总裁--Java数组基础知识
JAVA总裁--Java数组基础知识
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};
1 package com.eduask.test; 2 3 import java.util.Scanner; 4 5 /** 6 利用数组保存数据,完成超市小票的打印 7 如: 8 9 请输入购买商品:毛巾 名称 10 请输入单价:25.0 单价 11 请输入购买数量:2 数量 12 13 请输入购买商品:盆 14 请输入单价:15.0 15 请输入购买数量:3 16 17 ======欢迎光临**超市=========== 18 商品名称 单价 数量 总价 19 毛巾 25.0 2 50.0 20 盆 15.0 3 45.0 21 22 您一共消费:95.0元 23 24 25 ------------------------------------------------- 26 将商品的名称以及单价存储在数组中,用户输入商品名称,只有当货架上有该商品时, 27 将该商品存入客户购买商品的数组中,从而输出超市小票 28 如: 29 请输入商品名称:毛巾 30 (如果没有该商品) 31 对不起,没有这件商品 32 (如果有该商品) 33 请输入购买数量:4 34 35 循环。。。。直到用户退出为止 36 37 38 ======欢迎光临**超市=========== 39 商品名称 单价 数量 总价 40 毛巾 25.0 2 50.0 41 盆 15.0 3 45.0 42 43 您一共消费:95.0元 44 45 注意:商品的单价不需要输入,而是由之前定义的数据得到 46 47 * 48 */ 49 public class Test04 { 50 51 public static void main(String[] args) { 52 //实例化输入对象 53 Scanner sc=new Scanner(System.in); 54 //定义商品数组 55 String [] names={"毛巾","牙刷","牙膏","盆子","矿泉水"}; 56 //定义价格数组 和商品进行对应 57 double [] prices={9.9,18.8,25.5,33.9,15}; 58 59 //输入你要购买商品种类 60 System.out.println("请输入你需要购买商品的种类:"); 61 int num=sc.nextInt(); 62 63 int [] goumai=new int[num];//该数组存的是购买商品的下标 64 int [] count=new int[num]; //该数组存放的是购买项目的数量 65 66 double sum=0.0;//存储总消费额 67 68 //通过循环的方式,,进行购买商品 69 for(int j=0;j<goumai.length;j++){ 70 71 System.out.println("请输入你要购买第"+(j+1)+"类商品:"); 72 //输入购买商品名称 73 String name=sc.next(); 74 int index=-1;//用于记录商品的下标位 75 76 //查找商品列表是否存在该商品 77 for(int i=0;i<names.length;i++){ 78 //判断输入的商品名称是否在商品数组中 79 if(name.equals(names[i])){ 80 index=i;//true 存储下标 false 不存储下标 81 } 82 } 83 //判断商品是否在商品数组中找到 84 if(index!=-1){ 85 System.out.println("该商品存在"); 86 goumai[j]=index; //把商品的下标存储在数组中 87 System.out.println("请输入你要购买的数量:"); 88 count[j]=sc.nextInt();//对应下标 存储购买的数量 89 }else{ 90 System.out.println("该商品不存在"); 91 j--;//如果购买的商品不存在, 自减 重新购买商品 92 } 93 94 } 95 96 System.out.println("======欢迎光临J18超市==========="); 97 System.out.println("商品名称 单价 数量\t总价"); 98 //循环购买的数组,拼接超市小票 99 for(int i=0;i<goumai.length;i++){ 100 int xiabiao=goumai[i]; //取购买商品的下标位 101 System.out.print(names[xiabiao]+"\t"); 102 System.out.print(prices[xiabiao]+"\t"); 103 System.out.print(count[i]+"\t"); 104 System.out.print(prices[xiabiao]*count[i]+"\n"); 105 sum+=prices[xiabiao]*count[i]; //每种类型的价格累加 106 } 107 108 System.out.println("您一共消费:"+sum+"元 "); 109 110 111 } 112 113 }
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+"元 ");
}
}
JAVA总裁--Java数组基础知识