Java_数组
来源:互联网 发布:mac打开appstore好慢 编辑:程序博客网 时间:2024/06/11 12:17
数组
1.数组的概念:数组是一种数据结构,用于存储同一类型的容器。它可以自动给存入的元素从0开始编号,然后通过一个整型下标可以访问数组中的每一个值(核心思想:基于角标)。数组的长度是固定的,一旦创建就不可改变
2.数组的定义:
1)元素类型[ ] 数组变量名 = new 元素类型[数组元素个数或长度]。例如:int[] a = new int[10];
2)元素类型[ ] 数组变量名 = new {1,3,5,7,9};//可以直接指定具体数据
3.数组的内存结构:
Java数组是静态的,一旦数组初始化完成,数组元素的内存空间分配结束,程序就只能改变元素的值而无法改变数组的长度。
例如:int [ ] a = new [5];
4.数组常见的问题
1)ArrayIndexOutOfBoundsException:角标越界异常,角标不存在的时候引发的程序异常。
2)NullPointerException:空指针异常,当引用没有任何指向值为null的情况,该引用还在用于操作实体。
5.数组的常见操作:
1.获取数组元素 2.获取数组元素的最值 3.对数组排序(常见的:选择排序,冒泡排序,)4.查找(二分查找,针对有序)
获取数组元素:
获取元素最值:
对数组排序(选择排序,冒泡排序)
查找:二分查找(前题是数组是有序的)
现实开发中我们就不用每个功能都自己定义,Java给我们提供了数组工具类,他包含了我们经常对数组操作的各种方法,例如:
1:排序 Arrays.sort(arr);
2:二分查找: Arrays.binarySearch(arr,key)
如果key在数组中,则返回key的角标,否则返回(-(插入点) - 1)。
3:toString:Arrays.to string(arr),返回数组的字符串形式。
利用数组,我们还可以实现一些功能,例如:查表法
我们只要输入数字,就能将数字变成大写打印出来
public static void toChar(String str) {
//定义要查的表
char[] chs = {'零','一','二','三','四','五','六','七','八','九'};
//将字符串转换成字符数组
char[] arr = str.toCharArray();
for (int i = 0; i < arr.length; i++) {
//将单个字符的AScII码值转换成字符串,在用Integer对象的parseInt转换成数字
//这个数字就是要查的数字在表中的角标
int index = Integer.parseInt(new String(new char[]{arr[i]}));
System.out.print(chs[index]);
}
//定义要查的表
char[] chs = {'零','一','二','三','四','五','六','七','八','九'};
//将字符串转换成字符数组
char[] arr = str.toCharArray();
for (int i = 0; i < arr.length; i++) {
//将单个字符的AScII码值转换成字符串,在用Integer对象的parseInt转换成数字
//这个数字就是要查的数字在表中的角标
int index = Integer.parseInt(new String(new char[]{arr[i]}));
System.out.print(chs[index]);
}
0 0
- java_数组
- Java_数组
- Java_数组
- Java_数组操作
- Java_输入一个数组
- JAVA_数组排序方法
- Java_数组_基本概念
- java_程序结构、数组
- Java_数组概述
- Java_数组续集
- 笔记10:java_数组
- JAVA_二维数组
- java_之数组(Collection--List)
- Java_数组操作_排序
- Java_数组操作_反转
- Java_关于数组的小结
- java_数组声明、创建、初始化,对象数组
- Java_判断一个数组是否为空
- P27,5
- Android基础笔记(十四)- 内容提供者读取联系人
- 通达OA 小飞鱼工作流在线培训教程(一)HTML基础介绍
- P27,6
- Spark:一个高效的分布式计算系统
- Java_数组
- 等额度本息还款法计算公式
- 转载整理:求数组的全排列
- python日志输出
- ListView选中后错位问题及解决方案(含单选和多选)
- 算法设计中的贪心算法初识
- NYOJ308 Substring (DP)
- wampservice怎么连接到自己安装的数据库(mysql)
- Unity3D下修改Polygon Collider 2D