首页 > 代码库 > 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 }
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+"元 ");


    }

}

 

JAVA总裁--Java数组基础知识