程序的流程控制(流程就是程序的执行步骤)
分支语句分为条件语句和多分支语句
1.条件语句 if-else
if(boolean-expression)()是指出条件,属于布尔型的变量()后面切记没有分号
statement1;
[else statement2;] ()后面跟的是{},{}里面是要被执行的语句,
2.多分支语句 switch
接下来介绍 if-else结构。
分支语句分为条件语句和多分支语句
1.条件语句 if-else
这是个很简单的结构举个非常简单的例子
int a=20;
if(a>0) {
System.out.println(a);}
}
}
这是if-else 结构,适用于有两种条件的,并输出判断结果的语句。
举个例子import java.util.Scanner;
public class Work {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 判断a于b的大小
int a;
int b;
int outcome;
Scanner scanner=new Scanner(System.in);
a=scanner.nextInt();
b=scanner.nextInt();
if(a>b) {
outcome=a;
}
else {
outcome=b;
}
System.out.println(outcome);
}
}
public class Work {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 判断a于b,c的大小并且输出最大的值
int a;
int b;
int c;
int outcome;
Scanner scanner=new Scanner(System.in);
a=scanner.nextInt();
b=scanner.nextInt();
c=scanner.nextInt();
if(a>b&a>c) {
outcome=a;
}
else if(b>a&b>c) {
outcome=b;
}
else {
outcome=c;
}
System.out.println(outcome);
}
}
一个结果的程序有很多种import java.util.Scanner;
public class Work {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 判断a于b,c的大小并且输出最大的值
int a;
int b;
int c;
int outcome;
Scanner scanner=new Scanner(System.in);
a=scanner.nextInt();
b=scanner.nextInt();
c=scanner.nextInt();
if(a>b) {
outcome=a;
}
else{
outcome=b;
}
if(c>outcome){
outcome=c;
}
System.out.println(outcome);
}
}
以上的语句主要是为了介绍if elseif和else的使用
这里必须强调一个问题,你写完一个程序,你必须要进行测试需要进行各种情况的测试,看是否全部得到你想要的结果,如果出现错误,你就必须要·走一遍程序,也就是你带着数据再走一遍程序,看到底那一步出错。
If语句的嵌套形式,简单可认为就是在一个if-else语句里再套一个if
else语句。
import java.util.Scanner;
public class Work {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 根据成绩来进行奖励
int a;
Scanner scanner=new Scanner(System.in);
a=scanner.nextInt();
if(a>=90) {
System.out.println("奖励100元");
}
else {
System.out.println("奖励100巴掌");
}
}
}
以上只是个普通的if-else语句,
当进行嵌套后
import java.util.Scanner;
public class Work {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 根据成绩来进行奖励,分男女奖励
int a;
char sex=‘男’;
Scanner scanner=new Scanner(System.in);
a=scanner.nextInt();
if(a>=90) {
// 从这里开始进行嵌套
if(sex==‘男’) {
System.out.println(“奖励100元”);
}else {
System.out.println(“奖励一只毕加索钢笔”);
}
// 从这里结束,嵌套是指再if或者是else里的{}里进行一个if-else结构的嵌套,主要作用是再分类
}
else {
System.out.println(“奖励100巴掌”);
}
}
}
如何判断对三个数进行排序。
这里应用的是应用中间变量
public static void main(String[] args) {
// TODO Auto-generated method stub
int x,y,z,max;
Scanner scanner=new Scanner(System.in);
x=scanner.nextInt();
y=scanner.nextInt();
z=scanner.nextInt();
int temp;
if(x>y){
temp =x;
x=y;
y=temp;
}
if(z<y){
if(z<x){
temp=x;
x=z;
z=temp;
if(z<y){
temp=y;
y=z;
z=temp;
}
}
else{
temp=y;
y=z;
z=temp;
}
}
System.out.println(x+" “+y+” "+z);
}
}
当然也还有别的方式,不过,这个是相对简单的程序。
2.多分支语句 switch
switch (expression){
case value1 : statement1;
break;
case value2 : statement2;
break;
…………
case valueN : statemendN;
break;
[default : defaultStatement; ]
Swich应用于分支多的情况下
// TODO Auto-generated method stub
double score=88;
if(score>=90){
System.out.println(“A”);
}else if(score>=80){
System.out.println(“B”);
}else if(score>=70){
System.out.println(“c”);
}else if(score>=60){
System.out.println(“D”);
}else{
System.out.println(“E”);
}
这是用if-else结构写的,很麻烦,很繁杂。
public static void main(String[] args) {
// TODO Auto-generated method stub
double score=88;
int s = (int)(score/10);(这是数据的强制转换)
//每一个分支执行不同的语句时,必须加break,跳出switch语句
/*switch(s){
case 9: System.out.println(“A”);
break;
case 8: System.out.println(“B”);break;
case 7: System.out.println(“C”);break;
case 6: System.out.println(“D”);break;
default:System.out.println("E");
}*/
如果switch语句存在多个分支,又如何处理呢。
public static void main(String[] args) {
// TODO Auto-generated method stub
double score=88;
int s = (int)(score/10);(这是数据的强制转换)
switch(s){
case 9:
case 8:
case 7:
case 6: System.out.println(“合格”);break;
default:System.out.println("不合格");
}
}
从这里可以看出多个分支执行相同的代码,保留最后分支的break
swich的每个分支执行不同的代码,Break的每个分支执行不同的代码,
break作用是终止swich的运行
通过以上的例子可以看出swich是适合于多分支的计算所用句子,
Swich的表达式的类型只能有byte, char int short String(只适用于jdk1.7以上的版本
Case后面所跟的值只能是固定的值。
default相当于else,表示最后一个分支,defaul后面直接加分支
swich的每个分支执行不同的代码,Break的每个分支执行不同的代码,否则他会一只执行到尾,这样你得到的接过可能会有多个结果。