Java流程控制语句
- 流程控制语句分类:
顺序结构
分支结构(if,if else、switch)
循环结构(for、while、do while)
顺序结构
- 定义:顺序结构是程序中最简单基本的流程控制,无特定的依法结构,程序从上至下依次执行。
- 流程图:
分支结构
If语句结构
- 关系表达式:关系表达式是由关系运算符组成的(==、<=、>=、>、<、 !=)它们的结果是bollean类型结果为true or false。
- 格式:
if(关系表达式){
语句体; }// 首先计算关系表达式的值如果为true则执行语句体内容,
若值为false则不执行语句体内容,执行语句体后面的内容。
- 流程图:
if else语句
- 格式:
if(关系表达式)
{语句体;}//表达式为true执行该语句体
else
{语句体;}//表达式为false执行该语句体
- 流程图:
- 实例:任意给一个整数,用程序判断这个数是偶数还是奇数。
package day3;
import com.sun.deploy.security.SelectableSecurityManager;
import java.util.Scanner;
public class demo2 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入一个整数");
int a=sc.nextInt();
if(a%2==0)
{
System.out.println(a+"为偶数");}
else
{
System.out.println(a+"为奇数");
}
}
}
if else if语句
- 格式:
if(关系表达式)
{语句体1;}
else
if(关系表达式2)
{语句体2;}
if else if else语句
- 格式:
if(关系表达式1)
{语句体1;}
else{
if(关系表达式2)
{语句体2;}
else
{语句体3;}
}
- 流程图:
- 案例:
package day3;
import java.util.Scanner;
public class demo3 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入你的分数");
double score= sc.nextDouble();
if (score<0||score>100)//判断用户输入的数据是否规范
System.out.println("您输入的分数有误");
else{
if(score<80)//成绩小于80挨打
System.out.println("你的屁股要挨打了");
else if (score>=80&&score<90)//成绩大于等于80小于90获得变形金刚
{ System.out.println("你将获得变形金刚一个");
}
else if (score>=90&&score<=94)
{System.out.println("您将获得游乐园游玩一次");}
else System.out.println("你将获得山地自行车一辆");
}
}
}
switch语句
- 格式
switch(表达式){ //表达式的值必须时 byte、short、int、char、String、枚举。
case 选择值1:执行语句; //每个case后必须有break;
break; //case常量必须与表达式的类型相同
case 选择值2:执行语句;
break;
case 选择值3:执行语句;
break;
default 执行语句;} //default语句位置任意
- 流程图:
- case穿透性:表达式的值与case后的值进行比较,如果匹配成功就执行该case后面的语句,一直往下执行,直到遇到break语句才会停止。
- 实例:
package day3;
import java.util.Scanner;
public class demo4 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);//创建Scanner类的对象
System.out.println("请输入1-7的数字");
int number=sc.nextInt();//用number接收键盘录入
if (number<1||number>7)
{ System.out.println("输入有误");}
switch (number){
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("输入有误");
}
}
}
循环结构
for循环语句
-
循环语句结构:具有开始和结束标志,重复做同一件事情。
-
循环结构的组成:初始化语句 (表示循环开启时的起始状态)、条件判断语句 (用于循环反复执行的条件)、循环体语句 (表示循环执行的内容)、条件控制语句 (表示循环执行中每次变化的内容)。
-
流程图:
-
for循环格式:
for(初始化语句;条件判断语句;条件控制语句)
{循环体语句;}
- 案例
package day3;
/*
输出1-5之间的整数(for循环)*/
public class demo5 {
public static void main(String[] args) {
for(int i=1;i<=5;i++)
{
System.out.println(i);
}
}
}
while循环结构
- 格式:
int i=1;//初始条件
while(i<5){//循环判断语句
System.out.println(i);//循环执行语句
i++;//循环条件改变语句
}
- 实例:
package day3;
public class demo6 {
public static void main(String[] args) {
int m=1;
while (m<=5){
System.out.println(m);//顺序输出1-5
m++;
}
}
}
do while循环
- 格式:
int i=1;//初始化条件语句
do{
循环体语句;
条件控制语句;
}
while(条件判断语句)
- 实例:
package day3;
/*输出1-5*/
public class demo6 {
public static void main(String[] args) {
int i=1;
do {
System.out.println(i);
i++;
}
while (i<=5);
}
}
-
三种循环结构的区别:
for循环和while循环都先判断 循环条件是否成立,再执行循环体。
do·····while循环先执行一次循环体,再判断循环条件是否成立。 -
for循环和while循环区别:
for 循环中 条件控制语句所控制的自增变量,归属于for循环结构,for循环结束不能被访问。
while循环中条件控制语句所控制的自增变量,对于while循环来说不归属于语法结构中,在循环结束后,该变量可继续使用。 -
死循环:指的是一直在循环里面,运行循环体内容,循环永远不停,长时间下耗尽计算机内存。使用CTRL+C结束。
-
死循环格式:
for(;;){}
while(true){}//常用
do{} while(true);
- 案例:
package day3;
public class demo7 {
public static void main(String[] args) {
for (;;)
{
System.out.println("for死循环");
}
while (true) {
System.out.println("while死循环");
}
do {
System.out.println("do...while死循环");
}
while(true);
}
}