黑马程序员@数组及对数组的操作

来源:互联网 发布:转运公司知乎 编辑:程序博客网 时间:2024/05/18 02:33
1.Java语言基础(数组概述和定义格式说明)
A:数组概念
数组是存储同一种数据类型多个元素的集合。也可以看成是一个容器。
数组既可以存储基本数据类型,也可以存储引用数据类型。


B:数组定义格式
数据类型[] 数组名 = new 数据类型[数组的长度];
2.Java语言基础(数组的初始化动态初始化)
A:什么是数组的初始化
就是为数组开辟连续的内存空间,并为每个数组元素赋予值 
B:如何对数组进行初始化
a:动态初始化 只指定长度,由系统给出初始化值
int[] arr = new int[5];
b:静态初始化 给出初始化值,由系统决定长度
C:动态初始化的格式:
数据类型[] 数组名 = new 数据类型[数组长度];


2.Java语言基础(Java中的内存分配以及栈和堆的区别)
A:栈(掌握)
存储局部变量 
B:堆(掌握)
存储new出来的数组或对象 
C:方法区
面向对象部分讲解 
D:本地方法区




3.Java语言基础(数组的初始化静态初始化及内存图)
A:静态初始化的格式:
格式:数据类型[] 数组名 = new 数据类型[]{元素1,元素2,…};
简化格式:
数据类型[] 数组名 = {元素1,元素2,…};
B:案例演示
对数组的解释
输出数组名称和数组元素


4.Java语言基础(数组操作的两个常见小问题越界和空指针)
A:案例演示
a:ArrayIndexOutOfBoundsException:数组索引越界异常
原因:你访问了不存在的索引。
b:NullPointerException:空指针异常
原因:数组已经不在指向堆内存了。而你还用数组名去访问元素。
int[] arr = {1,2,3};
arr = null;
System.out.println(arr[0]);


4.Java语言基础(数组的操作1遍历)(掌握)
A:案例演示
数组遍历:就是依次输出数组中的每一个元素。
数组的属性:arr.length数组的长度
数组的最大索引:arr.length - 1;
 
public static void print(int[] arr) {
for (int i = 0;i < arr.length ;i++ ) {
System.out.print(arr[i] + " ");
}
}


5.Java语言基础(数组的操作2获取最值)
A:案例演示
数组获取最值(获取数组中的最大值最小值)

public static int getMax(int[] arr) {
int max = arr[0];
for (int i = 1;i < arr.length ;i++ ) {//从数组的第二个元素开始遍历
if (max < arr[i]) {//如果max记录的值小于的数组中的元素
max = arr[i]; //max记录住较大的
}
}

return max;
}
6.语言基础(数组的操作3反转)
A:案例演示
数组元素反转(就是把元素对调)

public static void reverseArray(int[] arr) {
for (int i = 0;i < arr.length / 2 ; i++) {
//arr[0]和arr[arr.length-1-0]交换
//arr[1]和arr[arr.length-1-1]交换
//arr[2]和arr[arr.lentth-1-2]
//...

int temp = arr[i];
arr[i] = arr[arr.length-1-i];
arr[arr.length-1-i] = temp;
}
}




7.Java语言基础(数组的操作5基本查找)
A:案例演示
数组元素查找(查找指定元素第一次在数组中出现的索引)

public static int getIndex(int[] arr,int value) {
for (int i = 0;i < arr.length ;i++ ) {//数组的遍历
if (arr[i] == value) {//如果数组中的元素与查找的元素匹配
return i;
}
}
return -1;



8.Java语言基础(二维数组概述和格式1的讲解)
A:二维数组概述
B:二维数组格式1
int[][] arr = new int[3][2]; 
C:二维数组格式1的解释
D:注意事项
a:以下格式也可以表示二维数组
1:数据类型 数组名[][] = new 数据类型[m][n];
2:数据类型[] 数组名[] = new 数据类型[m][n];
B:注意下面定义的区别
 
int x;
int y;
int x,y;

int[] x;
int[] y[];

int[] x,y[]; x是一维数组,y是二维数组


A:二维数组格式2
int[][] arr = new int[3][]; 




9.Java语言基础(二维数组练习1遍历)
A:案例演示
需求:二维数组遍历


外循环控制的是二维数组的长度,其实就是一维数组的个数。
内循环控制的是一维数组的长度。


int[][] arr = {{1,2,3},{4,5},{6,7,8,9}};

for (int i = 0;i < arr.length ;i++ ) {//获取到每个二维数组中的一维数组
for (int j = 0;j < arr[i].length ;j++ ) {//获取每个一维数组中的元素
System.out.print(arr[i][j] + " ");
}

System.out.println();
}
10.Java语言基础(二维数组练习2求和)
A:案例演示

需求:公司年销售额求和
某公司按照季度和月份统计的数据如下:单位(万元)
第一季度:22,66,44
第二季度:77,33,88
第三季度:25,45,65
第四季度:11,66,99

int[][] arr = {{22,66,44},{77,33,88},{25,45,65},{11,66,99}};


int sum = 0; //定义变量,记录每次相加的结果
for (int i = 0;i < arr.length ;i++ ) {//获取每一个一维数组
for (int j = 0;j < arr[i].length ;j++ ) {//获取每一个一维数组中的元素
sum = sum + arr[i][j];//累加
}
}


System.out.println(sum);
1 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 qq被盗绑定了别人的银行卡怎么办 如何更改微信支付密码忘记了怎么办 微信钱包没绑银行卡忘记密码怎么办 微信密码忘记了也没绑银行卡怎么办 微信支付密码忘记了没银行卡怎么办 想找回原来的k歌忘了密码怎么办 手机微信钱包支付密码忘了怎么办 微信支付账户被注销了怎么办 微信钱包密码忘了怎么办没绑银行卡 微信钱包密码忘了怎么办不用银行卡 企业网银密码输入三次错误怎么办 微信密码不知道手机也停用了怎么办 手机停用微信密码不记得了怎么办 农商银行登入密码忘记了怎么办 苹果手机忘记四位数解锁密码怎么办 银行卡用支付宝支付限额了怎么办 用银行卡号找回微信被盗密码怎么办 微信钱包密码错误被锁定怎么办 本人没玩财付通结果被扣了钱怎么办 我的银行卡给支付宝充不了钱怎么办 支付宝话费充错了怎么办啊 已充值成功送朋友话费不能送怎么办 微信绑定银行卡被盗刷q币怎么办 微信红包过了24小时没退回怎么办 微信6.67版本红包发错了怎么办 苹果6s还原后激活出错怎么办 q币充给了不存在的账号怎么办 怎么办微信的钱换成淘宝币 学信网密码密保手机号都忘了怎么办 第五人格玩游戏时总是闪退怎么办 qq安全中心密保手机换了怎么办 微信冻结账号绑定了银行卡怎么办 扣扣红包密码是支付密码忘了怎么办 红包退回通知不小心删除了怎么办 QQ炫舞金币充错账号怎么办 晋江的小说用晋江币买不了是怎么办 中国银行储蓄不能充值支付宝怎么办 微信怎么改银行卡密码忘记了怎么办 微信号手机号码换了密码忘了怎么办 微信被盗密码被改绑定手机号怎么办 微信qq号登陆改密码忘记了怎么办