java流程控制


这里我们对流程控制做了一些简单地介绍,用代码的形式初步表现了循环语句,和条件语句的用法,之后我们还会学到语句的嵌套,由于篇幅问题,之后我会开一篇单张进行总结。(今天就写到这里,如果有小伙伴发现了错误,请在评论区留言督促我即使改正。谢谢)
一.用户交互Scanner
– 介绍
在编程中,需要接收用户输入的数据,就可以使用键盘输入语句来获取。
Input.java,需要一个扫描器(对象),就是Scanner
– 步骤:
(1)导入该类的所在包,java.util.*
(2)创建该类对象(声明变量)
(3)调用里面的功能
代码演示:

- 案例演示:
要求:可以从控制台接收用户信息,{姓名,年龄,薪水}。
```java
import java.util.Scanner;
public class Input{
//编写一个main方法
public static void main(String[] args){
//演示接受用户的输入
//步骤
//Scanner类 表示 简单文本扫描器,在java.util 包
//1.引入/导入 Scanner类所在的包
//2.创建Scanner 对象,new 创建一个对象,体会
//myScanner 就是Scanner类的对象
Scanner myScanner = new Scanner(System.in);
//3.接收用户的输入,使用相关的方法
System.out.println("请输入名字");
//当程序执行到next方法时,会等待用户输入~~~
String name = myScanner.next();//接收用户输入字符串
System.out.println("请输入年龄");
int age = myScanner.nextInt();//接收用户输入int
System.out.println("请输入薪水");
double sal = myScanner.nextDouble();//接收用户输入double
System.out.println("人的信息如下");
System.out.println("名字="+name+"年龄="+age+"薪水"+sal);
}
}

 

 

二.条件语句

– If条件判断语句
语法:
if(关系表达式){
复合语句
}
1.关系表达式:必要参数。他最后返回的结果必须是一个布尔值
2.复合语句:可选参数,当关系表达式的结果为true时,执行语句

代码演示:
public class IfDemo {
public static void main(String[] args) {
**//if条件判断语句**
if结构:1条路
1)语法:
if(boolean){
语句块
}
2)执行过程:
判断Boolean的值:
若为true,则执行语句块(if结束)
若为false,则if直接结束

//1)偶数的判断:
int num = 5;//带数5
if (num%2==0){
System.out.println(num+"是偶数");
}
System.out.println("继续执行...");
//2)满500打8折:
double price = 600.0;//消费金额
if (price>=500){//满500
price = price*0.8;//打8折
}
System.out.println("最终结算金额为:"+price);
}

 

– If…else语句
if…else语句中是条件语句中最常用的一种形式,它会针对某种条件有选择的做出处理。通常表现为如果满足某种条件,就进行某种处理,否则进行另外一种处理。

“`java
代码演示:

public class IfElseDemo {
public static void main(String[] args) {



2.if...else结构:两条路
1)语法:
if(boolean){
语句块1
}else{
语句块2
}
2)执行过程:
判断boolean的值:
若为ture,则执行语句块1(整个结束)
若为false,则执行语句块2(整个结束)
3)说明:
语句块1和语句块2,必走其中之一--------2选1

//1)偶数,奇数的判断:
int num = 6;//带数(6,5)
if (num%2==0){
System.out.println(num+"是偶数");
}else {
System.out.println(num+"是奇数");
}
System.out.println("继续执行,,,");
//2)满500打8折,不满500打9折:
double price = 600;//带数(600.0)
if (price>=500){
price *= 0.8;
}else{
price *= 0.9;
}
System.out.println("最终结算金额为:"+price);

}
```

– If…else If多分支语句
总结下来就是,当满足那种条件就走那个代码块。
代码演示:

3.if...else if结构:多条路
1)语法:
if(Boolean-1){
语句块1
}else if(Boolean-2){
语句块2
}else if(Boolean-3){
语句块3
}else{
语句块4
}
2)执行过程:
判断boolean-1,若为ture则执行语句块1(结束),若为false则
再判断Boolean-2,若为ture则执行语句块2(结束),若为false则
再判断Boolean-3,若为ture则执行语句块3(结束),..........
3)说明:
语句块1/2/3/4,只能执行其中之一------------多选一
*/
/*
A:成绩大于等于90
B:成绩大于等于80并且小于90
C:成绩大于等于60并且小于80
D:成绩小于60
*/
int score = 15;
if (score < 0 || score > 100) {
System.out.println("成绩不合法");
} else if (score >= 90) {
System.out.println("A-优秀");
} else if (score >= 80 && score < 90) {
System.out.println("B-良好");
} else if (score >= 60 && score < 80) {
System.out.println("C-及格");
} else {
System.out.println("D-不及格");
}
}

– switch语句
语法:Switch(表达式)
{
case 常量1;
语句1
[break;]
case 常量2;
语句2
[break;]

default
默认处理语句;
[break;]
}
表达式:必要参数,他的结果用于判断执行的case子句。
case 常量:必要的参数,它是分支的入口,用于执行特定于常量的操作。
语句:可以是多条语句,但不是复合语句,因为不需要使用大括号“{ }”
break:可选参数,一般放在case分支语句的最后,在完成操作后,用于跳出Switch语句。
default:这是可选参数,它是Switch语句的默认分支入口,如果表达式的值和所有case子句的常量都不匹陪,那么就执行default分支语句。

代码演示:

public class SwitchCaseDemo {
public static void main(String[] args) {
int num = 2;
switch (num){//byte,short,int,char,String,枚举 (不包括long)
case 1://if(num ==1)
System.out.println(111);
break;//跳出Switch
case 2://以此为口
System.out.println(222);
break;
case 3:
System.out.println(333);
break;
default://所有case都未匹配时执行
System.out.println(666);
}

 

 

 三.循环控制

循环语句就是在满足一定条件下反复执行一个操作。在java中一共提供了三个循环语句,分别是:while循环语句,do…while循环语句和for循环语句。

– for循环

1)语法:
// 1 2 3
for(要素1;要素2;要素3){
语句块/循环体————反复执行的代码 4
}
2)执行过程:
1243243243243243243…2

代码演示:

public class ForDemo {
public static void main(String[] args) {
//输出9的乘法表,只要不能被3整除的-----只要1/2/4/5/7/8


for(int num=1;num<=9;num++){
if(num%3!=0){
System.out.println(num+"*9="+num*9);
}
}

//输出9的乘法表,跳过能被3整除的-----跳过3/6/9
for(int num=1;num<=9;num++){
if(num%3==0){
continue; //跳过循环体中剩余语句而进入下一轮循环
}
System.out.println(num+"*9="+num*9);
}
/*
num=1 1*9=9
num=2 2*9=18
num=3
num=4 4*9=36
num=5 5*9=45
num=6
num=7 7*9=63
num=8 8*9=72
num=9
num=10 false
*/

/*
for(int num=1;num<=9;num++){
if(num==4){ //在某种特定情况下,提前结束循环
break; //跳出循环
}
System.out.println(num+"*9="+num*9);
}
*/
/*
num=1 1*9=9
num=2 2*9=18
num=3 3*9=27
num=4
*/

/*
int num=1;
for(;num<=9;num++){
System.out.println(num+"*9="+num*9);
}
*/

/*
for(int num=1;num<=9;){
System.out.println(num+"*9="+num*9);
num++;
}
*/

/*
for(;;){ //没有条件的循环就是一个死循环
System.out.println("我爱Java");
}
*/

/*
for(int i=1,j=5;i<=5;i+=2,j-=2){
}
*/
/*
i=1,j=5
i=3,j=3
i=5,j=1
i=7,j=-1
*/


/*
for(int times=0;times<5;times++){
System.out.println("行动是成功的阶梯");
}

//for中的循环变量num的作用域----仅在当前for中
for(int num=1;num<=9;num++){
System.out.println(num+"*9="+num*9);
}

for(int num=1;num<=9;num+=2){
System.out.println(num+"*9="+num*9);
}
*/
/*
执行过程:
num=1 true 1*9=9
num=3 true 3*9=27
num=5 true 5*9=45
num=7 true 7*9=63
num=9 true 9*9=81
num=11 false for循环结束
*/


 }
}

 

– while循环
语法:
while(条件表达式){
循环体
}
条件表达式:这是用于控制循环的条件
循环体:这是条件表达式成立的情况下,执行程序代码

代码演示:

1.while结构:
1)语法:
while(boolean){
语句块---------------反复执行的代码
}
2)执行过程:
先判断boolean的值,若为true则执行语句块,
再判断boolean的值,若为true则再执行语句块,
再判断boolean的值,若为true则再执行语句块,
如此反复,直到boolean的值为false时,while循环结束
*/
public class WhileDemo {
public static void main(String[] args) {
//2)输出9的乘法表:
int num = 1; //3*9=27
while(num<=9){
System.out.println(num+"*9="+num*9);
num+=2; //num++;
}
System.out.println("继续执行...");

//1)输出5次"行动是成功的阶梯":
int times = 0; //1.循环变量的初始化
while(times<5){ //2.循环的条件
System.out.println("行动是成功的阶梯");
times++; //3.循环变量的改变
}
System.out.println("继续执行...");
/*
执行过程:-----带数
times=0
true 输出 times=1
true 输出 times=2
true 输出 times=3
true 输出 times=4
true 输出 times=5
false while循环结束
输出继续执行...
*/

– do…while循环
do…while循环语句与while循环语句相似。他们之间的差别就是while语句先判断条件是否成立再执行循环体,而do…while循环语句则先执行一次循环后,再判断条件是否成立。也就是说do…while循环语句中循环体至少要执行一次。

代码演示:

语法:do{
循环体
}while(条件表达式);

```java
do{
System.out.println("猜吧!");
guess = scan.nextInt(); //1+3
if(guess>num){
System.out.println("太大了");
}else if(guess<num){
System.out.println("太小了");
}else{
System.out.println("恭喜你猜对了");
}
}while(guess!=num); //2

 

原创文章,作者:端木书台,如若转载,请注明出处:https://blog.ytso.com/276651.html

(0)
上一篇 2022年7月24日
下一篇 2022年7月24日

相关推荐

发表回复

登录后才能评论