JAVA基础_数组(一维数组)
一、数组的概述
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基础_数组(一维数组)相关推荐
- 小白自学笔记——JAVA基础 3.1 一维数组
名词解释 数组(Array),是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理. 数组的常见概念 数组名 下标(或索引) 元素 数组的长度 数组的特点 ...
- Java中大数据数组,Java基础学习笔记之数组详解
摘要:这篇Java开发技术栏目下的"Java基础学习笔记之数组详解",介绍的技术点是"java基础学习笔记.基础学习笔记.Java基础.数组详解.学习笔记.Java&qu ...
- 【C 语言】数组 ( 一维数组形参退化 | 二维数组形参退化 | 函数形参等价关系 )
文章目录 一.一维数组形参退化 二.二维数组形参退化 三.数组形参等价关系 一.一维数组形参退化 C 中将 一维数组 作为参数 , 传递到函数中 , 该 一维数组 会退化为 指针 ; 将 int ar ...
- c/c++教程 - 1.7 数组 一维数组 二维数组
九.数组 数组:一个里面存放了相同类型数据元素的集合. 特点:每个数组中的元素都是相同的数据类型:数组是由连续的内存位置组成的. 注意:数组的下标是从0开始索引. 参考视频:https://www.b ...
- c语言程序设计 实验五数组6,实验五 数组——一维数组.doc
实验五 数组--一维数组 淮海工学院计算机科学系实验报告书 课程名:< C语言程序设计教程> 题 目: 实验五 数组--一维数组 班 级: 学 号: 姓 名: 评语: 成绩: 指导教师: ...
- java基础_笔记(dos,java基础信息,final,static,abstract,接口,抽象类,数组,排序string,stringbuff/stringbuilder)
一,基础部分 1.1dos命令(也就是cmd命令) exit退出当前dos命令窗口 cls清屏 在dos中复制:直接复制 dir:显示子文件 cd改变目录,切换盘符的直接输入盘符不用cd,不可以跨盘符 ...
- Java基础+流程控制+方法+数组【笔记含代码】
文章目录 什么是计算机 计算机硬件 计算机软件 DOS命令 计算机语言发展史 第一代语言 第二代语言 第三代语言 Java帝国的诞生 C & C++ 反抗 Java初生 Java发展 Java ...
- java基础(十) 深入理解数组类型
戳上面的蓝字关注我们哦! 精彩内容 精选java等全套视频教程 精选java电子图书 大数据视频教程精选 java项目练习精选 1. 数组类简介 在java中,数组也是一种引用类型,即是一种类. ...
- Java基础2面向对象和数组
第四章 Java面向对象基础 4.1 面向过程和面向对象 面向过程(Procedure Oriented)和面向对象(Object Oriented,OO)都是对软件分析.设计和开发的一种思想,它指导 ...
- 【Java基础】字符串与数组
字符串创建于存储机制 字符串的声明和初始化的两种情形: 1. str1 = "abc"; str2 = "abc";在JVM中存在着一个常量池,其中保存着很多的 ...
最新文章
- poj 2559 Largest Rectangle in a Histogram 栈
- Entity Framework ModelFirst尝试
- Atitit 常见每日流程日程日常工作.docx v4
- Spring Boot 定时任务
- 【Java】使用For和递归解决不死神兔问题,求第20个月兔子的对数
- 在线最大公因数计算器
- css只设置背景图片半透明,css 设置背景色或图片半透明的方法(图文)
- 手机屏幕坏了怎么把数据导出来_手机屏幕失灵怎么办 手机屏幕失灵解决办法【详解】...
- EBS API及接口
- word画流程图工具
- win7 计算机定时关机脚本,电脑设置定时关机的方法 win7系统怎么设置定时关机...
- matplotlib中添加水平线和垂直线
- 集中派发福利:《神秘的程序员们》年度大抽奖
- 基于FPGA的图像处理之幂律(伽马校正)变化
- AD根据已有的PCB封装链接至原理图
- 基础编程-学习网站-菜鸟教程
- 转载:软件天才与技术民工
- java四则运算代码_Java实现简单四则运算
- 7-1 求N分之一序列前N项和 (15 分)
- suse linux最新版本,SUSE Linux Enterprise Server 15正式版发布下载
热门文章
- html页面层级关系,CSS z-index 层级关系优先级的概念
- word2003流程图变成图片_Microsoft Office 2003(word2003)制作流程图的操作方法介绍
- bzoj 2144: 跳跳棋
- Windows 10 文件名太长 无法删除 复制 重命名
- 【2022研电赛】安谋科技企业命题一等奖:基于EAIDK-610的中国象棋机器人对弈系统
- QQ小程序内测邀请码内部获取群
- office 2017 (或2007)如何在方框里打钩 或 插入可打钩的方框
- 基于Select模型的匿名聊天室v1.0
- 学习《西方哲学史》摘录
- php支付宝的签名处理,PHP实现RSA签名生成订单功能【支付宝示例】