程序流程控制语句

1)顺序结构:程序从上到下逐行地执行,中间没有任何判断和跳转。

 2)分支结构:根据条件,选择性地执行某段代码。if 、switch

3)循环结构:根据循环条件,重复性的执行某段代码。

 1、顺序结构

public class TestSortStruc {

 public static void main(String[] args) {

 int i = 12;

int j = i + 1;

System.out.println(j); } }

2、分支结构

1) if

 public class TestIf {

 public static void main(String[] args) {

//第一种格式 int i = 2;

 if(i == 1) {

 System.out.println(i); }

//第二种格式

 if(i == 1) {

System.out.println(i);

} else {

 System.out.println("aaa"); }

//分数大于等于60,打印及格;否则,打印不及格

int score = 50;

 if(score >= 60) {

System.out.println("及格");

} else {

 System.out.println("不及格"); }

//第三种格式

 i = 0;

 if(i == 1) {

System.out.println("one");

 } else if(i == 2) {

System.out.println("two");

} else if(i == 3) {

System.out.println("three");

} else {

System.out.println("other"); } } }

2) switch

public class TestSwitch {

 public static void main(String[] args) {

int i = 5;

switch(i){

case 1:

 System.out.println("one");

break;

case 2:

System.out.println("two");

break;

case 3: System.out.println("three");

break;

default:

System.out.println("other");

 break; }

switch(表达式) :表达式的返回值必须是下述几种类型之一:byte,short,char,int,枚举,String

case子句中的值必须是常量,不能是取值范围,所有case子句中的值应是不同的,根据表达式的返回值,选择相应的case去判断,一旦满足case条件,就执行case的相应语句。

break语句用来在执行完一个case分支后,使程序跳出switch语句块,如果没有break,会继续执行其下的语句,直到switch结尾或者再次遇到break

default子句是可选的, 当没有匹配的case时,执行default而且位置是灵活的。

switch和if语句的对比 if和switch语句很像,具体什么场景下,应用哪个语句呢?

如果判断的具体数值不多,而且符合byte,short,char,int,枚举,String这几种类型。虽然两个语句都可以使用,建议使用swtich语句。因为效率稍高。 其他情况:对区间判断,对结果为boolean类型判断,使用if,if的使用范围更广。

3、循环结构

循环语句

功能:在某些条件满足的情况下,反复执行特定代码的功能

 循环语句的四个组成部分:①初始化条件、②循环条件、 ③循环体、④迭代条件 循环语句分类:for循环、while循环、do…while循环

1)for循环

public class TestFor

public static void main(String[] args) {

 for (int i = 1; i <= 5; i++) {

 // System.out.println("*****");

System.out.println(i); }

// 求和

int sum = 0;

 for (int s = 1; s <= 5; s++) {

sum = sum + s;

 } System.out.println(sum);

// 求偶数的和

sum = 0;

 for (int s = 1; s <= 5; s++) {

 if (s % 2 == 0) {

 sum = sum + s; } }

 System.out.println(sum);

2)while循环

public class TestWhile {

public static void main(String[] args) {

 int i = 1;//初始化条件

 while(i <= 5) {//i<=5循环条件

System.out.println(i);//循环体

i++;//迭代条件

 }

 System.out.println(i + "^^^^^");

for(int j = 1; j <= 5; j++) {

 System.out.println(j); }

求偶数和、求奇数和

int sumOu = 0;

int sumJi = 0;

i = 1;

while(i <= 100) {

 if(i % 2 == 0) {

sumOu = sumOu + i;

} else {

 sumJi = sumJi + i;

}

i++;

}

System.out.println(sumOu + "----");

说明:for循环与while可以相互转换。

3)do while循环

public class TestDoWhile {

 public static void main(String[] args) {

int i = 1;//初始化条件

do {

System.out.println(i);//循环体

 i++;//迭代条件

 }while(i <= 5);//i<=5循环条件

 System.out.println("-------------------");

//do-while与while的区别:do-while循环至少会执行一次

//求和

int sum = 0;

i = 1;

do {

sum = sum + i; i++;

}while(i <= 5);

System.out.println(sum);

4、特殊流程控制语句

break语句 、continue语句 、return

public class TestFlowControl {

 public static void main(String[] args) {

 //break:用于终止某个语句块的执行,只能用于switch和循环语句中

int i;

for(i = 1; i <= 5; i++) {

if(i == 4) {

 break;//System.out.println("break后不能放语句");

}

System.out.println(i); }

//continue:用于跳过某个循环语句块的一次执行,只能用于循环语句中

 for(i = 1; i <= 5; i++) {

 if(i == 3) {

 continue;//System.out.println("continue后不能放语句"); }

System.out.println(i); }

String str = m1();

System.out.println(str);

//注意:break、continue、return之后不能有其他的语句,因为程序永远不会执行其后的语句

5、循环嵌套 将一个循环放在另一个循环体内,就形成了嵌套循环。 for ,while ,do…while均可以作为外层循环和内层循环。 如在 for循环中包含另一个 for循环,也可以互相嵌套,如for循环中包含一个 while循环或者 do-while循环等等

for(xxx;xxx;xxx){

 for(xxx;xxx;xxx){}

}

for(xxx;xxx;xxx){

 while(xxx){}

}

 while(xxx){

for(xxx;xxx;xxx){}

}

public class TestQianTao {

public static void main(String[] args) {

for(int i = 1; i <= 5; i++) {//外层循环控制行数

//System.out.print("i=" + i + ":");

for(int j = 1; j <= 4; j++) {//内层循环控制列数 System.out.print("j=" + j); } System.out.println(); }

你可能感兴趣的:(程序流程控制语句)