【2018-8-5】【day05】

【2018/8/5】

  1. 数组:
  1. 数组是一种引用数据类型
  2. 数组当中的多个数据,类型必须统一
  3. 数组的长度在程序运行期间不可改变
  1. 两种常见的初始化方式:
  1. 动态初始化(指定长度)
  2. 静态初始化(指定内容)

 

动态 格式:

数据类型[] 数组名称 = new 数据类型[数组长度]

(前后数组类型要一样)

静态 格式:

数据类型[] 数组名称 = new 数据类型[]  {1,2,3};

 

  1. 使用静态初始化数组,格式可以省略:

数据类型[] 数组名称 = {1,2,3};

 

注:

  1. 静态初始化没有直接指定长度,但是仍然会自动推算到长度。
  2. 静态初始化标准格式可以拆分为两个步骤。

例:int[] arrayB;

arrayB = new int[]{}

动态初始化也可以。

  1. 静态初始化一旦写成省略形式,就不能拆分了。

使用建议:不确定数组中具体内容,用动态初始化,否则用静态。

  1. 直接打印数组名称,得到的数组对应的:内存地址哈希值。
  2. 访问数组元素:  数组名称[索引值]

索引值:Int数字,代表编号。 从0开始,到长度-1为止。

  1. 整数类型,默认为0;

浮点类型,默认为0.0;

字符类型,默认为‘\u0000’;

布尔类型,默认为false;

引用类型,默认为null;

  1. Java的内存需要划分为五个部分:
  1. 栈(Stack):存放的都是方法中的局部变量。【方法的运行一定要在栈当中
  1. 局部变量:方法的参数,或者是方法{}内部的变量。
  2. 作用域:一旦超出作用域,立刻从栈内存当中消失。
  1. 堆(Heap):凡是new出来的 东西,都在堆当中

堆内存里面的东西都有一个地址值:16进制

堆内存里面的数据,都有默认值【46】;

  1. 方法区(Method Area):存储.Class相关信息,包含方法的信息。
  2. 本地方法栈:与操作系统有关
  3. 寄存器(PC Register):与CPU相关。
  1. 0x:16进制。

数组索引越界异常:ArrayIndexOutOfBoundsException

原因:索引编号写错了。

  1. 所有的引用类型变量,都可以赋值为一个null值。但代表里面什么也没有。
  2. 数组必须进行new初始化才能使用其中的元素。

如果只是复制了一个Null,没有进行new创建

就会发生:

空指针异常:NullPointerException

  1. 数组长度:   数组名称。Length

数组一旦创建,程序运行期间,长度不能改变。

  1. 数组名称.fori(自动打出循环代码)
public class array01 {
    public static void main(String[] args) {
        int[]  array = new int []{2,4,6,8,9,3};
        for(int min = 0,max = array.length-1;min<max;min++,max--){
            int temp = array[min];
            array[min] = array[max];
            array[max] = temp;
        }
        for (int i = 0; i < array.length; i++) {
            System.out.print(array[i]);
        }
    }
public class array01 {
    public static void main(String[] args) {
        int[]  array = new int []{2,4,6,8,9,3};
        arrayPrint(array);
    }

    public static void arrayPrint(int[] array) {
        for (int i = 0; i < array.length; i++) {
            System.out.println(array[i]);
        }
    }
}
  1. 一个方法可以有0、1、多个参数;但是只能有0、1个返回值,不能有多个返回值。

但如果希望方法中产生多个结果数据进行返回,可以用数组作为返回值。

例如:

public class array01 {
    public static void main(String[] args) {
        int [] result = sum(5,8);
        System.out.println(result[1]);
    }

    public static int[] sum(int a ,int b) {
        int[] array = new int[2];
        array[0] = a;
        array[1] = b;
        return array;
    }
}

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值