码迷,mamicode.com
首页 > 编程语言 > 详细

开课吧JavaEE-第二章第5节 数组

时间:2021-06-16 17:50:54      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:三目运算符   数组下标   使用   常用   二分查找   三目运算   null   如何   方式   

第二章第5节

数组

1 创建数组的格式

常用格式1(创建数组的同时,指定数组中的内容):

? 数据类型[] 数组名称 = {数据1,数据2,数据3...数据n};

? int[] ages = {10,11,12,13,14};

常用格式2(创建数组,并指定长度,不指定数组中的内容):

? 数据类型[] 数组名称 = new 数据类型[数组长度]

? 数组长度通过int数据指定

? int[] ages2 = new int[10];

2 通过下标操作数组数据的方式

1、给数组某个下标赋值: 数组名称[下标] = 值;

? ages[0] = 100;

2、从数组某个下标取值:数组名称[下标]

3 如何获取数组的长度:数组名称.length

数组的遍历:

for(int index=0;index<ages.length;index++){

? System.out.println(ages[index]);

}

4 数组不常用的创建方式

1、创建数组,不初始化

格式:数据类型[] 数组名;

int[] nums;

nums = new int[];

2、创建数组,并指定数组中的内容

格式:数据类型[] 数组名称 = new 数据类型[]{内容1,内容2...内容n};

int[] ages = new int[]{11,12,13,14};

5 数组常见问题

1、数组下标越界问题:

int [] nums = {10,11,12,13,14};

System.out.println(nums[4]);//正确

System.out.println(nums[5]);//错误

出现这种问题后,程序会直接崩溃,后面的程序不会运行

2、空指针问题

int[] nums = null;

System.out.println(nums[1]);//错误NullPointerExcenptrion

数组未定义时,默认值为null

6 数组常用算法

寻找最大值或最小值

1、创建一个变量,用于存储遍历数组时发现的最大值

int n = nums[0];//此处建议把初始值设置为数组的第一个值

再使用for循环和三目运算符

冒泡排序

原理:比较相邻的数据,如果第二个比第二个大,就交换二者。一组比较完后,会把最大的放在最上面。针对所有元素重复上述步骤。

比较的轮数:数组长度-1

第n轮:比较数组长度-n次(轮数)

升序:两两相比小靠前

降序:两两相比大靠前

使用for循环实现冒泡排序:

外层循环控制:比较的轮数

外层循环次数:length-1

内层循环控制的是:每轮比较的次数

第n轮(n从0开始计算),比较次数为length-n-1

使用if语句,两两相比,满足移动条件

二分查找(折半查找)

原理:假设数组中元素是按升序排列(数组必须是有序的),将数组中间位置的数据和查找的数组比较。如果两者相等,则查找成功。否则利用中间位置记录记录将数组分成前后两个子数组。如果中间位置的数据大于查找数据,则进一步查找前紫薯卷,否则进一步查找后紫数据。

7 多维数组

创建格式:

? 数据类型[] 数组名 = new 数据类型[长度];

int[][] 二位数组名称 = new int[长度][];

开课吧JavaEE-第二章第5节 数组

标签:三目运算符   数组下标   使用   常用   二分查找   三目运算   null   如何   方式   

原文地址:https://www.cnblogs.com/zcyty/p/14887383.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!