这里我们对流程控制做了一些简单地介绍,用代码的形式初步表现了循环语句,和条件语句的用法,之后我们还会学到语句的嵌套,由于篇幅问题,之后我会开一篇单张进行总结。(今天就写到这里,如果有小伙伴发现了错误,请在评论区留言督促我即使改正。谢谢)
一.用户交互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