[疯狂Java讲义精粹] 第三章|流程控制与数组
2012-11-03 17:35
176 查看
0. switch语句的控制表达式的数据类型只能是byte、short、char、int四种整数类型(可以理解为只有int型, 前三种是自动类型转换为int)和枚举类型和java.lang.String类型.
1. for(;;)可以省略循环条件, 循环条件默认为true.
2. break语句不仅可以跳出所在的循环, 还可以跟"标签"配合, 直接结束其外层循环.
continue语句也可以跟"标签"配合, 直接执行"标签"所标示的循环语句的下次循环. (Java中的标签只有放在紧挨着循环语句之前才有作用).
3. return的功能是结束一个方法.
4. 数组也是一种数据类型, 属于引用类型(*即指针).
5. 定义数组: (type[] arrayName;)或(type arrayName[];).
6. 初始化数组.(不能同时使用静态和动态初始化, 即不能在初始化时既指定长度又分配初始值.)
静态初始化: (arrayName = new type[]{element1, element 2, element 3, element 4 ...}) ---->此处type需与定义数组时的type相同, 或是其子类; 花括号中的元素是此type类或子类.
简化写法: (arrayName = {element1, element 2, element 3, element 4 ...}) ,
与定义同时完成: ( type[] arrayName = {element1, element 2, element 3, element 4 ...}) .
动态初始化: (arrayName = new type[length];) ---->length为int型.
与定义同时完成: (type[] arrayName = new type[length];).
(动态初始化只指定数组长度, 由系统为每个元素指定初始值. 整数类型(byte、short、char、int)初始化为0; 浮点型 -> 0.0; 字符型 -> '\u0000'; 布尔型 -> false; 引用类型(类、接口和数组) ->null.
7. foreach循环语句遍历数组和集合. (for(type variableName : arrayName | collection){ })中type是数组元素或集合元素的类型, variableName是形参, foreach循环将数组元素或集合元素依次付给该变量.
8. 栈内存: 每个方法被执行时都会建立自己的内存栈, 在这个方法内定义的变量将逐个放入这个栈内存里. 方法结束, 内存栈销毁.
堆内存: 创建对象时, 这个对象将被保存到运行时(runtime)数据区中,一边反复利用(因为对象的创建成本通常较大), 这个运行时数据区就是堆内存. 堆内存中的对象不会随方法结束而销毁, 因为即使方法结束后, 这个对象还可能被另一个引用变量所引用. 还有当一个对象没有任何引用变量引用它时, 系统的垃圾回收器才会在合适的时候回收它.
9. 二维数组定义: (type[][] arrName;),
初始化: (arrName = new type[length][];) ----> 相当于定义一个长度为length的一位数组, 数组的每个元素都是type[].
也可以一下初始化两个维数: (int[][] b = new int[3][4]类型;).
10. Arrays类里包含的一些static修饰的方法可以直接操作数组. (static修饰的方法可以直接通过类名调用.)
Arrays类处于java.util包下, 要在程序中使用Arrays类, 必须在程序中导入java.util.Arrays类.
11. (public static void main(String[] args) throws Exception {}) 中的throws Exception声明表示改正虚的main方法不处理任何异常.
1. for(;;)可以省略循环条件, 循环条件默认为true.
2. break语句不仅可以跳出所在的循环, 还可以跟"标签"配合, 直接结束其外层循环.
continue语句也可以跟"标签"配合, 直接执行"标签"所标示的循环语句的下次循环. (Java中的标签只有放在紧挨着循环语句之前才有作用).
outer: for (int i = 0; i < 5; i++) { for (int j = 0; j < 3; j++) { System.out.println("i的值为: " + 1 + "j的值为: " + j); if (j == 1) { break outer; //将break替换为continue则为continue与标签配合的示例. } } }
3. return的功能是结束一个方法.
4. 数组也是一种数据类型, 属于引用类型(*即指针).
5. 定义数组: (type[] arrayName;)或(type arrayName[];).
6. 初始化数组.(不能同时使用静态和动态初始化, 即不能在初始化时既指定长度又分配初始值.)
静态初始化: (arrayName = new type[]{element1, element 2, element 3, element 4 ...}) ---->此处type需与定义数组时的type相同, 或是其子类; 花括号中的元素是此type类或子类.
简化写法: (arrayName = {element1, element 2, element 3, element 4 ...}) ,
与定义同时完成: ( type[] arrayName = {element1, element 2, element 3, element 4 ...}) .
动态初始化: (arrayName = new type[length];) ---->length为int型.
与定义同时完成: (type[] arrayName = new type[length];).
(动态初始化只指定数组长度, 由系统为每个元素指定初始值. 整数类型(byte、short、char、int)初始化为0; 浮点型 -> 0.0; 字符型 -> '\u0000'; 布尔型 -> false; 引用类型(类、接口和数组) ->null.
7. foreach循环语句遍历数组和集合. (for(type variableName : arrayName | collection){ })中type是数组元素或集合元素的类型, variableName是形参, foreach循环将数组元素或集合元素依次付给该变量.
public class ForEachTest { public static void main(String[] args) { String[] books = {"book a", "book b", "book c"}; for (String book: books) { System.out.println(book); } } }
8. 栈内存: 每个方法被执行时都会建立自己的内存栈, 在这个方法内定义的变量将逐个放入这个栈内存里. 方法结束, 内存栈销毁.
堆内存: 创建对象时, 这个对象将被保存到运行时(runtime)数据区中,一边反复利用(因为对象的创建成本通常较大), 这个运行时数据区就是堆内存. 堆内存中的对象不会随方法结束而销毁, 因为即使方法结束后, 这个对象还可能被另一个引用变量所引用. 还有当一个对象没有任何引用变量引用它时, 系统的垃圾回收器才会在合适的时候回收它.
9. 二维数组定义: (type[][] arrName;),
初始化: (arrName = new type[length][];) ----> 相当于定义一个长度为length的一位数组, 数组的每个元素都是type[].
也可以一下初始化两个维数: (int[][] b = new int[3][4]类型;).
10. Arrays类里包含的一些static修饰的方法可以直接操作数组. (static修饰的方法可以直接通过类名调用.)
Arrays类处于java.util包下, 要在程序中使用Arrays类, 必须在程序中导入java.util.Arrays类.
11. (public static void main(String[] args) throws Exception {}) 中的throws Exception声明表示改正虚的main方法不处理任何异常.
相关文章推荐
- 疯狂JAVA讲义---第四章(上):流程控制和数组
- 流程控制与数组——Java疯狂讲义
- 流程控制与数组——Java疯狂讲义
- 【疯狂Java讲义学习笔记】【流程控制与数组】
- 第四章 流程控制与数组 疯狂 Java 讲义
- java基础第三章-流程控制与数组
- JAVA讲义 (二) 流程控制与数组
- 【读书笔记】疯狂java讲义学习(三)—— 流程控制
- 疯狂JAVA——第四章 流程控制与数组
- 疯狂讲义第四章 流程控制和数组
- 疯狂讲义第四章 流程控制和数组
- [疯狂Java讲义精粹] 第二章|数据类型和运算符
- 黑马程序员——Java基本语法(二):程序流程控制、函数、数组
- thinking in java 阅读笔记 第三章 程序控制流程
- 编程语言 | Java - 04.流程控制和数组
- java之流程控制与数组
- 疯狂java讲义 第三章 数据类型和运算符
- java基础之程序流程控制和数组
- 黑马程序员-Java基础【2】(流程控制语句,方法,数组)
- 疯狂java 讲义第三章练习题---画圆