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

JAVA总裁--Java数组基础知识相关推荐

  1. Java编程语言学习:Java语言编程的基础知识之Java的变量与数据类型、符号、运算符、数组Array总结之详细攻略

    Java编程语言学习:Java语言编程的基础知识之Java的变量与数据类型.符号.运算符.数组Array总结之详细攻略 目录 Java语言编程的基础知识之Java的变量与数据类型.符号.运算符.数组总 ...

  2. [Java面试三]JavaWeb基础知识总结.

    [Java面试三]JavaWeb基础知识总结. 1.web服务器与HTTP协议 Web服务器 l WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. l Int ...

  3. 【Java面试高频问题】Java数据结构和算法基础知识汇总

    文章目录 Java数据结构和算法基础知识 一.Java数据结构 1. 线性结构:数组.队列.链表和栈 1.1 数组(Array) 1.2 稀疏数组 1.3 队列(Queue) 1.4 链表(Linke ...

  4. 学习笔记:Java 并发编程①_基础知识入门

    若文章内容或图片失效,请留言反馈. 部分素材来自网络,若不小心影响到您的利益,请联系博主删除. 视频链接:https://www.bilibili.com/video/av81461839 视频下载: ...

  5. java最基本的基础知识

    java最基本的基础知识.这种东西应该印在脑子里雨打不动,风吹不走.以后不能为少个分号或缺个逗号之类的小问题所出错. 1.分隔符:超到分隔的作用. 有半角的分号(" ; ").逗号 ...

  6. Java中的线程基础知识

    Java中的线程基础知识 1.线程概念 线程是程序运行的基本执行单元.当操作系统(不包括单线程的操作系统,如微软早期的DOS)在执行一个程序时,会在系统中建立一个进程,而在这个进程中,必须至少建立一个 ...

  7. java入门应该学什么_初学Java应该掌握哪些基础知识?

    Java出现以前,Internet上的信息内容都是一些乏味死板的HTML文档.这对于那些迷恋于WEB浏览的人们来说简直不可容忍.Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中 ...

  8. 【Java】javaSE的基础知识概括(完)

    十.String类 1.认识Sring类 字符串由一连串的字符组成,在Java中使用双引号""包裹表示,它可以是一个字符,也可以是一个字符序列或者由多个字符序列组成.字符串的应用非 ...

  9. java入门之计算机基础知识

    什么是计算机?计算机在生活中的应用举例  计算机(Computer)全称:电子计算机,俗称电脑.是一种能够按照程序运行,自动.高速处理海量数据的现代化智能电子设备.由硬件和软件所组成,没有安装任何软件 ...

  10. Java核心技术 卷1 基础知识

    网站 更多书籍点击进入>> CiCi岛 下载 电子版仅供预览及学习交流使用,下载后请24小时内删除,支持正版,喜欢的请购买正版书籍 电子书下载(皮皮云盘-点击"普通下载" ...

最新文章

  1. Angular 4 依赖注入教程之一 依赖注入简介
  2. fliqlo windows_Windows小众软件工具推荐
  3. ugui unity 取消选择_Unity暑期萌新入门:环境篇
  4. mount: unknown filesystem type 'LVM2_member'解决方案
  5. python制作一个计时器_如何在python中创建一个反应计时器作为GUI?
  6. 美团技术:百亿规模API网关服务Shepherd的设计与实现
  7. qgis oracle,用 QGIS 画矢量交通路线图
  8. CSS-解决inline-block空隙的最好方法
  9. oracle出现数据坏块ORA-01578 ORA-01110 ORA-26040解决办法。
  10. 搭建SFTP服务器实现文件上传
  11. 1080 端口被占用
  12. 找代做java,代做JAVA程序作业、代写学生信息查询系统、代做JAVA实验
  13. 用布尔代数简化下列各逻辑表达式
  14. 数据可视化发挥流程的价值——江汽物流数据监控平台建设经验
  15. CPU性能衡量参数-主频,MIPS,CPI,时钟周期,机器周期,指令周期
  16. 2019亚洲蓝牙大会成果盘点
  17. Android登录客户端,验证码的获取,网页数据抓取与解析,HttpWatch基本使用
  18. Python 从 Excel 读取链接下载文件
  19. Qt实现二维码的编解码
  20. 计算机提取干涉条纹原理,两种提取Fabry-Perot干涉条纹圆心的新方法

热门文章

  1. python爬虫re_python网络爬虫之三re正则表达式模块
  2. 计算机最低分怎么英语,编写一个学生类 有年龄 英语、数学、计算机三门成绩 求平均分、最高分、最低分...
  3. 启动后显示不了数据_90后都买不起房?统计数据显示:90后成了城市租房主力!...
  4. java eml文件解析_java 解析 eml的源代码
  5. 华为鸿蒙战略布局,继5G与鸿蒙后又一重要布局:华为发布计算战略
  6. python一个对象只能被一个变量引用吗_Python中的变量、对象、引用
  7. pytorch 对抗样本_【天池大赛】通用目标检测的对抗攻击方法一览
  8. 数据建模_浅谈数据仓库建设中的数据建模方法
  9. html没有内容怎么爬,Url没有在网页中返回正确的html(对于我的Java爬虫)
  10. 运算放大器基本公式_跨阻放大器稳定性