流程控制
循环结构
顺序结构的程序语句只能被执行一次。如果您想要同样的操作执行多次,,就需要使用循环结构。
Java中有三种主要的循环结构:
while循环
do…while循环
for循环
while
while( 布尔表达式 ) {
//循环内容
}//只要布尔表达式为true,循环体会一直执行下去。
public class Demo {
public static void main(String args[]) {
int x = 1;
while( x < 5 ) {
System.out.print("value x : " + x );
x++;
System.out.print("\n");
}
}
}
do…while
do {
//代码语句
}while(布尔表达式);
tips:必定循环一次
for
for(初始化; 布尔表达式; 变化) {
//代码语句
}
public class Demo19{
public static void main(String[] args){
for(int i=1;i<=9;i++){
for(int j=1;j<=i;j++){
System.out.print(i+"*"+j+"="+i*j+"\t");
}//循环嵌套输出99乘法表
System.out.println("");
}
}
}
tips:确定循环次数时使用
for(;;){
}//死循环
关键字
break关键字
break主要用在循环语句或者switch语句中,用来跳出整个语句块。
break跳出最里层的循环,并且继续执行该循环下面的语句。
continue关键字
continue适用于任何循环控制结构中。作用是让程序立刻跳转到下一次循环。
在for循环中,continue语句使程序立即跳转到更新语句。
在while或者do…while循环中,程序立即跳转到布尔表达式的判断语句。
return关键字
return可以跳出当前方法,用于结束所有循环;
分支结构
if
顺序结构只能顺序执行,不能进行判断和选择,因此需要分支结构。
Java有两种分支结构:
if语句
switch语句
if
if(布尔表达式)
{
//如果布尔表达式为true将执行的语句
}
if…else
if(布尔表达式){
//true
}else{
//false
}
if…else if
if(布尔表达式 1){
//1值为true执行代码
}else if(布尔表达式 2){
//2值为true执行代码
}else if(布尔表达式 3){
//3值为true执行代码
}else {
//如果以上都不为true执行代码
}
实例
import java.util.Scanner;
public class Demo3{
public static void main(String[] args){
Scanner input=new Scanner(System.in);
int num=input.nextInt();//输入一个数
if(num==0){
System.out.println("0非奇非偶");//排除0
}else if(num%2==0){
System.out.println("你输入的是偶数");
}else{
System.out.println("你输入的是奇数");
}
}
}
tips:
if语句至多有1个else语句,else语句在所有的else if语句之后。
If语句可以有若干个else if语句,它们必须在else语句之前。
一旦其中一个else if语句检测为true,其他的else if以及else语句都将跳过执行。
switch
switch语句有如下规则:
switch语句中的变量类型只能为byte、short、int或者char。
switch语句可以拥有多个case语句。
case语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量或者字面常量。
当变量的值与case语句的值相等时,那么case语句之后的语句开始执行,直到break语句出现才会跳出switch语句。
当遇到break语句时,switch语句终止。case语句不必须要包含break语句,如果没有break语句出现,程序会继续执行下一条case语句,直到出现break语句。
switch语句可以包含一个default分支,该分支必须是switch语句的最后一个分支。default在没有case语句的值和变量值相等的时候执行。
default分支不需要break语句。
switch(expression){
case value :
//语句
break; //可选
case value :
//语句
break;
default : //可选
//语句
}
实例
public static void trip(int num){
switch(num){
case 0:System.out.println("皮卡丘提醒您124出行");break;
case 1:System.out.println("性感荷官提醒你35");break;
case 2:System.out.println("澳门皇家赌场提醒您67出行");break;
default :System.out.println("外星人是没有人权的");
}
}