三大流程控制语句:
顺序:
从上往下依次执行
选择:
根据条件执行对应的内容
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);
}
}
代码分析如下图:
又一个例题:
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语句可以结束当前循环的执行,但是要继续下一次循环的执行