房上的猫:数组
一.数组: 1.定义: (1)数组就是一个变量,用于将相同数据类型的数据储存在内存中 (2)数组中的每一个数据元素都属于统一数据类型 2.基本要素: (1)标识符: 和变量一样,在计算机中,数组也要有一个名称,称为标识符,用于区分不同的数组 (2)数组元素: 当给出数组名称,即数组标识符后,要向数组中存放数据,这些数据就称为数组元素 (3)数组下标: 在数组中为了正确地得到数组的元素,需要对它们进行编号,这样计算机才能去存取,这个编号就称为数组下标 (4)元素类型: 存储在数组中的数组元素应该是同一数据类型 3.总结: (1)数组只有一个名称,即标识符 (2)数组元素在数组里顺序排列编号,该编号即为数组下标 (3)数组中的每个元素都可以通过下标来访问 (4)数组的大小(长度)是数组可容纳元素的最大数量, >定义一个数组的同时也定义了它的大小 >如果数组已满但是还继续向数组中存储数据的话,程序就会出错,这称为数组越界 4.使用数组步骤与语法: (1)声明数组: 数据类型[] 数组名; 或者 数据类型 数组名[]; (2)分配空间: 数组名 = new 数据类型[数组长度]; 合并:数据类型[] 数组名 = new 数据类型[数组长度]; (3)赋值: 数组名[下标值]; 数据类型[] 数组名 = {值1,值2,值3,......,值n}; (4)对数据进行处理: 注:数组一经创建,其长度(数组中包含元素的数目)是不可改变的,如果越界访问(即数组下标超过0至数组长度-1的范围),程序会报错 因此,当我们需要使用数组长度时,一般用"数组名.length;"方式 5.常见错误: (1)数组下标 数组下标从0开始,而不是从1开始 (2)数组访问越界 如果访问数组元素时指定的下标小于0,或者大于等于数组的长度,都会出现数组下标越界异常 (3)排错方法: 增加数组长度或删除超出数组下标范围的语句 6.数组的排序: 语法: Arrays.sort(数组名); 对数组进行升序排序(从小到大) 拓展:Arrays.toString();在输出语句内输出整个数组 7.数组的插入算法(难点): (1)定义一个长度为原数组长度+1的数组 (2)将旧数组的值赋值给新数组 (3)找到新增值的插入位置 (4)元素后移(倒着移,将前一位赋值给后一位)空出要插入的位置 (5)给要插入的位置(已空出)赋值
二.演示:
public class Job_010 {
public static void main(String[] args) {
Scanner bdqn = new Scanner(System.in);
String[] a = new String[] { "Island", "Ocean", "Pretty", "Sun" };
System.out.print("插入前的数组为:");
for (int i = 0; i < a.length; i++) {
System.out.print(a[i] + "t");
}
System.out.print("n请输入歌曲名称:");
String b = bdqn.next();
String[] newa = new String[a.length + 1];
for (int j = 0; j < a.length; j++) {
newa[j] = a[j];
}
newa[newa.length - 1] = b;
Arrays.sort(newa);
System.out.print("插入后的数组为:");
for (int t = 0; t < newa.length; t++) {
System.out.print(newa[t] + "t");
}
}
}
演示结果:
- 【Python环境】可爱的 Python: 自然语言工具包入门
- 电脑静音工作,又听不到12306的来票音乐,纠结啊 !但春节前工作多任务重,不能安心工作,就动手做个“无声购票弹窗”工具吧!
- .net访问PostgreSQL数据库发生“找不到函数名”的问题追踪
- “领域驱动开发”实例之旅(1)--不一样的开发模式 一、分析业务需求。 二、设计领域对象模型 三、测试领域对象模型 四、设计业务处理类 五、设计Entity和Vi
- Java基础——左移和右移
- 【Python环境】利用 Python、SciKit 和文本分类来实现行为分析
- LJMM平台( Linux +Jexus+MySQL+mono) 上使用MySQL的简单总结
- 判断两个单链表是否相交(有环、无环两种)
- 【数据科学家】SparkR:数据科学家的新利器
- KMP算法浅析
- Bug修复问题
- Java基础——IO流
- 来一点反射和Emit,让ORM的使用极度简化
- Java基础——集合框架
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- ceph分布式存储-集群客户端连接
- rbd image找到对应osd位置
- CephFS 文件布局性能测试对比
- MySQL 8.0 新特性:极速“备份恢复工具”,Clone 插件
- CephFS 介绍及使用经验分享
- CephFS源码分析
- linux cache介绍及控制
- Lustre文件系统安装
- Lustre参数调整
- samba源码安装及调试
- 设计模式实战-状态模式,让代码更清爽简洁
- 改善深层神经网络——吴恩达深度学习课程笔记(二)
- Spring Boot 监听 Redis Key 失效事件实现定时任务,超时订单自动关闭绝佳实现
- TensorFlow的核心概念:张量和计算图
- 四连问:API 接口应该如何设计?如何保证安全?如何签名?如何防重?