• 2019-05-14 Java学习日记之数组


    数组

    数组的初始化,动态初始化:

    什么是数组的初始化?

    就是为数组开辟连续的内存空间,并为每个数组元素赋予值

    如何对数组进行初始化?

    a:动态初始化

    只指定长度,有系统给出初始化值

    int[] arr = new int[5];

    b:静态初始化:

    给出初始化值,由系统决定长度

    动态初始化的格式:

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

    整数类型:byte,short,int,long默认初始化值都是0

    浮点类型:float,double默认初始化值都是0.0

    布尔类型:boolean默认初始化值为false

    字符类型:char默认初始化值'u0000'

    char在内存中占两个字节,是16个二进制位

    u0000,每一个0其实代表的是16进制的0,那么四个0就是代表16个二进制位

    A:栈

    存储局部变量

    局部变量:定义在方法声明上和方法中的变量

    B:堆

    存储new出来的数组或对象

    C:方法区

    D:本地方法区

    和系统相关

    E:寄存器

    给CPU使用

    静态初始化的格式:

    格式:

    数据类型[] 数组名 = new 数据类型[]{元素1,元素2,...}

    简化格式:

    数据类型[] 数组名 = {元素1,元素2,...}

    基本数据类型的值传递,不改变原值,因为调用后就会弹栈,局部变量随之消失

    引用数据类型的值传递,改变原值,因为即使方法弹栈,但是堆内存数组对象还在,可以通过地址继续访问

    Java中到底是传值还是传址?

    1、既是传值,也是传址。基本数据类型传递的值,引用数据类型传递的地址

    2、Java中只有传值,因为地址值也是值(面试说这种,因为支持者是Java之父)

     

  • 相关阅读:
    vue路由
    vue-cli目录结构介绍
    andriodiphone视频禁止全屏播放
    JS判断Android、iOS或浏览器的多种方法(四种方法)
    vue中移动端自适应方案
    移动端视频不兼容
    vue之router-link
    移动端网页开发注意点
    AWS EC2服务器的HTTPS负载均衡器配置过程
    Kubernetes概念介绍和v1版本部署过程
  • 原文地址:https://www.cnblogs.com/clqbolg/p/10862876.html
Copyright © 2020-2023  润新知