0115 java 数组
1、continue:结束本次循环 进入下一次循环
break:结束整个循环:若只在内层循环中加break ,只结束内层循环,若也想结束外层循环,则需要在外层循环加一个标记
例:
aaa:for(int i=0;i<5;i++){
for(int j=0;j<4;j++){
if(j==2){
break aaa;
}
System.out.print("*");
}
System.out.println();
}
内存的划分:(1):寄存器 (2)方法栈 (3):栈 (4):堆 (5):方法和数据共享区
栈:所有方法进入的地方
堆:对象和容器进入的地方
方法和数据共享区:所有class进入的地方
流程:
2、数组定义
(1)方法一:数据类型【】数组名=new 数据类型【数组长度】
例:
double[] arr=new double[5];
存值
arr[0]=1.2;
arr[1]=2.4;
arr[3]=3.6;
取值
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
System.out.println(arr[3]);
System.out.println(arr[4]);
System.out.println(arr);
数组长度
System.out.println(arr.length);
for (int i=0;i<arr.length ;i++ )
{
System.out.println(arr[i]);
}
(2)方法2:数据类型【】数组名=new 数据类型【】{元素1,元素2,......};
例:
int[] arr=new int[]{2,6,4,5,9,3};
遍历
for(int i=0;i<arr.length;i++){
System.out.println(arr[i]);
}
(3)方法3:数据类型【】数组名={元素1,元素2,......}
例:
String[] arr2={"小黑","小红","小吧","小白","效率"};
遍历
for(int j=0;j<arr2.length;j++){
System.out.println(arr2[j]);
}
3、数组常见问题
数组越界异常:访问了不存在的下标
空指针异常:当你用null值 访问方法或者访问数据的时候:当你给这个数组赋值为null(arr=null)的时候,如果正常打印arr 程序正常,如果打印arr【1】这种带有具体的下标值时,就会出现空指针异常
4、二维数组
定义方法
(1)数据类型【】【】 数组名=new 数据类型【】【】;
例:double[][] arr=new double[3][4];//这个的意思是一个double类型的数组长度为3,这个double类型的数组内存有三个长度为四的double类型数组
图解:
存值:arr[0][0]=1.2; arr[1][0]=2.4;
取值:System.out.println(arr[0][0]);
System.out.println(arr[0][1]);
System.out.println(arr[1][0]);
System.out.println(arr[0]);
System.out.println(arr);
图解:
(2)方法二:数据类型【】【】数组名=数据类型【数组长度】【】
例:int[][] arr=new int[3][];
存值:
int[] brr1={1,2,3};
int[] brr2={4,5,3};
arr[0]=brr1;
arr[1]=brr2;
arr[2]=new int[]{6,2,3,7};
System.out.println(arr[2][0]);
图解:
(3)方法三 数据类型【】【】 数组名={{“元素1”,“元素2”},{“元素1”,“元素2”},{“元素1”,“元素2”}};
例:String[][] arr={{"hello","java"},{"你好","哈哈","嗯嗯"},{"我"}};
5、二维数组遍历
例:
String[][] arr={{"hello","java"},{"你好","哈哈","嗯嗯"},{"我"}};
for(int i=0;i<arr.length;i++){
for(int j=0;j<arr[i].length;j++){
System.out.print(arr[i][j]+"\t");
}
System.out.println();
}
6.随机点名器案例:
import java.util.Random;
class Demo11
{
public static void main(String[] args)
{
String[] arr={“张三”,“李四”,“王五”,“赵六”,“周瑜”,“黄盖”};
Random r=new Random();
int suijishu=r.nextInt(6);
for (int i=0;i<arr.length ;i++ )
{
if(i==suijishu){
System.out.println("点到名字的是"+arr[i]);
}
}
}
}
7、每一组的业绩不一样,总共三组,分别打印每组的业绩和,并打印三组总业绩和
int [][] arr={{11,12},{21,22,23},{31,32,33,34}};
int sum=0;
int groupsum=0;
for(int i=0;i<arr.length;i++){
for(int j=0;j<arr[i].length;j++){
sum=sum+arr[i][j];
groupsum=groupsum+arr[i][j];
}
System.out.println(groupsum);
groupsum=0;
}
System.out.println(sum);