《疯狂JAVA》读书笔记-第四章流程控制与数组

本章要点:流程控制、数据定义和初始化、理解数组和多维数组实质等

1、流程控制

  • 顺序结构

  • 选择结构

    switch 允许控制的数据类型:short、char、byte和int四种整型,枚举类型和String(java7之后才支持)

  • 循环结构

2、数组类型

  • 数组也是一种类型(引用类型),建议用int[] arrayName;的方式定义,int[]为类型,arrayName为变量名称。此定义只是定义了一个变量指针,并没有为此分配任何内存空间

  • 数组初始化

    • 静态初始化:int[] a = new int[]{1, 2, 3};

    • 动态初始化:int[] a = new int[15]

      数组元素的类型是整型(short,long,byte和int),元素默认值是0;

      数组元素的类型是字符类型(char),元素默认值是’\u000’;

      数组元素的类型是布尔类型,元素默认值是false;

      数组元素的类型是浮点型(float,double),元素默认值是0;

      数组元素的类型是引用类型(类,接口,数组),元素默认值是null;

  • 数组使用

    String[] books = new String[]{"java","php"};

    for(String book : books){

    System.out.println(book);

    }

3、深入数组

  • 数组引用变量(数组引用)在栈内存中,数组元素(对象)是在堆内存中,数组引用变量是访问堆内存中数组元素的根本方式。

    1554164164998

  • 堆栈内存之分:在方法中定义的变量(局部变量),会放入栈内存,随着方法执行结束销毁;当程序建立对象,对象会建立在运行时数据区(堆内存),以反复利用(对象创建成本大)。方法结束也不会销毁,除了没任何一个引用它的时候(垃圾回收)。

打赏
  • 版权声明: 本博客所有文章除特别声明外,均采用 Apache License 2.0 许可协议。转载请注明出处!
  • © 2015-2020 谭家俊
  • Powered by Hexo Theme Ayer
  • PV: UV:

请我喝杯咖啡吧~

微信