这个章节学了三天才看懂皮毛只能这么说了好难啊,还得加油
1.流程控制语句的分类
(1)顺序结构(2)判断和选择结构(if,switch)(3)循环结构
2.顺序结构
最简单的流程控制语句,就是一次按顺序进行的
3判断语句(if)有三种形式(if和Switch属于是分支循环)
第一种形式的格式是:if(关系表达式){;例子:if(a==b){
语句结构 System.ou.println("a=b")
} }
例题:需求:键盘录入一个整数,表示小明的考试名次,如果名次为1,小红可以当小明的女朋有了。
public class test1{
public static void main(String【】args){
//1.键盘录入一个整数,表示小明的考试名次
Scanner sc = new Scanner(System.in);
System.out.println("请输入小明的名次");
int rank = sc.nextInt();
//2.对小明的考试成绩进行判断即可
if(rank == 1){
System.out.println("小红成为了小明的女朋友");
}
}
}
第一种格式的主要点:
对于Boolean的类型的变量时候不要写==直接变量卸载小括号里面
如果大括号中只有一句话那么可以省略大括号哦
(2)if的第二种形式(if else)
if(关系表达式){
语句体;
}else{
语句体:
}
例题:
//键盘录入一个整数,表示身上的钱。
如果大于等于100块,就是网红餐厅。
否则,就吃经济实惠的沙县小吃。
import java.util.Scanner;
public class IfDemo02 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个整数表示身上的钱");
int money = sc.nextInt();
if(moeny>=100){
System.out.println("吃网红餐厅“);
}else{
System.out.println("沙县小吃");
}
(3)if的第三种格式
if (关系表达式1) {
语句体1;
} else if (关系表达式2) {
语句体2;
}
…
else {
语句体n+1;
}
例题:
package text;
import java.util.Scanner;
public class Test5 {
public static void main(String[] args) {
//需求:小马成绩不同层次的奖励,奖励一个手机(100~95),奖励一个汉堡套餐(94~85),奖励一个冰淇淋(84~75,奖励一个大臂兜(74~0)
//首先进行键盘录入小马成绩
Scanner sc=new Scanner(System.in);
System.out.println("请输入小马的成绩哦");
double sorce=sc.nextInt();
if(sorce>0&&sorce<=100){
if (sorce>=95&&sorce<=100){
System.out.println("奖励一个手机");
}else if (sorce>=85&&sorce<=94){
System.out.println("奖励汉堡套餐");
}else if (sorce>=75&&sorce<=84){
System.out.println("奖励一个冰淇淋");
}else if (sorce<=74){
System.out.println("奖励一个大臂兜");
}else{
System.out.println("错误的成绩范围");
}
}
}
}
4.Switch语句(表达式里面一般是变量名)
switch (表达式) {
case 1:
语句体1;
break;
case 2:
语句体2;
break;
...
default:
语句体n+1;
break;
}
他是怎么开始的先对case进行比较找到对应值后遇到break就结束,如果找不到对应的值那么就会执行default的语句然后break结束
(1)default的位置和课省略的情况
default的位置可以放在括号的任何位置哦但是我们还是通常放在后面方便阅读
省略的情况那就的看Switch的特性了
(2)Switch的穿透
break可以不写但是会形成Switch的穿透
switch (week){
case 1,2,3,4,5:
System.out.println("工作日");
break;
case 6,7:
System.out.println("休息日");
break;
default:
System.out.println("没有这个星期数");
break;
原来的代码是这样的
Switch(week){}
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;
}
(3)Switch的特性(注意哦jdk的版本要12或者以上才可以使用)
int number = 10;
switch (number) {
case 1 -> System.out.println("一");
case 2 -> System.out.println("二");
case 3 -> System.out.println("三");
default -> System.out.println("其他");
}
5.Switch和if的区别啥时候用哪个?重点哦
(1)如果说要对一个范围的时候进行判断那么的用if的第三种的形式去书写
(2)如果是对有限个的数据进行列举,选择一个来执行那么就选用Switch来
6.循环结构(for,while,do..while)
什么是循环结构:反复执行某个代码,这个被循环的代码叫做循环体语句,需要在合适的时候把条件改为false来结束循环
格式:
for (初始化语句;条件判断语句;条件控制语句) {
循环体语句;
}
初始化语句:就简单来说是定义一个变量的初始化,int i=0;
条件判断语句就是运算符的运用,i <=100;
条件控制语句:就是每次执行会变化的内容,i++;每循环一次i就加一
循环体语句就是:每次执行的任务。
(1)for循环书写技巧:
-
确定循环的开始
- 条件确定循环的结束条件
-
确定循环要重复执行的代码
-
举个栗子
//需求:打印5次HelloWorld //开始条件:1 //结束条件:5 //重复代码:打印语句 for (int i = 1; i <= 5; i++) { System.out.println("HelloWorld"); }
如何提取数字用for循环
public class ForTest01 { public static void main(String[] args) { //需求:输出数据1-5 for(int i=1; i<=5; i++) { System.out.println(i); } System.out.println("--------"); //需求:输出数据5-1 for(int i=5; i>=1; i--) { System.out.println(i); } } }
练习
for循环练习-统计次数
package text;
import java.util.Scanner;
public class Text13 {
public static void main(String[] args) {
//键盘录入两个数字,表示一个范围。
//统计这个范围中
// 既能被3整除,又能被5整除数字有多少个?
Scanner sc=new Scanner(System.in);
System.out.println("输入第一个数字");
int number1=sc.nextInt();
System.out.println("输入第二个数字");
int number2=sc.nextInt();
int count=0;
for(int i=number1;i<=number2;i++){
if(i%3==0&&i%5==0){
System.out.println(i);
count++;
}
}
System.out.println(count);
}
}
7.while循环
格式:
初始化语句;
while(条件判断语句){
循环体;
条件控制语句;
}
例子
int i = 1;
while(i <= 5){
System.out.println("HelloWorld");
i++;
}
System.out.println(i);
8.do..while循环(了解即可)
初始化语句;
do{
循环体;
条件控制语句;
}while(条件判断语句);
9.for,while,do..while的区别重点
for和while都是先判断在执行然而do..while是先执行一次在进行判断
知道了循环的次数和范围就用for不知次数和范围但是知道结束条件的用while。
10心得
三天才消化结束还是只懂得皮毛,脑袋好痒啊感觉要长脑子了,加油啊