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]+" ");
  }
  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);

原文地址:https://www.cnblogs.com/-gongxue/p/14281174.html