Java基础学习笔记(五)

1.Java中的数组与C语言中的数组的不同

(1)声明数组时中括号的位置
(2)在Java中声明数组时,数组的长度不用给出
(3)在Java中二维数组中,每个行的列数可以不同
(4)在Java中数组空间的分配中,数组的长度可以为常量,也可以为变量

2 .数组

(1)声明: 类型 数组名[]; 类型[] 数组名;
(2)分配空间: 数组名 = new 类型[数组的长度];
(3)声明和空间分配可以结合 : 类型 数组名[] = new 类型[数组长度];
(4)数组元素赋值:

  • 数组元素的下标从0开始,每个数组元素的值可以单独赋值,也可以在分配空间时使用{v1,v2,...}给各元素赋值
  • 系统会自动给各数组元素赋初值,数值型的为0,字符型的为空字符,布尔型的为false

一维数组初始化:
int[] arr = new int[5]; //动态初始化
String[] arr1 = new String[]{"a","b","c","d"); //静态初始化

(5)数组元素引用:
数组元素引用时,下标不要越界,否则会出现ArrayIndexOutOfBoundsException
(6)数组的长度:数组名.length
(7)二维数组
声明时,第二维的长度可以给出,也可以不给出,但第一个[]必须给出,二维数组名.length的值为第一维的长度,第二维的长度数组名[i].length

二维数组初始化
int[ ] [ ] arr = new int [4] [3];//动态初始化1
int[ ] [ ] arr1 = new int[4] [ ] ;//动态初始化2
int [ ] [ ] arr2 = new int[ ] [ ] {(1,2.3),(4,5,6),(7,8)};//静态初始化

(8)默认初始值

  • 整形:0
  • 浮点型:0.0
  • char: 0
  • boolean :false
  • 引用类型:null
    (9)一维数组存储展示



//一维数组示例:
import java.util.Scanner;

public class ArrayTest {

public static void main(String[] args) {
       int a[];                                //数组的创建: 数组名 = new 数组元素的类型[数组的长度];
      a = new int[10];                          //声明数组和创建数组可以一起完成:int a[] = new int[10]
      Scanner in = new Scanner(System.in);      //数组的长度:数组名.length
      for(int i=0;i<a.length;i++) {             //数组下标第一个元素是啊[0]
             System.out.println("请输入第"+i+"个元素的值:");
             a[i] = in.nextInt();                   //依次输入
                }
       for(int i=0;i<a.length;i++) {
        System.out.print(a[i]+"  ");        //依次输出
          }
           System.out.println();//换行
}
}
//二维数组示例
import java.util.Scanner;

public class ArrayTest {

public static void main(String[] args) {

     int n;
     System.out.println("请输入二维数组的行数:");
     Scanner input = new Scanner(System.in);
     n = input.nextInt();                    //输入二维数组的长度
     int a[][] = new int [n][];              //声明一个二维数组 
     int count = 0;                          //声明一个变量
     for(int i=0; i<a.length;i++)            //为二维数组的每行设置行的长度
      a[i] = new int[i+1];
      for(int i=0; i<a.length;i++) {         //为二维数组的每个元素赋初值
             for(int j=0;j<=i;j++) {
             a[i][j] = ++count;
           System.out.printf("%4d",a[i][j]);       //输出二维数组的值
          }
       System.out.println();
  }
}
}
//二维数组的遍历
int [ ] [ ] arr = new int [ ] [ ] {(1,2,3),(4,5),(6,7,8)};

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();
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容