JAVA学习笔记之Break,Continue和方法

来源:互联网 发布:淘宝刷単用软件怎么样 编辑:程序博客网 时间:2024/06/05 02:11


Break和Continue多用于循环结构中,我们先来回顾一下循环结构:

循环结构:
可以分为初始化语句(init_statements),循环条件(test_expression),循环体(body_statements),迭代语句(iteration_statements).

While(条件){ } 循环结构,是先判断循环条件,在执行循环体

注意:

1.使用while循环时,一定要保证循环条件有变成false的时候,不然就会成为一个死循环.

2.不要再循环条件后面加分号,不然循环体是一个空语句,则就反复运行这个空代码块,这样循环的返回值就没发生改变,就形成拉一个死循环;分号后面的代码块就与循环没有关系啦.

Do{ }while(); 循环结构,是先执行循环体,再判断循环条件 其循环条件后面有分号结束

以上两种循环的比较:

1.While(条件){ } 是先判断循环条件,在执行循环体; Do{ }while(); 是先执行循环体,再判断循环条件 其循环条件后面有分号结束

2.在同样的循环条件下,Do{ }while();的循环次数比While(条件){ } 多一次.

For(初始化表达式;条件表达式;迭代表达式){ } 循环结构

重点: For循环与while循环的等价转换:

For的变异写法: Foreach(数据类型 变量名:数组或者集合名){ }

嵌套循环的次数等于外层循环次数N与内层循环次数M的乘积:N*M

循环结构的对象多事数组或者集合等对象,我们先来说说数组,数组既是一种数据类型,本身也是一种引用类型.

定义数组的方法:

数据类型[] 数组名; (建议使用这种方式)

数据类型 数组名[];

注意:定义数组时不能制定数组的长度.

数组的初始化过程:

1.静态初始化方式 :arrayName[] = new tyoe[]{element1, element2,.............};

2.动态初始化方式 :现制定数组的长度,在有系统为数组元素指定初始值.即 arrayName = new type[length];

从内存上认识数组:

实际的数组元素是存储在堆(heap)内存中; 数组的引用变量是一个引用数据类型,被存储在栈(stack)内存中.

栈内存与堆内存的区别:

答:当执行一个方法时,每个方法都都会建立自己的栈内存;在这个方法内定义的变量,都会存储在栈内存中,随着方法的执行结束,这个方法的栈内存也会销毁;因此这个方法内定义的变量也是存储在占内存中;当我们在程序中定义一个对象时,这个对象将被保存在运行时数据区中,以便反复利用,这个运行时数据区就是堆内存;对内存中的数据不会再随方法结束时被销毁,只有这个对象没有引用变量引用它时,系统的垃圾回收才会在合适的时候回收它.

现在我们来说说Break和Continue:

Break : 当出现某种条件时,强行终止循环,而不是等循环条件false时在终止.这时就可以使用break命令. 只跳出当前当前循环体.

Continue: 终止本次循环,直接进入下一次循环.

方法与递归:

方法:多条语句的集合,能够重复使用.

如何定义一个方法?

public static void main(String[] args)

修饰符 public static

1.不加static 实例方法 非静态的

2.加static 静态方法 定义的方法和不加static差不多 ,只是在返回类型之前添加 static

3.返回值 void

分为两种 有返回值 int

无返回值 void

4.方法名 main

5.形参 (String [] args)

方法如何使用?

类名 对象的引用变量 = new 类名(); //创建一个对象 并用一个引用变量引用这个对象

引用变量.方法名();

值传递:

值传递的实质, 二进制的拷贝,得从java的内存上来解析:

Java的内存从逻辑上分为: 堆和栈

栈: 先进后出

程序执行 从main

方法执行的话 要入栈

方法执行完毕 要出栈

局部变量所占空间 是在 方法的栈帧里的

程序结束,栈内存销毁.

面试题1:Break与cintinue的区别?

答:Continnue结束本次循环,直接跳过continue后面的代码不会执行,继续下一次循环.

Break直接跳出循环.

Return:可以使用return终止方法,顺带终止循环.

面试题2:为什么要有方法?

答: 复用代码, 如果要要多次使用同样代码,就把这写代码放在方法里面,可以重复使用.体现啦Java的可复用性和可维护性。

0 0