今天开始学习java第三章,主要学习数组。
数组是相同数据类型元素的集合(一个数组中可以储存多个值)。
数组本身是引用数据类型,即对象。但是数组可以存储基本数据类型, 也可以存储引用数据类型。
数组内部可以划分多个空间,且这些空间是连续的,一旦空间数确定,就不能改。
java中的数组是引用类型,属于对象。
数组中可以存储基本类型,也可以存储引用类型,取决于声明数组时,可以存储的数据类型。
• 数据类型 [ ] 数组名字 例如:int [ ] a; (建议使用第一种)
• 数据类型 数组的名字 [ ] 例如: int a [ ];
//int x,y,z; //int a,d[];//a是整数,d是数组 //int [] b,c;//b,c都表示数组
● 声明数组的同时,根据指定的长度分配内存,但数组中元素值都为默认 的初始化值 int[] ary0 = new int[10];
● 声明数组并分配内存,同时将其初始化 int[] ary1 = new int[]{1, 2, 3, 4, 5};
● 与前一种方式相同,仅仅只是语法相对简略 int[] ary2 = {1, 2, 3, 4, 5};
从另一个角度,数组创建可以分为动态和静态两种 • 动态创建数组(没有为元素赋值,可以结合for循环进行赋值) char[] chAry = new char[10];
静态创建数组,在创建的时候,即为每个元素赋初值 int[] ary1 = new int[]{1, 2, 3, 4, 5};
● 数组的长度:length属性 int [] b1 = new int []{1,2,3,4,5,6,7}; System.out.println(b1.length);
数组元素的访问: • 数组名字[索引]
例如:a[0],a[1];
数组在创建之初,会给每个空间分配编号(索引/下标)
通过编号可以对某个空间进行访问,
索引(编号)特点:
整数(int)
从0开始
最大的索引 数组长度-1;
数组迭代的两种方式:
第一种:for循环
int [] b1 = new int []{1,2,3,4,5,6,7};
数组的迭代
for(int i =0;i System.out.println(b1[i]); } 第二种:增强for循环 int [] b1 = new int []{1,2,3,4,5,6,7}; for(数组元素的类型 临时变量名字 :数组的名字){ System.out.println(临时变量名字 ); } 即: for(int x:b1){ System.out.println(x); } 冒泡排序: 例如:下面5,4,3,2,1这个数组变为1,2,3,4,5排序需要比较五次 5,4,3,2,1 假设第一个元素最大值,与之后的每一个位置上的元素进行比较,满足条件交换位置 例如:还是上面5,4,3,2,1这个数组 ●二维数组的定义: 数组的数组---二维数组的每一个元素是一个一维数组 例如: int [ ][ ]a = {{1,2,3},{1,2,3},{1,2,3}}; ●二维数组的声明: int [ ][ ] a; int a2[ ][ ]; ● 数组创建 int [ ][ ]a = new int[ ][ ]{{1,2,3},{1,2,3},{1,2,3}}; int [ ] [ ] b = {{1,2,3},{1,2,3},{1,2,3}}; int [ ][ ] c = new int[3][5]; int[ ][ ] arr = new int[3][5];定义了一个整型的二维数组 ,这个二维数组有3 个一维数组,每一个一维数组包含5个元素. int [ ][ ] b1 = new int [ ][ ]{{1,2},{3,4}}; for(int i =0;i
for(int j =0;j System.out.println(b1[i][j]); } } 之后我会更新一个用数组做的五子棋小游戏,加油加油!a: 需要遍历的数组
int t: 声明一个变量
每循环一次,从数组中取出一个元素,赋给变量t,进入到循环体,重复操作,直到数组中元素遍历完成.
冒泡排序和选择排序
冒泡排序
每一次取出相邻的两个元素进行比较,把较大的值向后移动
debug调试
1.设置断点 开始调试程序的位置
2.启动时使用debug模式运行程序
3.调试按键
4 3 2 1 5
3 2 1 4 5
2 1 3 4 5
1 2 3 4 5public class Sort1 {
public static void main(String[] args) {
int[] a = {5,4,3,2,1};
for (int i = 0; i < a.length-1; i++) {//控制循环次数
for (int j = 0; j
选择排序
public class Sort2 {
public static void main(String[] args) {
/*
选择排序
假设第一个元素最大值,与之后的每一个位置上的元素进行比较,满足条件交换位置
*/
int[] a = {5,4,3,2,1};
// i=0
for (int i = 0; i
二维数组
总结