一、数组的概述

  • 1、数组(Array),是多个相同的类型数据按照一定顺序排序的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理。

  • 2、数组的常见概念

  • 数组名

  • 下标(或索引)

  • 元素

  • 数组的长度:元素的个数

二、数组的特点

  • 1.数组是有序排列的
  • 2.数组属于引用数据类型变量,但数组的元素既可以是基本数据类型,也可以是引用数据类型。
  • 3.创建数组对象会在内存中开辟一整块连续的空间。
  • 4.数组长度一旦确定,就不能修改

三、数组分类

  • 1.按照维数:一维数组、二维数组、三维数组…等等
  • 2.按照数组的元素:基本数据类型的数组、引用数据类型元素的数组

四、一维数组的使用

  /*** 一维数组的使用和步骤:* 1.一维数组的声明和初始化* 2.如何调用数组的指定位置的元素* 3.如何获取数组的长度* 4.如何遍历数组* 5.数组元素的默认初始化值* 6.数组的内存解析*/public static void first() {//1.一维数组的声明和初始化int num;//声明num = 10;//初始化int num1 = 10;//声明+初始化int[] ids;//声明//静态初始化:数组的初始化和数组元素的赋值操作同时进行ids = new int[]{1001, 1002, 1003, 1004};//动态初始化:数组的初始化和数组元素的赋值操作分开进行,也就是动态初始化没有赋值String[] names = new String[5];//总结:一旦数组初始化完,就确定了数组的长度!//2.如何调用数组的指定位置的元素:通过角标的方法调用//数组的角标(或索引)从0开始,到数组的长度减一结束names[0] = "网名";names[1] = "网名1";names[2] = "网名2";names[3] = "网名3";names[4] = "网名4";//3.如何获取数组的长度。//属性:lengthSystem.out.println(names.length);System.out.println(ids.length);//4.如何遍历数组for (int i = 0; i < names.length; i++) {System.out.println(names[i]);}/**5.数组元素的初始化值* 数组元素是整型:默认初始化值都 0* 数组元素的浮点型:默认初始化为0.0* 数组元素是char型;0或"/u0000,而不是'0'* 数组元素是boolean型:默认值为false*** 数组数据类型是引用数据类型时:默认值为 null*///数组元素是整型:默认初始化值都 0int[] arr = new int[4];for (int i = 0; i < arr.length; i++) {System.out.println(arr[i]);}//数组元素的浮点型:默认初始化为0.0float[] arr1 = new float[4];for (int i = 0; i < arr1.length; i++) {System.out.println(arr1[i]);}//数组元素是char型char[] arr2 = new char[4];for (int i = 0; i < arr2.length; i++) {System.out.println("----" + arr2[i] + "****");}//数组元素是boolean型:默认值为falseboolean[] arr3 = new boolean[5];System.out.println(arr3[1]);//数组数据类型是引用数据类型时iString[] arr4 = new String[5];System.out.println(arr4[1]);if (arr4[1] == null) {System.out.println("good");}//6.数组的内存解析/*** 栈:存放局部变量* 堆:new出来的结构,对象和数组*/}

五、练习题

练习题:
1.升景坊单间短期出租4个月,550元/月(水电煤气公摊,网费35元),空调、卫生间、厨房齐全。房内均是IT人士,喜欢安静,所以要求来租着最高是同行

//习题1:public static void tow() {int[] arr = new int[]{8, 2, 1, 0, 3};int[] index = new int[]{2, 0, 3, 2, 4, 0, 1, 3, 2, 3, 3};String tel = "";for (int i = 0; i < index.length; i++) {tel += arr[index[i]];}System.out.println("电话为" + tel);}//!!!注意不要打,可以真的有这个人。
//模仿习题,利用数组输出自己的电话号码
//?是根据自己的电话号里面的数字,
//*是自己电话号数字里面数组的下标
public static void three() {int[] arr = new int[]{?};int[] index = new int[]{*};String tel = "";for (int i = 0; i < index.length; i++) {tel += arr[index[i]];}System.out.println("电话为" + tel);}

2.利用数组从键盘读入学生成绩,找出最高分,并输出学生成绩等级。

   public static void four() {/*** 过程:* 1.使用Scanner,读取学生个数* 2.创建数组,存储学生成绩,动态初始化* 3.遍历数组,并赋值* 4.获取数组中元素的最大值,排序* 5.判断每个学生成绩与最高分差值,并输出等级和成绩*///1.使用Scanner,读取学生个数Scanner scanner = new Scanner(System.in);System.out.println("请输入学生个数");int number = scanner.nextInt();
//       2.创建数组,存储学生成绩,动态初始化int[] scores = new int[number];
//        3.遍历数组,并赋值++ 排序System.out.println("请输入" + number + "个学生成绩");int maxscore = 0;for (int i = 0; i < scores.length; i++) {scores[i] = scanner.nextInt();if (maxscore < scores[i]) {//这个步骤就是第四步,因为我们发现都是遍历数组,多了一个比较大小而已,所以可以放在这里,提前的比较,从而节省我们的代码量。  maxscore = scores[i];maxscore = scores[i];}}
//        4.获取数组中元素的最大值,排序
//        for (int i = 0; i < scores.length; i++) {//            if (maxscore < scores[i]) {//                maxscore = scores[i];
//            }
//        }
//        5.判断每个学生成绩与最高分差值,并输出等级和成绩char level;for (int i=0;i<scores.length;i++){if (maxscore-scores[i]<=10){level='A';}else if (maxscore-scores[i]<=20){level='B';}else if (maxscore-scores[i]<=30){level='C';}else {level='D';}System.out.println("student" + i + "score is" + scores[i] + ",grage id" + level);}}

JAVA基础_数组(一维数组)相关推荐

  1. 小白自学笔记——JAVA基础 3.1 一维数组

    名词解释 数组(Array),是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理. 数组的常见概念 数组名 下标(或索引) 元素 数组的长度 数组的特点 ...

  2. Java中大数据数组,Java基础学习笔记之数组详解

    摘要:这篇Java开发技术栏目下的"Java基础学习笔记之数组详解",介绍的技术点是"java基础学习笔记.基础学习笔记.Java基础.数组详解.学习笔记.Java&qu ...

  3. 【C 语言】数组 ( 一维数组形参退化 | 二维数组形参退化 | 函数形参等价关系 )

    文章目录 一.一维数组形参退化 二.二维数组形参退化 三.数组形参等价关系 一.一维数组形参退化 C 中将 一维数组 作为参数 , 传递到函数中 , 该 一维数组 会退化为 指针 ; 将 int ar ...

  4. c/c++教程 - 1.7 数组 一维数组 二维数组

    九.数组 数组:一个里面存放了相同类型数据元素的集合. 特点:每个数组中的元素都是相同的数据类型:数组是由连续的内存位置组成的. 注意:数组的下标是从0开始索引. 参考视频:https://www.b ...

  5. c语言程序设计 实验五数组6,实验五 数组——一维数组.doc

    实验五 数组--一维数组 淮海工学院计算机科学系实验报告书 课程名:< C语言程序设计教程> 题 目: 实验五 数组--一维数组 班 级: 学 号: 姓 名: 评语: 成绩: 指导教师: ...

  6. java基础_笔记(dos,java基础信息,final,static,abstract,接口,抽象类,数组,排序string,stringbuff/stringbuilder)

    一,基础部分 1.1dos命令(也就是cmd命令) exit退出当前dos命令窗口 cls清屏 在dos中复制:直接复制 dir:显示子文件 cd改变目录,切换盘符的直接输入盘符不用cd,不可以跨盘符 ...

  7. Java基础+流程控制+方法+数组【笔记含代码】

    文章目录 什么是计算机 计算机硬件 计算机软件 DOS命令 计算机语言发展史 第一代语言 第二代语言 第三代语言 Java帝国的诞生 C & C++ 反抗 Java初生 Java发展 Java ...

  8. java基础(十) 深入理解数组类型

    戳上面的蓝字关注我们哦! 精彩内容 精选java等全套视频教程 精选java电子图书 大数据视频教程精选 java项目练习精选 1. 数组类简介   在java中,数组也是一种引用类型,即是一种类. ...

  9. Java基础2面向对象和数组

    第四章 Java面向对象基础 4.1 面向过程和面向对象 面向过程(Procedure Oriented)和面向对象(Object Oriented,OO)都是对软件分析.设计和开发的一种思想,它指导 ...

  10. 【Java基础】字符串与数组

    字符串创建于存储机制 字符串的声明和初始化的两种情形: 1. str1 = "abc"; str2 = "abc";在JVM中存在着一个常量池,其中保存着很多的 ...

最新文章

  1. poj 2559 Largest Rectangle in a Histogram 栈
  2. Entity Framework ModelFirst尝试
  3. Atitit 常见每日流程日程日常工作.docx v4
  4. Spring Boot 定时任务
  5. 【Java】使用For和递归解决不死神兔问题,求第20个月兔子的对数
  6. 在线最大公因数计算器
  7. css只设置背景图片半透明,css 设置背景色或图片半透明的方法(图文)
  8. 手机屏幕坏了怎么把数据导出来_手机屏幕失灵怎么办 手机屏幕失灵解决办法【详解】...
  9. EBS API及接口
  10. word画流程图工具
  11. win7 计算机定时关机脚本,电脑设置定时关机的方法 win7系统怎么设置定时关机...
  12. matplotlib中添加水平线和垂直线
  13. 集中派发福利:《神秘的程序员们》年度大抽奖
  14. 基于FPGA的图像处理之幂律(伽马校正)变化
  15. AD根据已有的PCB封装链接至原理图
  16. 基础编程-学习网站-菜鸟教程
  17. 转载:软件天才与技术民工
  18. java四则运算代码_Java实现简单四则运算
  19. 7-1 求N分之一序列前N项和 (15 分)
  20. suse linux最新版本,SUSE Linux Enterprise Server 15正式版发布下载

热门文章

  1. html页面层级关系,CSS z-index 层级关系优先级的概念
  2. word2003流程图变成图片_Microsoft Office 2003(word2003)制作流程图的操作方法介绍
  3. bzoj 2144: 跳跳棋
  4. Windows 10 文件名太长 无法删除 复制 重命名
  5. 【2022研电赛】安谋科技企业命题一等奖:基于EAIDK-610的中国象棋机器人对弈系统
  6. QQ小程序内测邀请码内部获取群
  7. office 2017 (或2007)如何在方框里打钩 或 插入可打钩的方框
  8. 基于Select模型的匿名聊天室v1.0
  9. 学习《西方哲学史》摘录
  10. php支付宝的签名处理,PHP实现RSA签名生成订单功能【支付宝示例】