一、流程控制
1、分支结构
---1、if条件语句
---2、switch语句
switch语句后面的控制表达式的数据类型只能是byte、short、int、char四个整数类型(你看这里char就是整数类型了)和枚举类型,boolean类型是不允许的。Java7后新增String类型。
2、循环结构
循环结构的基本组成是1、初始化语句:几条语句对一些值进行初始化赋值2、循环条件:一个boolean表达式,每次先判断是否执行循环体3、循环体:循环的逻辑代码块4、迭代语句:一次循环体结束后,对循环条件的变量进行运算,使得循环在想要的时候结束。
---1、while循环语句
---2、do while循环语句
---3、for循环语句
3、控制循环结构
---1、break:完全结束一个循环,不仅可以结束所在循环还可以结束外层循环
---2、continue:终止本次循环,开始下一次循环。同上,也可以使用标识符来结束外部本次循环。
---3、return:结束当前方法,不管return在多少层循环中。
二、数组
最常见的一种数据结构,用于存储多个数据。每个数组元素存放一个数据,通过数组元素的索引来访问它。
数组初始化后,在内存中所占的空间将被固定下来,即数组的长度是不可改变的,就算数组元素被清空。
数组既可以存放基本数据类型,也可存放引用类型。
定义一个数组元素,相当于定义一个指针,它是没有指向任何的内存空间,所以不能指定数组的长度,只有对数组进行初始化后才可以使用。
1、数组的初始化
为数组元素分配内存空间,并为每个数组元素赋初值(不能只分配空间,不赋值)。
---1、静态初始化:开发人员显式指定每个元素的初值,系统决定数组长度。
---2、动态初始化:开发人员只是指定数组长度,系统分配初值。
2、使用数组
访问数组元素,进行赋值和取值。
索引是从0开始的,最后一个数组元素的索引是长度-1。
索引值大于等于数组长度或小于0时,编译不出错,但会报运行时异常(ArrayIndexOutOfBoundsException)。
3、foreach循环
遍历数组和集合。
无须获得数组和集合的长度,无须根据索引访问数组和集合的元素,因为循环遍历每个元素。
4、钻研数组
数组对象被存放在堆内存中。若数组引用变量是一个局部变量,则该变量被存放在栈内存中。
堆和栈之分:一个方法的执行,每个方法都会建立一个内存栈,方法中的变量会存入这个栈中,随着方法的执行结束,该内存栈也会自动销毁。当建立一个对象时,会被存放在堆内存(一个运行时数据区)中,反复使用(因为创建对象的消耗大),堆内存中的对象不会随着一个方法的销毁尔消失,除非没有引用指向它,才会被GC回收。
操作数组的工具类:Java提供的Arrays类(里面有很多static修饰的方法,直接由类名.方法名来使用),详细查API