1、Java的控制结构,控制结构的作用是控制程序中语句的执行顺序,它是结构化程序设计的关键。,if语句,if语句包括if-else语句都是用来构成分支结构的。if语句存在3种形式,每形式都需要使用布尔表达式。在大多数情况下,在一个if语句需要执行多句代码时,需要用一对花括号将它们包括起来。,形式1:,if(条件表达式)语句1;,形式2,if(条件表达式) 语句1; else 语句2; ,形式3,if(条件表达式) 语句1 else if(条件表达式) 语句2 else 语句3 ,public class TestIf/if语句示例 public static void main(String ar
2、gs)int x=25;if(x10)System.out.println(“x的值小于10,代码段1被执行了!“);else if(x=15)System.out.println(“x的值等于15,代码段2被执行了!“);elseSystem.out.println(“x的值不小于10,且不等于15,代码段3被执行了!“); ,switch语句,switch语句可以简洁地实现多路选择。它提供了一种基于一个表达式的值来使程序执行不同部分的简单方法。,switch语句的格式,switch(表达式) case 常量1:语句块1;break;case 常量2:语句块2;break;case 常量n:
3、语句块n;break;default:语句块n+1;*switch语句中的判断表达式必须为:byte、short、int或者char类型。,public class TestSwitch/switch语句示例 public static void main(String args)byte bVar=0;switch(bVar)case 1:System.out.println(“变量的值为“1”“);break;case 2:System.out.println(“变量的值为“2”“);break;case 3:System.out.println(“变量的值为“3”“);break;def
4、ault:System.out.println(“变量的值不为“1,2和3”“); ,switch示例2:,某超市按消费金额为客户打折,消费500元以上打95折,消费1000元以上打9折,消费2000元以上打85折。试用swtich完成折扣运算。,while循环,while语句是Java最基本的循环语句。其语句的基本格式是: while(条件表达式)循环体;,/while用法示例 public class TestWhile public static void main(String args)int i=0;while(i10)System.out.println(“循环已经执行了 “+(
5、i+1)+“次“);i+; ,while循环示例:从1开始累加自然数,当加到多少时其和大小5000。,do-while循环,do-while语句与while语句非常类似,不同的是,do-while语句首先执行循环体,然后计算终止条件,若结果为true,则继续执行循环体,直到条件表达式结果为false。其格式为: do while(条件表达式),/do-while使用方法示例 public class WhileDemo public static void main(String args)int n=0;int sum=0;dosum+=n;n+; while(n=10);System.ou
6、t.println(“1至10数之和为:“+sum); ,for循环,for循环语句通过控制一系列的表达式重复循环体内的程序,直到条件不再匹配为止。其语句的基本格式为: for(表达式1;表达式2;表达式3) 循环体;,/for用法示例 public class TestFor public static void main(String args)for(int i=0;i10;i+)System.out.println(“循环已经执行了“+i+“次。“); ,break和continue,break用于结束整个循环。也可以跳转至某一标号。 continue用于结束本次循环。也可以跳转至某一
7、标号。,/break ,方法,方法是类的成员,与类的成员变量 一起被封装在类中,并在类中实现。,方法的概念和作用,方法定义的格式为:(参数列表)throw,方法的参数传递方式,Java语言中,方法传递参数的方式是“按值传递”。按值传递意味着将一个参数传递给一个方法时,首先创建源参数的一个副本并将这个副本传入方法,这样方法接收的原始值的一个副本。即使修改了该参数,那仅仅是改变副本,而源参数值保持不变。,/方法参数传递的示例 public class TestPara static void test(boolean bPara)bPara=!bPara;System.out.println(“I
8、n test(boolean):bPara=“+bPara);public static void main(String args)boolean bVar=true;System.out.println(“Before test(boolean):bVar=“+bVar);test(bVar);System.out.println(“After test(boolean):bVar=“+bVar); ,方法的返回值,定义方法时必须声明方法的返回值类型。除void类型方外,方法应该有一返回值,该返回值也称为方法的类型。方法返回值包括任何数据类型,可以是基本数据类型,也可以是对象。如果返回值是
9、对象,则实际返回的是的地址。其格式为: return ,递归方法,如果一个方法在它的方法体内直接或间接地调用了它自己,就称为递归调用,而这种方法就称之为递归方法。,/递归的示例 public class TestFactorial public static void main(String args)System.out.println(“Factorial of 9 is:“+fact(5);static int fact(int n)int result;if(n=1)return 1;result=fact(n-1)*n;return result; ,本次课小节,Java控制结构部分是要通过大量的实践来加深理解。 方法都是类的成员,没有任何方法可以脱离类而单独存在。,课后练习,编写一个程序,求50以内奇数和及50以内的素数。,