第四章:循环

来源:互联网 发布:淘宝店铺o2o 编辑:程序博客网 时间:2024/06/06 04:38

while循环,do while循环,for循环


什么是循环:重复执行某一程序代码块
while:循环的一种
方法的参数需要时定义boolean类型或返回boolean类型的值
若为真,执行循环体中的内容
若为假,不执行循环体中内容
while 循环需要1.定义变量 给变量进行初始化赋值(否者程序报错,没有变量)
2.定义类型为boolean或者返回的类型为boolean类型
(必须有条件判断,给i设置一个额度,在这个额度的范围,如果没有这个范围,那么会死循环,不断的递增)
3.需要给i变量进行追加;i++(在原有的基础上+1)(死循环,结果永远是0)do{方法体}while(条件语句);

do while循环结构
do{}while();

第一次不判断条件是否符合,先执行一次,因为程序从上往下执行,先打印在判断
while与do..while的区别:
while:判断条件是否符合要求,若不符合要求,不执行循环方法体中的内容

do..while:第一次不判断条件是否符合,因为程序从上往下执行,先打印在判断
若判断的不符合要求,才不执行第二次
for循环 与while do..while区别:
for中定义的变量i++,永远是从初始值开始递增(因为是for循环中的参数(小括号中))
while do..while:根据所放的位置进行调整变量 进行打印

for:
1.定义变量(否者程序报错,找不到i变量)
2.条件语句(可以不定义,死循环,若不想死循环,需要在循环方法体中进行if判断)
3.追加(死循环结果永远是0(初始值))
嵌套的for循环
循环是可以嵌套的,包括whiledo-while循环
breakcontinue
break:终止直接包含的循环体,结束(本层)循环

for循环的三种格式


第一种for循环

对于遍历数组,这个循环一般是采取这样的写法:

  清单1:遍历数组的传统方式
Java代码
  1. /* 建立一个数组 */
  2. int[] integers = {1234};
  3. /* 开始遍历 */
  4. for (int j = 0; j < integers.length; j++) {
  5. int i = integers[j];
  6. System.out.println(i);
  7. }


  而对于遍历Collection对象,这个循环则通常是采用这样的形式:

  清单2:遍历Collection对象的传统方式
Java代码
  1. /* 建立一个Collection */
  2. String[] strings = {"A""B""C""D"};
  3. Collection stringList = java.util.Arrays.asList(strings);
  4. /* 开始遍历 */
  5. for (Iterator itr = stringList.iterator(); itr.hasNext();) {
  6. Object str = itr.next();
  7. System.out.println(str);
  8. }


  而在Java语言的最新版本——J2SE 1.5中,引入了另一种形式的for循环。借助这种形式的for循环,现在可以用一种更简单地方式来进行遍历的工作。

第二种for循环

  不严格的说,Java的第二种for循环基本是这样的格式:

  for (循环变量类型 循环变量名称 : 要被遍历的对象) 循环体

  借助这种语法,遍历一个数组的操作就可以采取这样的写法:

  清单3:遍历数组的简单方式
Java代码
  1. /* 建立一个数组 */
  2. int[] integers = {1234};
  3. /* 开始遍历 */
  4. for (int i : integers) {
  5. System.out.println(i);/* 依次输出“1”、“2”、“3”、“4” */
  6. }


  这里所用的for循环,会在编译期间被看成是这样的形式:

  清单4:遍历数组的简单方式的等价代码
Java代码
  1. /* 建立一个数组 */
  2. int[] integers = {1234};
  3. /* 开始遍历 */
  4. for (int 变量名甲 = 0; 变量名甲 < integers.length; 变量名甲++) {
  5. System.out.println(变量名甲);/* 依次输出“1”、“2”、“3”、“4” */
  6. }


  这里的“变量名甲”是一个由编译器自动生成的不会造成混乱的名字。

  而遍历一个Collection的操作也就可以采用这样的写法:

  清单5:遍历Collection的简单方式
Java代码
  1. /* 建立一个Collection */
  2. String[] strings = {"A""B""C""D"};
  3. Collection list = java.util.Arrays.asList(strings);
  4. /* 开始遍历 */
  5. for (Object str : list) {
  6. System.out.println(str);/* 依次输出“A”、“B”、“C”、“D” */
  7. }


  这里所用的for循环,则会在编译期间被看成是这样的形式:

  清单6:遍历Collection的简单方式的等价代码
Java代码
  1. /* 建立一个Collection */
  2. String[] strings = {"A""B""C""D"};
  3. Collection stringList = java.util.Arrays.asList(strings);
  4. /* 开始遍历 */
  5. for (Iterator 变量名乙 = list.iterator(); 变量名乙.hasNext();) {
  6. System.out.println(变量名乙.next());/* 依次输出“A”、“B”、“C”、“D” */
  7. }


  这里的“变量名乙”也是一个由编译器自动生成的不会造成混乱的名字。

  因为在编译期间,J2SE 1.5的编译器会把这种形式的for循环,看成是对应的传统形式,所以不必担心出现性能方面的问题。
foreach语句是java5的新特征之一,在遍历数组、集合方面,foreach为开发人员提供了极大的方便。
foreach语句是for语句的特殊简化版本,但是foreach语句并不能完全取代for语句,然而,任何的foreach语句都可以改写为for语句版本。
foreach并不是一个关键字,习惯上将这种特殊的for语句格式称之为“foreach”语句。从英文字面意思理解foreach也就是“for 每一个”的意思。实际上也就是这个意思。
foreach的语句格式:
for(元素类型t 元素变量x : 遍历对象obj){
引用了x的java语句;
}

跳转控制语句


前面我们已经说过了,Java中的goto是保留字,目前不能使用。虽然没有goto语句可以增强程序的安全性,但是也带来很多不便,比如说,我想在某个循环知道到某一步的时候就结束,现在就做不了这件事情。为了弥补这个缺陷,Java就提供了break,continue和return来实现控制语句的跳转和中断。
break 中断
continue 继续
return 返回
break的使用:在选择结构switch语句中,在循环语句中,离开不能使用
break的作用:跳出循环
continue的使用:在循环语句中,离开场景不能使用
break 退出当前循环
continue 退出本次循环
字符串比较

字符串比较用a.equals,非字符串用==

原创粉丝点击