3.循环结构
在编程的过程中,经常会对某段代码反复执行,直到满足条件为止,这里就要用到循环结构。java语言支持的循环语句主要包括for、while和do-while 3种。
1.for 语句
for 循环语句适用于明确知道循环次数的程序,for语句的语法如下:
for([初值表达式];[条件表达式];[步进表达式]){ 循环体语句; }
注:1.初值表达式在循环过程中只被执行一次,通常用来对循环进行初始化。
2.for 语句的3个表达式都是可选的,当初值表达式为空时,必须在for 语句前对循环控制变量赋初值,当条件表达式为空时,默认条件都为真,当步进表达式为空时,如果在循环体语句中没有对循环变量操作,循环变量的值恒为初始值。
示例如下:
public class Test{ public static void main(String[] args){ int i,sum = 0; for(i = 1;i<=10;i++){ sum = sum + i; } System.out.println("sum--->"+sum); } }
for 循环语句也可以嵌套使用,在一个for语句内部嵌套着另外的for语句。使用嵌套的循环语句可以进行一些复杂的运算或者打印有规律的图案,以二重for循环为例,语法如下:
for([初值表达式11];[条值表达式12];[步进表达式13]){ for([初值表达式21];[条值表达式22];[步进表达式23]){ 内层循环体语句; } }
打印九九乘法表示例:
public class Test{ public static void main(String[] args){ int sum ; for(int i = 1;i<10;i++){ for(int j = 1;j<=i;j++){ sum = i*j; System.out.println(i+"*"+j+"="+sum+" "); } System.out.println(); } } }
2.while 语句
while 语句适用于事先不能确定循环到底执行多少次,但只知道循环执行条件的程序。语法如下:
while(条件表达式){ 循环体语句; }
while 语句的执行过程是:先判断条件表达式的值,若值为真,则执行循环体语句,然后再回去判断条件表达式的值,如此反复,直至条件表达式的值为false,跳出while 循环体;若值为假,将跳过该循环体语句,直接执行循环体语句后面的其他语句。
示例(求出1~10的和):
public class Test{ public static void main(String[] args){ int sum =0; int i = 1; while(i <= 10){ sum = sum + i; } System.out.println("1~10的整数和为:"+sum); } }
3.do-while语句
do-while语句适用于希望先执行一次循环体,并且事先不能确定循环到底执行多少次,但知道循环执行条件的程序。do-while 示例如下:
public class Test{ public static void main(String[] args){ int sum =0; int i = 1; do{ sum = sum + i; i++; }while(i <= 10); System.out.println("1~10的整数和为:"+sum); } }
注:1. 3种循环可以嵌套使用。
2. do-while循环语句与while 循环语句的区别仅在于do-while循环中的循环体至少执行一次,而while 循环中的循环体可能一次也不执行。
4.跳转结构
跳转结构的实现主要是依靠跳转语句。跳转语句的作用就是把控制转移到程序的其他部分。java语言支持三种跳转语句:break、continue和return 。
1.break
在java语言中,break 语句的用途主要有两个:一是在switch 语句中,强制退出switch结构,执行switch 结构后的语句;二是在循环语句(for、while和do-while)中,强制退出循环。在循环语句中,break语句一般与if 语句一起使用,当满足一定条件时跳出循环,在多层循环中,break语句只跳出当前这一层循环,而不能跳出整个循环。示例如下:
public class Test{ public static void main(String[] args){ int sum =0; int i = 0; for(i = 1;i<=10;i++){ sum = sum + i; if(i==5){ break; } } System.out.println("sum = "+sum); } }
2.continue
continue 语句只能用在循环语句(for、while和do-while)中,它的作用是跳过循环体中本次尚未执行的语句,重新开始下一个循环。continue和break语句的区别是:break 停止循环体的执行的同时,跳出当前的循环的语句,继续往下执行;而continue 只是停止 continue 后面的循环体的执行,然后跳到循环开始的地方重新执行,示例如下:
public class Test{ public static void main(String[] args){ int sum =0; int i = 0; for(i = 1;i<=10;i++){ if(i<=5){ continue; } sum += i; } System.out.println("sum = "+sum); } }
3.return
java中的return 语句中的用在方法中,通常位于方法体的最后一行。它有两个作用:一是返回方法指定类型的值,即带值返回;二是结束方法的执行,即不带值返回。语法如下:
1.return;
2.return 表达式;
例:
return; //不带值返回
return false; //返回false
return x-y; //返回x-y的值
return larger(); //返回larger()方法的计算结果
注:返回值的数据类型如果与方法声明中的返回值类型不一致,要使用自动转换或强制类型转换来保持类型一致。