java流程控制图_Java流程控制之选择结构

三大流程控制语句:

顺序:

从上往下依次执行

选择:

根据条件执行对应的内容

if结构;if else结构;多重if;嵌套if;switch结构

循环:

循环执行,反复执行

while;  do while;  for

循环嵌套

break语句

continue语句

==================分割线=======================

1. 多重if结构

packagecom.vipkid.flow;importjava.util.Scanner;public classScoreAssess {public static voidmain(String[] args) {/*成绩大于等于90,输出优

成绩大于等于80且小于90,输出良

成绩大于等于60且小于80,输出中

成绩小于60,输出不及格*/System.out.println("请输入成绩:");

Scanner sc= newScanner(System.in);int score =sc.nextInt();if(score >= 90){

System.out.println("优");

}else if(score>=80){

System.out.println("良");

}else if(score>=60){

System.out.println("中");

}else{

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

}

}

}

2. 嵌套if结构

packagecom.vipkid.flow;public classIntCompare {public static voidmain(String[] args) {//比较两个整数的大小,并输出

int x=10,y=90;if(x==y){

System.out.println("x等于y");

}else{if(x>y){

System.out.println("x>y");

}else{

System.out.println("x

}

}

}

}

3. switch

if结构:判断条件是布尔类型,判断条件是一个范围

switch结构:判断条件是常量值

(1)switch的表达式为int类型

packagecom.vip.flow;importjava.util.Scanner;public classWeekDemo1 {public static voidmain(String[] args) {

Scanner sc= newScanner(System.in);

System.out.println("请输入1-7之间的数字:");int n =sc.nextInt();switch(n){case 1:

System.out.println("星期一");break;case 2:

System.out.println("星期二");break;case 3:

System.out.println("星期三");break;case 4:

System.out.println("星期四");break;case 5:

System.out.println("星期五");break;case 6:

System.out.println("星期六");break;case 7:

System.out.println("星期日");break;default:

System.out.println("您输入的数字不正确,超出了1-7的范围");

}

}

}

(2)switch表达式为String类型

packagecom.vip.flow;importjava.util.Scanner;public classWeekDemo2 {public static voidmain(String[] args) {

Scanner sc= newScanner(System.in);

System.out.println("请输入表示星期的英文单词:");

String week=sc.next();

week= week.toUpperCase(); //把输入的week变成大写

switch(week) {case "MONDAY":

System.out.println("星期一");break;case "TUESDAY":

System.out.println("星期二");break;case "WEDNESDAY":

System.out.println("星期三");break;case "THURSDAY":

System.out.println("星期四");break;case "FRIDAY":

System.out.println("星期五");break;case "SATURDAY":

System.out.println("星期六");break;case "SUNDAY":

System.out.println("星期日");break;default:

System.out.println("单词输入错误");

}

}

}

4. while循环

packagecom.vip.flow;public classPlusDemo {public static voidmain(String[] args) {//求1-5的累加和 1+2+3+4+5

int n = 1;int sum = 0;while(n<=5){

sum= sum +n;

n++;

}

System.out.println("1——5的累加和为:"+sum);

}

}

代码分析如下图:

1cee8f8880bca1d6df6f9381bd08d117.png

又一个例题:

packagecom.vip.flow;public classCharDemo {public static voidmain(String[] args) {//循环输出26个小写英文字母,分两行

char ch = 'a';int count = 1; //控制换行

while(ch <='z'){

System.out.print(ch+" ");if(count%13==0){

System.out.println();

}

count++;

ch++;

}

}

}

5.do while循环

do while循环至少执行一次;

循环条件后的分号不能丢;

使用do while实现1——5的累加和例题

packagecom.vip.flow;public classDoWhileDemo {public static voidmain(String[] args) {//求1到5的累加和

int n =1;int sum = 0;do{

sum= sum +n;

n++;

}while (n<=5);

System.out.println("1到5的累加和为:"+sum);

}

}

猜数游戏:要求猜一个介于1到10之间的数字,然后将猜测的值与实际值进行比较,并给出提示,以便能更接近实际值,直到猜中为止。

packagecom.vip.flow;importjava.util.Scanner;public classGuessInt {public static voidmain(String[] args) {//设置一个要猜的随机数

int number = (int)(Math.random()*10+1); //Math.random()得到的是[0,1)之间的double数 *10+1后未[1,11)之间的数,大于等于1,小于11

System.out.println("随机数number="+number);intguess;

System.out.println("猜一个1-10之间的整数");do{

System.out.println("请输入您猜测的数:");

Scanner sc= newScanner(System.in);

guess=sc.nextInt();if(guess>number){

System.out.println("猜测太大");

}else if(guess

System.out.println("猜测太小");

}

}while (guess !=number);

System.out.println("恭喜你猜对了,答案为:"+number);

}

}

6.for循环

使用for循环求1-5的累加和

packagecom.vip.flow;public classForDemo {public static voidmain(String[] args) {int sum=0;for(int n=1;n<=5;n++){

sum= sum +n ;

}

System.out.println("1-5的累加和为:"+sum);

}

}

循环输入数字1-10并输出,如果输入0则跳出(break??)循环

packagecom.vip.flow;importjava.util.Scanner;public classNumInput {public static voidmain(String[] args) {

Scanner sc= newScanner(System.in);intn;while(true){

n=sc.nextInt();if(n==0){break;}

System.out.println("n="+n);

}

}

}

7.嵌套循环

使用嵌套的while循环,输入10行10列星号

packagecom.vip.flow;public classStarDemo1 {public static voidmain(String[] args) {int m = 1; //外重循环变量//int n = 1;//内重循环变量

System.out.println("输出10行10列星号");//外循环控制输出几行

while(m<=10){//内循环控制每行输入几个星号

int n = 1; //内重循环变量

while (n<=10){

System.out.print("*"+" ");

n++;

}

System.out.println();

m++;

}

}

}

求1!+2!+3!+……+10!   求阶乘累加之和

packagecom.vip.flow;public classJiecheng {public static voidmain(String[] args) {int sum=0;for(int i=1;i<=10;i++){int s = 1;for(int j=1;j<=i;j++){

s= s*j; //s存放阶乘计算的结果

}

sum= sum +s;

}

System.out.println("1!+2!+3!+……+10!阶乘之和为:"+sum);

}

}

8.break语句

break语句可以跳出当前循环结构;

执行完break语句后,循环体中位于break语句后面的语句就不会被执行;

多重循环中,break只向外跳一层。

9.continue语句

continue只能用在循环里;

continue语句可以结束当前循环的执行,但是要继续下一次循环的执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值