作业
来源:互联网 发布:阿苏拉捏脸数据 编辑:程序博客网 时间:2024/05/22 03:46
(1)数组的概念:
数组是一个变量,存储相同数据类型的一组数据的集合
数组是相同类型的数据按顺序组成的一种复合数据类型。通过数组名加数组下标,来使用数组中的数据。下标从 0 开始排序。
(2)特点:
数组一旦定义好就不可以修改长度,如果要修改就必须重新定义一个新数组或者引用其他的数组,因此数组的灵活性较差
. length来调用
(3)定义格式
A:数据类型 数组名[ ] ;
B:数据类型[ ] 数组名 ;
推荐是用A方式,B方法要能看懂
(4)一维数组的初始化
A:静态初始化:
举例:int arr[]=new int []
arr[]=new int []{1,2,3}
简化版:int arr[]= new int []{1,2,3}
错误写法:
B:动态初始化:
举例:
int[] arr= new int[5];
arr[0]=a; arr[1]=b;
arr[2]=c; arr[3]=d;
arr[4]=e;
错误写法:int arr[] = new int[5]
arr[1]=a; arr[2]=b;
arr[3]=c; arr[4]=d
arr[5]=e;
C:无论动态、还是静态初始化数组,一定在创建的时候,就指明了数组的长度
(5)如何引用数组元素:
数组的长度:通过 数组名[下标] 来调用
(6)如何遍历数组
int arr[]=newint[]{1,2,3,45,65,48,78,75,18};
for(int i=0;i<arr.length;i++){
System.out.println(arr[i]);
}
(7)Java的内存分配
A: 栈区
B: 堆区
C: 方法区
D: 静态域
画图:内存的基本结构
(8)数组内存图
一维数组的内存结构:画图,下面三段代码在内存中的结构
int[] scores = newint[4];
scores[0] = 89;
scores[3] = 90;
String[] strs1 =new String[]{“AA”,”BB”};
String[] strs =new String[4];
strs[0] ="AA";
strs[1] ="BB";
注意:
a:局部变量的概念:
b:栈内存和堆内存的区别
分别写出各类型变量的默认值
垃圾回收器的回收机制
(9)二维数组
A:声明并初始化
//一维:int arr[];
//动态int[] arr = newint[5];
arr[0]=a;
arr[1]=b;
arr[2]=c;
arr[3]=d;
arr[4]=e;
//静态int arr[]= new int []{1,2,3}
//二维://4行3列,数组长度为4,每个元素是一维数组,长度为3
//动态第一种
int arr[][] = {{1,2},{3,4,5},{7,8,9},{15,45}};
//动态第二种
int arr[][]=new int [4][3];
//静态初始化
int[ ][ ] score =new int[ ][ ] { {89, 79},{76,86},{59,68} };
B:如何引用二维数组的元素
用数组名[下标][下标]调用
C:二维数组的长度:
数组名.length 行长度
数组名[下标].length 列长度
D:遍历二维数组
int[][] a=newint [][]{{1,2,3},{1,5,7},{4,8,9}};
for(int i=0;i<a.length;i++){
for(int j=0;j<a[i].length;j++){
System.out.print(a[i][j]);
}
System.out.println();
}
E:
String[][] names;
names = newString[6][5];
String[][] names;
names = newString[2][];
names[0] = newString[5];
names[1] = newString[3];
int[][] i = new int[3][];
i[0] = new int[3];
i[1] = new int[2];
i[2] = new int[4];
i[1][0] = 90;
i[2][1] = 100;
数组的常见异常:
//1.数组下标越界的异常的代码举例
int a[]=new int[5];
a[0]=1;
a[1]=2;
a[2]=3;
a[3]=4;
a[4]=5;
System.out.println(a[6]);
//2.空指针的异常的代码举例
//第一种:
int a[]=new int[5];
a[0]=1;
a[1]=2;
a[2]=3;
System.out.println(a[4]);
//第二种:
boolean a[]=new boolean[5];
System.out.println(a[4]);
//第三种:
String a[]=new String[5];
System.out.println(a[4]);
(10)数组的常用算法
A:求数组元素的最大值、最小值、和、平均数,写出代码
B:数组的复制和反转:
A: int[] array1, array2;
array1 = new int[] { 2, 3, 5, 7, 11, 13,17, 19 };
array2 = array1;
B: int[]array1;
int[] array2;
array1 = new int[] { 2, 3, 5, 7, 11, 13,17, 19 };
array2 = new int[array1.length];
for (int i = 0; i < array2.length; i++){
array2[i] = array1[i];
}
for (int i = 0; i < array2.length; i++){
if (i % 2 == 0) {
array2[i] = i;
}
}
数组的反转:写出代码
int []array1 = new int[] { 2, 3, 5, 7, 11, 13, 17, 19 };
for(int i=0;i<array1.length/2;i++){
int temp =array1 [i];
array1 [i]=array1 [array1.length-1-i];
array1 [array1.length-1-i]=temp;
}
for(inti=0;i< array1.length;i++){
System.out.println(array1 [i]+”,”);
}
- 作业
- 作业
- 作业
- 作业
- 作业
- 作业
- 作业
- 作业
- 作业
- 作业
- 作业~~~~~~~~~~~~~
- 作业
- 作业
- 作业
- 作业
- 作业
- 作业
- 作业
- c#基本类型
- ubuntu常用命令及系统维护
- pwnable 之brainfuck
- 每次重启服务器tomcat开启时报错
- Web服务器压力测试工具http_load、webbench、ab、Siege使用教程
- 作业
- WiFi-ESP8266入门开发(三)-网页客户端
- 算法导论思考题14-2 Josephus permutation 约瑟夫排列
- slf4j和log4j的使用
- 005_深入理解句柄表及索引
- Cordova(PhoneGap)通过plugins调用Android Native并回调
- 电子罗盘的设计原理
- React Native调用原生UI组件
- android高仿今日头条 --新闻阅读器