java 基础学习------第四章数组的学习
来源:互联网 发布:淘宝教学课程在哪里 编辑:程序博客网 时间:2024/05/22 04:55
第四章数组
目录
一维数组声明 数组元素的引用 数组元素的默认初始化 创建数组 数组初始化 多维数组 多维数组初始化
数组排序
数组的概述:
数组是多个相同类型数据的组合,实现对这些数据的统一管理。
数组中的元素可以是任何数据类型,包括基本类型和引用类型
数组属于引用类型,可以理解为对象(),数组中的每个元素相当于该对象的成员变量
一维数组的声明:
方式:类型 数组名[] 或 类型[] 数组名;
注意:这两种定义做完之后,数组中是没有元素值的;
数组初始化(动态初始化和静态初始化)
java中的数组必须先初始化,然后才能使用
所谓初始化: 就是为数组中的数组元素分配内存空间,并未每个数组云元素赋值
使用new关键字创建数组对象,完成静态初始化或动态初始化
java中可以使用关键字new创建数组对象,完成初始化或动态初始化
静态初始化
静态初始化:初始化时指定每个数组元素的初始值,由系统决定数组长度
格式:
数组类型[] 数组名 = new 数据类型[]{元素1,元素2,...};
举例:int[] arr = new int[]{1,2,3};
解释:定义了一个int类型的数组,这个数组中可以存放3个int类型的值,并且分别
是1,2,3.
简化写法:int[] arr = {1,2,3};
动态初始化
动态初始化:初始化时只指定数组长度,由系统为数组分配初始值
数组长度其实就是数组中元素的个数
eg: int[] arr=new int[3];
解释:定义一个int类型的数组,这个数组可以存放3个int类型的值
输出数组中元素的值
定义并用运算符new 为之分配空间后,才可以引用数组中的某个元素;
每个数组都有一个属性length指定它 的长度,例如:a.length指明数组 a 的长
度(元素个数)
数组名和编号的配合就可以获取数组中的指定编号的元素。这个编号的专业叫法
:索引(下标)
数组元素的引用方式:数组名[数组元素下标]
数组元素下标可以是整形常量或整形表达式。如:a[3],b[i],a[6*i]
数组元素下标从0开始;长度为n的数组合法下标取值范围:0至n-1
数组元素的默认初始化
数组是引用类型,它的元素相当于类的成员变量,因此为数组分配空间后,其中
的每个元素也被按照成员变量同样的方式被隐式初始化。例如:
byte short int long 默认值为0
float double 默认值为0
char 默认值为0
boolean 默认值为0
string(引用类型) 类 null
给数组中元素赋值
数组名[下标] = 值(表达式)
注意:
int[] a = new int[]; new 的时候就要分配内存,不指定就不知道分配多少
数组一旦初始化,长度不可变。长度确定下来了
int[]{1,2,3};也可以
int[] a
a={1,2,3};//错误
数组常见问题
数组索引越界:
ArrauIndexOutOfBoundsException
访问到了数组中的不存在的索引时发生
空指针异常
NullPointerException
数组引用没有指向实体,却在操作实体中的元素时
数组的遍历
public abstract class Test06 {
public static void main(String[] args) {
//数组的遍历
//方式一:for 循环
int[] a={2,4,6,8,10};
for(int i = 0;i<a.length;i++){
System.out.println(a[i]);
}
//方式二: 增强for循环
for(int x:a){
System.out.println(x);
}
String[] arr1 ={"张三","李四","王五","赵六"};
for(String s :arr1){
System.out.println(s);
}
}
}
冒泡排序
什么是冒泡排序
冒泡排序算法的得名是由于数值“像气泡一样”从序列的一端浮动到另一端
冒泡排序原理
比较相邻的元素,如果第一个比第二个大,就交换他们两个
对美一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后
的元素赢i回事最大的数
针对所有的元素重复以上的步骤,除了最后一个
持续每次对越来越少的元素重复上面的步骤,知道没有任何一对数字需要比较
多维数组
public class DuoWei01 {
public static void main(String[] args) {
//二维数组
int[] arr = {1,2,3,4};
int [][] arr1 = {{1,2,3,4},{1,2},{1,3}};
//二维数组的长度是行
//初始化的时候必须指定
int[] arr2 = new int[4];
int[][] arr3 = new int[3][];
arr3[0] = new int[5];
arr3[1] = new int[3];
arr3[2] = new int[4];
System.out.println(arr1.length);//打印的是二维数组arr1中数组的
个数
System.out.println(arr1[0].length);//打印的是二维数组arr1的中数
组{1,2,3,4}的长度
for(int i=0;i<arr1.length;i++){
for(int j=0;j<arr1[i].length;j++){
System.out.println(arr1[i][j]+"\t");
}
System.out.println();
}
}
}
多维数组初始化
静态初始化;
int intArray[][] = {{1,2}{2,3}{3,4,5}};
int intArray[3][2] = {{1,2}{2,3}{4,5}};//错误,等号左边不能指定维数
动态初始化
int a[][] = new int[4][5];
int b[][] = new int[3][]
b[0] = new int[2];
b[1] = new int[3];
b[2] = new int[5];
- java 基础学习------第四章数组的学习
- JAVA基础第四天学习日记_数组
- 黑马程序员--Java基础学习(数组)第四天
- JAVASE学习笔记:第四章 JAVA数组
- Java学习第四天:数组
- JAVA学习第四课(数组)
- JAVA学习第四课(数组)
- Java基础学习第四天
- Java基础学习第四天
- JAVA基础学习第四天
- java基础学习-数组
- 第四章 C++ 数组学习
- Java学习第四章
- Java 学习第四章之流程控制和数组
- JAVA基础学习(四)---数组的操作
- 集合 java基础学习笔记 第四天
- 学习java的第四天
- 基础学习第四弹
- HTTP POST GET 本质区别详解
- 总结ASP.NET MVC Web Application中将数据显示到View中的几种方式
- 面试题21:包含min函数的栈
- code[vs]1026 逃跑的拉尔夫(bfs+判重)
- 一些编程中遇到的概念回顾
- java 基础学习------第四章数组的学习
- 搞定Gson泛型封装
- Linux操作系统安装ELK stack日志管理系统--(1)Logstash和Filebeat的安装与使用
- 75. Sort Colors--荷兰三色国旗问题
- 机器学习算法与Python实践之(二)支持向量机(SVM)初级
- 接口测试七(cache)
- iOS基础——通过案例学知识之xib、plist、mvc
- 6. GC 调优(工具篇)
- 如何使用HTML5新增标签(二)