java基础知识第七天

首先对第六天的知识做一总结和细分

1.数组的初始化

   所谓的初始化就是为数组开辟内存空间,并为数组中的每个元素赋予初始值;

    我们有两种方式可以实现数组初始化

            a.动态初始化          只给出长度,由系统给出初始化值

            b.静态初始化           给出初始化值由系统决定长度

a.  动态初始化的格式:数据类型【】数组名=new  数据类型(数组长度)

例:int 【】arr = new int(3)。

b.  静态初始化的格式: 数据类型【】数组名= new 数据类型【】{元素}

例:int 【】arr = new  int【】{1,2,3};

简化格式:数据类型【】数组名 = {元素}

例:int【】arr = {1,2,3};

2.java中的内存分配

栈(存储的是局部变量)

堆(存储的是new出来的东西)

方法区

本地方法区

寄存器

栈:存储的就是局部变量,局部变量就是定义在方法中的变量,使用完毕立即回收。

int【】arr = new int 【3】;

system.out.println(arr);

system.out.println(arr【0】);

system.out.println(arr【1】);

system.out.println(arr【2】);

因为int【】arr就是main方法中的一个变量,所以它就在栈中存储;那么后面new  int【3】就是在堆中存储。

堆:(1)存储的就是new出来的东西被称为实体对象。

       (2)每一个对象都有默认地址值。

        (3)使用完毕后会在垃圾回收器中立即回收。

3.数组的最大小值获取

public class ArrayTest {

public static void main(String[] args) {

//定义一个数组

int[] arr = {1,2,3,4,5};

//定义参照物

//int max = arr[0];

int min = arr[0];

//遍历数组,将元素与其比较

for(int x=1;x<arr.length;x++){

/*if(max<arr[x]){

max = arr[x];

}

}

System.out.println("max:"+max);

*/

if(min>arr[x]){

min = arr[x];

}

}

System.out.println("min;"+min);

}

然后是了解到的新内容

4.二维数组

概念:其实就是元素为一维数组的数组。

定义格式:

            数据类型【】【】数组名

初始化:

            动态初始化:

                数据类型  【】 【】数组名 = new 数据类型【m】【n】

                m表示的是二维数组中一维数组的个数

                n表示的是二维数组中元素的个数

            静态初始化:

                数据类型【】【】数组名 = {{元素......},{元素.....}{元素......}}

package com.arraytest;

public class ArrayArrayTest {

public static void main(String[] args) {

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

System.out.println("arr");

System.out.println("arr[0]");

System.out.println("arr[1]");

System.out.println("arr[2]");

System.out.println("--------------");

//获取元素

System.out.println("arr[0][0]"+arr[0][0]);

System.out.println("arr[0][1]");

System.out.println("arr[0][2]");

System.out.println("arr[1][0]");

System.out.println("arr[1][1]");

System.out.println("arr[1][2]");

System.out.println("arr[2][0]");

System.out.println("arr[2][1]");

System.out.println("arr[2][2]");

}

}

即就是二维数组配合索引可以获取到每一个一维数组,每一个一维数组配合索引可以获取到每个元素。例如我有一个二维数组arr我要获取一维数组就是arr【索引】;我要获取二维数组中的元素arr【索引】【索引】。

二维数组的遍历

package com.arraytest;

/*public class ArrayArrayTest {

public static void main(String[] args) {

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

System.out.println("arr");

System.out.println("arr[0]");

System.out.println("arr[1]");

System.out.println("arr[2]");

System.out.println("--------------");

//获取元素

System.out.println("arr[0][0]"+arr[0][0]);

System.out.println("arr[0][1]");

System.out.println("arr[0][2]");

System.out.println("arr[1][0]");

System.out.println("arr[1][1]");

System.out.println("arr[1][2]");

System.out.println("arr[2][0]");

System.out.println("arr[2][1]");

System.out.println("arr[2][2]");

}

}

*/

第二种写法

public class ArrayArrayTest{

public static void main(String[] args) {

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

/*for(int x=0;x<arr[0].length;x++){

System.out.println(arr[0][x]);

}

for(int x=0;x<arr[1].length;x++){

System.out.println(arr[1][x]);

}

for(int x=0;x<arr[2].length;x++){

System.out.println(arr[2][x]);

}

*/

//简化写法

for(int y=0;y<3;y++){

for(int x=0;x<arr[y].length;x++){

System.out.println(arr[y][x]);

}

}

}

}

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

推荐阅读更多精彩内容

  • 第四天 数组【悟空教程】 第04天 Java基础 第1章数组 1.1数组概念 软件的基本功能是处理数据,而在处理数...
    Java帮帮阅读 1,614评论 0 9
  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔...
    开心的锣鼓阅读 3,347评论 0 9
  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一...
    阿里高级软件架构师阅读 3,313评论 0 19
  • 不想去看前任3,我不想你是我的前任。我的矫情让你累了是吗,你没有心力再跟我一起了是吗,我以为不管怎么样你都不会放弃...
    君子以其昭昭使人昭昭阅读 203评论 0 0
  • 我是一只农村的土狗,有人文雅的叫中华田园犬。呵呵!这都不重要,关键是我就是我本身。 主人叫我小黄,即便我已不是一只...
    沙漠书阅读 115评论 0 0