c 可以做网站吗,网站页面设计工作流程,淘宝网站怎么做的好看,it运维体系文章目录 数组例子数组的使用数组的注意事项和细节练习数组赋值机制数组拷贝数组反转数组添加 排序冒泡排序 查找多维数组 - 二维数组二维数组的使用二维数组的遍历杨辉三角二维数组的使用细节和注意事项练习 开始每日一更#xff01;得加快速度了#xff01; 数组
数组可以… 文章目录 数组例子数组的使用数组的注意事项和细节练习数组赋值机制数组拷贝数组反转数组添加 排序冒泡排序 查找多维数组 - 二维数组二维数组的使用二维数组的遍历杨辉三角二维数组的使用细节和注意事项练习 开始每日一更得加快速度了 数组
数组可以存放多个同一类型的数据。数组也是一种数据类型是引用类型即数组就是一组数据
例子
一个养鸡场有6只鸡它们的体重分别是3kg5kg1kg3.4kg2kg50kg。请问这六只鸡的总体重是多少?平均体重是多少
数组的使用 使用方式1-动态初始化 数组的定义 数组类型 数组名[] new 数据类型[大小] (也可以)数组类型[] 数组名 new 数据类型[大小] int a[] new int[5]; //创建了一个数组名字为a存放5个int 说明这是定义数组的一种方法 数组的引用使用 数组名[下标/索引] 比如你要使用a数组的第3个数 a[2] 数组的下标从0开始 //第1种动态分配方式
double scores[] new double[5];例子循环输入5个成绩保存到double数组并输出 使用方式2-动态初始化 先声明数组 语法数据类型 数组名[]也可以 数据类型[] 数组名 int a[]; 或者 int[] a; 创建数组 语法数组名new 数据类型[大小] anew int[10]; //第2种动态分配方式
//先声明数组再 new 分配空间
double scores[];//声明数组这时 scores 是 null
scores new double[5];//分配内存空间可以存放数据使用方式3-静态初始化 初始化数组 语法数据类型 数组名[] {元素值,元素值…} int a[] {2,5,6,7,8,89,90,34,56}, 如果知道数组有多少元素具体值 上面的用法相当于int a[ ] new int[9]; a[0] 2; a[1] 5; a[2] 6; a[3] 7; a[4] 8; a[5] 89; a[6] 90; a[7] 34; a[8] 56;
数组的注意事项和细节 数组是多个相同类型数据的组合实现对这些数据的统一管理 数组中的元素可以是任何数据类型包括基本类型和引用类型但是不能混用 数组创建后如果没有赋值有默认值int 0, short 0, byte 0, long 0, float 0.0, double 0.0, char \u0000, boolean false, String null 使用数组的步骤1声明数组并开辟空间2给数组各个元素赋值3使用数组 数组的下标是从0开始的 数组的下标必须在指定范围内使用否则报下标越界异常 数组属引用类型数组型数据是对象
练习 创建一个char类型的26个元素的数组分别放置 ‘A’ - ‘Z’.使用for循环访问所有元素并打印出来。提示char类型数据运算’A’ 1 - ‘B’ 请求出一个数组int[]的最大值{4-191023}并得到对应的下标
数组赋值机制 基本数据类型赋值这个值就是具体的数据而且互相不影响。 数组在默认情况下是引用传递赋的值是地址。
数组拷贝
编写代码 实现数组拷贝内容复制将 int[] arr1 {10,20,30};拷贝到arr2数组要求数据空间是独立的
数组反转 把数组的元素内容反转arr{11,22,33,44,55,66} → {66,55,44,33,22,11} 方式1通过找规律反转 方式2使用逆序赋值的方式
数组添加
实现动态的给数组添加元素效果实现对数组扩容 原始数组使用静态分配 int[] arr {1,2,3}增加的元素直接放在数组的最后 arr {1,2,3,4} arrNew {1,2,3,4}用户可以通过如下方法来决定是否继续添加添加成功是否继续y/n
排序
排序是将多个数据依指定的顺序进行排列的过程。 内部排序 将需要处理的所有数据都加载到内部存储器中进行排序。包括交换式排序法、选择式排序法和插入式排序法 外部排序 数据量过大无法全部加载到内存中需要借助外部存储进行排序。包括合并排序法和直接合并排序法
冒泡排序 通过对待排序序列从后向前从下标较大的元素开始依次比较相邻元素的值若发现逆序则交换使值较大的元素逐渐从前移向后部就像水底下的气泡一样逐渐向上冒。 冒泡排序的特点 一共有5个元素 一共进行了4轮排序可以看成是外层循环 每1轮排序可以确定一个数的位置比如第1轮排序确定最大数第2轮排序确定第2大的数的位置依次类推 当进行比较时如果前面的数大于后面的数就交换 每轮比较在减少4 -3 - 2 - 1
查找 顺序查找 有一个数列白眉鹰王、金毛狮王、紫衫龙王、青翼蝠王猜数游戏从键盘中任意输入一个名称判断数列中是否包含名称 要求如果找到了就提示找到并给出下标值 二分查找二分法放在后面的算法中讲解
多维数组 - 二维数组
二维数组的应用场景比如开发一个五子棋游戏棋盘就是需要二维数组来表示
二维数组的使用 使用方式1动态初始化 语法类型[][] [] [] 数组名 new 类型[大小] [大小] //第一个大小表示它包含几个一维数组第二个大小表示每一个一维数组它的大小是多少 比如int a[] [] new int[2] [3] 使用演示 二维数组在内存的存在形式 使用方式2动态初始化 先声明类型 数组名[] [] ; 再定义开辟空间数组名 new 类型 [大小] [大小] int arr[][];//声明二维数组
arr new int[2][3];//再开空间赋值有默认值比如int 类型的就是0 使用演示 使用方式3动态初始化 - 列数不确定 使用方式4静态初始化 定义 类型 数组名[] [] {{值1, 值2 …}, {值1, 值2 …}, {值1, 值2 …}} 使用即可 [固定方式访问] int[][] arr {{1,1,1},{8,8,9},100};
//1.定义了一个二维数组arr
//2.arr有三个元素每个元素都是一维数组
//3.第一个一维数组有3个元素第二个一维数组有3个元素第三个一维数组有1个元素二维数组的遍历
例子int arr[] [] {{4,6},{1,4,5,7},{-2}};遍历该二维数组并得到和
杨辉三角 第一行有1个元素第n行有n个元素 每一行的第一个元素和最后一个元素都是1 从第三行开始对于非第一个元素和最后一个元素的元素的值,arr[i] [j] arr[i] [j] arr[i-1] [j] arr[i-1] [j-1]
二维数组的使用细节和注意事项 一维数组的声明方式有 int[] x 或者 int x[]二维数组的声明方式有 int[][] y 或者 int[] y[] 或者 int y[][]二维数组实际上是由多个一维数组组成的它的各个一维数组的长度可以相同也可以不相同。比如map[] []是一个二维数组map[] [] {{1,2},{3,4,5}}由map[0]是一个含有两个元素的一维数组map[1]是一个含有三个元素的一维数组构成我们也称为列数不等的二维数组。
练习 2.
A. 错误char - String
B. 正确
C. 把 new String去掉就对了
D. 正确
E. 错误 new String[]里面不能有具体的数字 bar[0]默认falsebar[1]也是false所以最后结果是blue 结果是1 3 5 7 public class lianxierweishuzu{public static void main(String[] args){int[] arr new int[10];//(int)(Math.random() * 100) 1 生产 随机数 1-100for(int i 0; i arr.length; i ){arr[i] (int)(Math.random() * 100) 1;}System.out.println(arr的元素情况);for(int i 0; i arr.length; i ){System.out.print(arr[i] \t);}System.out.println(\narr的元素情况(倒序));for(int i arr.length - 1; i 0; i --){System.out.print(arr[i] \t);}double sum arr[0];int max arr[0];int maxIndex 0;for(int i 1; i arr.length; i ){sum arr[i];//累积和if(max arr[i]){//说明max不是最大值就变化max arr[i];maxIndex i;}}System.out.println(\nmax max maxIndex maxIndex);System.out.println(\n平均值 (sum / arr.length));//查找数组中是否有8 - 使用顺序查找int findNum 8;int index -1;//如果找到就把下标记录到indexfor(int i 0; i arr.length; i ){if(findNum arr[i]){System.out.println(找到数 findNum 下标 i);index i;break;}}if(index -1){System.out.println(没有找到数 findNum);}}
}最后结果a a
z z
韩 韩
c c