流程控制语句
流程控制语句包括:顺序结构,分支结构,循环结构
分支结构
if语句:
第一种:
if(关系表达式){
语句体
}
else{
语句体2
}
第二种:
if (){
}
else if () {
}
else {
}
如果对于一个布尔类型的变量进行判断,不要用==,直接把变量写在括号里面即可。
switch
表达式:
switch(表达式){
case 值1:
语句;
break;
case 值2:
语句;
break;
.
.
.
default:
语句;
break;
}
//键盘录入一个周几 对应完成任务:
Scanner scanner= new Scanner(System.in);
int week = scanner.nextInt();
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;
case 6:
System.out.println("篮球");
break;
default:
}
- default 可以不写,也没必要一定写在最后一行,但是习惯性写在最后一行
- 不过省略break,会导致case穿透,case后面的语句都会执行。
表示范围的可以用if循环,表示具体指的可以用Switch更方便
循环体
for循环
for (初始化语句;条件判断语句;条件控制语句){
循环语句
}
while循环
格式化语句;
while(条件判断语句){
循环语句;
条件控制语句;
}
for 与while的对比:
相同点:
- 运行规则一样
区别:
- for循环中,控制循环的变量,因为归属for循环的语法结构中,在for循环结束后就不能被访问到了
- while中,控制循环的变量,对于while循环来说不归属其语法结构中,在while循环结束后,该变量还可以继续使用。
案例:
判断回文整数:
//定义数字
Scanner sc=new Scanner(System.in);
System.out.println("请输入一个整数");
int x =sc.nextInt();
int num= 0;
int y = x;
//利用while循环
while (x!=0){
//从右往左获取每一个值
int a = x%10;
//修改一下x记录的值
x = x/10;
//把当前获取的数字拼接到最右边
num = num*10+a;
}
System.out.println(num);
//此时x的值已经发生改变;num不能与x进行比较
System.out.println(num==y);
循环高级:
无限循环:一般用while
while(true){
}
无限循环下面不能写代码 读不到。
控制
break:结束整个循环
continue:跳过本次循环,继续执行下次循环;