Java流程控制语句
原创约 2473 字大约 8 分钟...
188-Java流程控制语句.md
注意
本博文仅供学术研究和交流参考,严禁将其用于商业用途。如因违规使用产生的任何法律问题,使用者需自行负责。
概念

示例代码
- if语句
package com.tencent.chapter03;
import java.util.Scanner;
/**
* <p>Title: IfYuJu_01</p>
* <p>
* Description:
* </p>
* @author xianxian
* @date 2023年1月3日
*/
public class IfYuJu_01 {
/**
* <p>Title: main</p>
* <p>
* Description:
/**
单一条件判断:
if(A表达式)
{
B语句块;
}
执行步骤:
1.判断A表达式
返回true,执行B语句块,结束判断
返回false,结束判断
--------------------------------------------------------------
两个条件:
if(A表达式)
{
B语句块;
}
else
{
C语句块;
}
执行步骤:
1.判断A表达式
返回true,执行B语句块,结束判断
返回false,执行C语句块,结束判断
--------------------------------------------------------------
多个条件:
if(A表达式)
{
B语句块;
}
else if(C表达式)
{
D语句块;
}
.....
else
{
N语句块;
}
执行步骤:
1.判断A表达式
返回true,执行B语句块,结束判断
返回false,判断C表达式
2.判断C表达式
返回true,执行D语句块,结束判断
返回false,判断N表达式
......
3.如果以上表达式均返回false,默认执行N语句块,结束判断
注意:如果,大括号中,只有一条语句,则可以省略大括号(不建议省略)
*
* </p>
* @param args
*/
public static void main(String[] args) {
//扫描仪
Scanner scanner = new Scanner(System.in);
//扫描控制台一行数据(以回车作为结束判断)
System.out.println("请输入您的年龄:");
int num = scanner.nextInt();
/**
* if : 如果年龄大于0,输出"您的年龄为:N",否则,不作响应
*/
if(num > 0)
{
//System.out.println("您的年龄为:" + num);
}
/**
* if....else... : 如果年龄大于0,输出"您的年龄为:N" ; 否则,输出"年龄不能小于等于0"
*/
if(num > 0)
{
System.out.println("您的年龄为:" + num);
}
else
{
System.out.println("年龄不能小于等于0");
}
/**
* if...else if....else if ....else:
*
* 输入一个学生的成绩,
* 如果成绩大于等于90,输出"优秀"
* 如果成绩大于等于80,小于90,输出"良好"
* 如果成绩大于等于60,小于80,输出"及格"
* 否则,输出"不及格,请继续深造"
*/
//扫描一行数据
System.out.println("请录入学员的成绩:");
double score = scanner.nextDouble();
//如果成绩大于等于90,输出"优秀"
if(score >= 90)
{
System.out.println("优秀");
}
//如果成绩大于等于80,小于90,输出"良好"
else if(score >= 80 && score < 90)
{
System.out.println("良好");
}
//如果成绩大于等于60,小于80,输出"及格"
else if(score >= 60 && score < 80)
{
System.out.println("及格");
}
//否则,输出"不及格,请继续深造"
else
{
System.out.println("不及格,请继续深造");
}
}
}
- switch 语句
package com.tencent.chapter03;
/**
* <p>Title: SwitchYuju_02</p>
* <p>
* Description:
* </p>
* @author xianxian
* @date 2023年1月3日
*/
public class SwitchYuju_02 {
/**
* <p>Title: main</p>
* <p>
* Description:
switch(A表达式)
{
case 取值1:
B语句块;
break;
case 取值2:
C语句块;
break;
.....
default:
N语句块;
}
注意:
1. switch(A表达式)中的A表达式只能接收byte、short、char、int、long类型,JDK1.7版本以上可以接收String类型
2. case的取值不能重复
3. 如果不使用break,一旦某个case的表达式符合条件,后续所有的case后的语句都会判断执行,所以慎重考虑是否需要使用break语句;
* </p>
* @param args
*/
public static void main(String[] args) {
/**
如果周一~周五,输出"写代码使我高兴,写代码使我兴奋!!!"
如果周六~周日,输出"放假使我难过,不能写代码!!!"
*/
int weekday = 2;
//方式一
switch(weekday)
{
//如果周一~周五,输出"写代码是我高兴,写代码使我兴奋!!!"
case 1:
System.out.println("写代码使我高兴,写代码使我兴奋!!!---1");
break;
case 2:
System.out.println("写代码使我高兴,写代码使我兴奋!!!---2");
break;
case 3:
System.out.println("写代码使我高兴,写代码使我兴奋!!!---3");
break;
case 4:
System.out.println("写代码使我高兴,写代码使我兴奋!!!---4");
break;
case 5:
System.out.println("写代码使我高兴,写代码使我兴奋!!!---5");
break;
case 6:
System.out.println("放假使我难过,不能写代码!!!---6");
break;
case 7:
System.out.println("放假使我难过,不能写代码!!!---7");
break;
}
//方式二
switch(weekday)
{
//如果周一~周五,输出"写代码是我高兴,写代码使我兴奋!!!"
case 1:
case 2:
case 3:
case 4:
case 5:
System.out.println("写代码使我高兴,写代码使我兴奋!!!---1、2、3、4、5");
break;
case 6:
case 7:
System.out.println("放假使我难过,不能写代码!!!---6、7");
break;
}
//方式三
switch(weekday)
{
//如果周一~周五,输出"写代码是我高兴,写代码使我兴奋!!!"
case 1:
case 2:
case 3:
case 4:
case 5:
System.out.println("写代码使我高兴,写代码使我兴奋!!!---1、2、3、4、5");
break;
default:
System.out.println("放假使我难过,不能写代码!!!---6、7");
break;
}
//方式四
switch(weekday)
{
case 6:
case 7:
System.out.println("放假使我难过,不能写代码!!!---6、7");
break;
default:
System.out.println("写代码使我高兴,写代码使我兴奋!!!---1、2、3、4、5");
break;
}
//JDK1.7版本以上可以接收String类型
String week = "星期六";
switch(week)
{
case "星期六":
case "星期天":
System.out.println("放假使我难过,不能写代码!!!---6、7");
break;
default:
System.out.println("写代码使我高兴,写代码使我兴奋!!!---1、2、3、4、5");
break;
}
}
}
- while与doWhile语句
package com.tencent.chapter03;
import java.util.Scanner;
public class WhileYuDoWhileYujU_03 {
/**
* <p>Title: main</p>
* <p>
* Description:
while(A表达式)
{
B语句块;
}
执行步骤:
1.判断A表达式
返回true,执行B语句块,重复执行步骤1
返回false,结束循环。
-------------------------------------------------
do{
B语句块;
}while(A表达式);//分号必须有
执行步骤:
1.B语句块
2.判断A表达式
返回true,执行B语句块,重复执行步骤1
返回false,结束循环。
while: 先判断,再执行
do...while:先执行一次,再判断执行
* </p>
* @param args
*/
public static void main(String[] args) {
//使用while循环打印1~10之间的整数
int num = 1;
while(num <= 10)
{
System.out.println(num);
num++;
}
//使用do....while循环打印1~10之间的整数
int num2 = 1;
do{
System.out.println(num2);
num2++;
}while(num2 <= 10);//分号必须有
//死循环
/*while(true)
{
System.out.println("陷入死循环....");
}*/
int num3 = 1;
while(num3 <= 10)
{
System.out.println(num3);
//num++;//忘记添加自增条件
}
//死循环
while(true)
{
//扫描仪
Scanner scanner = new Scanner(System.in);
//扫描控制台一行数据(以回车作为结束判断)
String message = scanner.nextLine();
//当用户输入"exit",退出循环
if("exit".equals(message))
{
System.out.println("我走了................");
break;
}
else
{
System.out.println(">>>>:" + message);
}
}
//计算从1到100的所有奇数相加(提示利用do...while语句)
/*int x = 1;
int sum = 0;
do{
sum = sum + x;
x += 2;
}while(x <= 100);
System.out.println("sum:" + sum);*/
int x = 1;
int sum = 0;
do{
if(x%2 == 1)
{
sum = sum + x;
}
x++;
}while(x <= 100);
System.out.println("sum:" + sum);
}
}
- for语句
package com.tencent.chapter03;
/**
* <p>Title: ForYuJu_04</p>
* <p>
* Description:
* </p>
* @author xianxian
* @date 2023年1月3日
*/
public class ForYuJu_04 {
/**
* <p>Title: main</p>
* <p>
* Description:
* for(A初始化表达式;B循环条件表达式;D后的操作表达式)
{
C执行语句块;
}
A初始化表达式
B循环条件表达式
C执行语句块 :1
-----------------------------
D后的操作表达式
B循环条件表达式
C执行语句块 :2
-----------------------------
D后的操作表达式
B循环条件表达式
C执行语句块 :3
-----------------------------
D后的操作表达式
B循环条件表达式,判断不符合条件,终止循环
* </p>
* @param args
*/
public static void main(String[] args) {
//使用while循环打印1~10之间的整数
/*int num = 1;
while(num <= 10)
{
System.out.println(num);
num++;
}*/
//for循环打印1~10之间的整数
for(int num=1;num <= 10;num++)
{
System.out.println(num);
}
//测试for循环的执行步骤
int num = 1;
for(System.out.println("A初始化表达式");num <= 3;System.out.println("D后的操作表达式"))
{
System.out.println("C执行语句块 :" + num);
num++;
System.out.println("-----------------------------");
}
//死循环
/*while(true)
{
System.out.println("死循环");
}*/
/*for(int k = 1;k <= 10;)
{
//System.out.println(k);
}*/
/*for(int k = 1; ;k++)
{
System.out.println(k);
}*/
//嵌套循环
/*
1.九九乘法表
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
2.
*****
*****
*****
*****
3.
*****
****
***
**
*
4.
*****
****
***
**
*
5.
*
***
*****
***
*
6.
*
***
*****
*
***
*****
*******
*
*
*
*
*/
//1.遍历九次
for (int i = 1; i <= 9; i++) {
//2.每次遍历i次
for (int j = 1; j <= i; j++) {
System.out.print(j + "*" + i + "=" + (j*i) + "\t");
}
System.out.println();
}
}
}
- 终止循环
package com.tencent.chapter03;
import java.util.Scanner;
/**
* <p>Title: ZhongZhiXunHuan_05</p>
* <p>
* Description:
* </p>
* @author xianxian
* @date 2023年1月3日
*/
public class ZhongZhiXunHuan_05 {
/**
* <p>Title: main</p>
* <p>
* Description:
* break:终止整个循环
continue:终止当次循环,程序继续执行下一次循环
break label:终止指定名称的循环
* </p>
* @param args
*/
public static void main(String[] args) {
//break:终止整个循环
for (int i = 1; i <= 10; i++) {
if(i%4 == 0)
{
break;//终止整个循环
}
System.out.println(i);
}//1 2 3
//continue:终止当次循环,程序继续执行下一次循环
for (int i = 1; i <= 10; i++) {
if(i%4 == 0)
{
continue;//终止当次循环,程序继续执行下一次循环
}
System.out.println(i);
}//1 2 3 5 6 7 9 10
//break label:终止指定名称的循环
outer:for (int i = 1; i <= 10; i++) {
System.out.println("outer:" + i);
inner:while(true)
{
Scanner scanner = new Scanner(System.in);
String message = scanner.nextLine();
System.out.println("inner:" + message);
if("exit inner".equals(message))
{
break inner;//退出内部循环
}
else if("exit outer".equals(message))
{
break outer;//退出外部循环
}
}
}
}
}
分割线
相关信息
以上就是我关于 Java流程控制语句 知识点的整理与总结的全部内容,希望对你有帮助。。。。。。。
扩展知识
- Eclipse 导包快捷键 ctrl + shift + O
分割线
Powered by Waline v2.15.4