块(block)作用域:块(即复合语句),是指由一对花括号括起来的若干条简单的Java语句。块确定了变量的作用域。一个块可以嵌套在另一个块中。但是,不能再嵌套的两个块中声明同名变量。
-
if条件语句
if 先判断后执行
1
2
3
4
5
6if(条件为真){ 代码块1 } else{ 代码块2 }
注:1、可以省略大括号。2、省略大括号后if结构只能影响到下一行。
多重if结构
1
2
3
4
5
6
7
8
9
10
11
12if (条件1为真){ 代码块1 } else if (条件2为真){ 代码块2 } else if (条件3为真){ 代码块3 } else { 代码块4 }
实例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45import java.util.Scanner; /刚好是打折季,如总价大于50000大7折,否则9折,计算最后应付金额 @author 棣哩哩 @date 2018年9月6日 下午8:14:16 @remarks TODO/ public class ShopppingDemo { public static void main(String[] args) { Scanner input = new Scanner(System.in); float price; int count; double total; /1.让用户输入三种商品的单价和数量 System.out.print("请输入路易斯威登中号手表单价:"); price = input.nextFloat(); System.out.print("请输入商品的数量:"); count = input.nextInt(); total = price * count; /计算总价 System.out.print("请输入爱马仕皮带单价:"); price = input.nextFloat(); System.out.print("请输入商品的数量:"); count = input.nextInt(); total += price * count; /计算两种商品的总价 System.out.print("请输入香奈儿东方屏风香水单价:"); price = input.nextFloat(); System.out.print("请输入商品的数量:"); count = input.nextInt(); /2.计算总价 total += price * count; /计算三种商品的总价 //3.根据总价判断折扣力度 if(total >= 50000){ /打7折 total = total * 0.7; //total *= 0.7; } else { total = total * 0.9; //total *= 0.9; } /4.打印打折后支付金额 System.out.println("需要支付的金额:" + total);//或System.out.printf("需要支付的金额:%.1f" , total); } }
-
多重选择:switch语句
1
2
3
4
5
6
7
8
9
10
11
12switch(表达式){ caae 常量1: 语句1; break; caae 常量2: 语句2; break; .... default: 语句; break; }
使用switch结构时的注意点:
- switch后的表达式类型可以是char、byte、short、int、String、枚举常量。
- case后常量表达式的值不能相同。
- case后允许多条语句,不需要大括号。
- 如不添加break语句,需特别注意执行顺序,否则可能引发多个case分支,出现错误。
- case和default子句的先后顺序可以自行变动。
- default子句可以省略。
switch快捷键:swi Alt+/
switch和多重if对比:
- 相同点:都是用来处理多分支条件的结构。
- 不同点:switch——等值条件判断,条件是有限个的时候(杀鸡刀);
多重if:判断某个连续区间时的情况(杀牛刀)
-
while循环
*理解循环结构基本原理;使用while循环结构;使用do-while循环结构;会使用公式调试程序
1
2
3
4
5
6int i = 0; while(i < 10){ System.out.println("第。。。遍" + (i + 1) + 遍); i++; } i循环变量 i=0初值 i<10判断 i++变量更新
循环三要素:1、循环变量的初值。2、循环变量的判断。3、循环变量的更新。
注:循环变量尽量只用来控制循环的次数;缺少循环变量的更新,循环会一直运行下去。
练习1
练习2
练习3
练习4
练习5
实现播放音乐,只需把文件夹拷到工程下面作为子目录,Java不支持mp3格式,需用格式工厂的软件换换成wav格式。产生随机数代码,播放音乐代码(包括暂停),延迟时间执行程序代码见联练习5。
-
do—while循环
基本语法
1
2
3do{ 循环操作 }while();
特点:先执行再判断
- 先执行一遍循环操作
- 符合条件,循环继续执行
- 否则,退出循环
例:
1
2
3
4
5
6int a = 1,b = 10; do{ b -= a; a++; }while(b-- < 0); 则执行循环语句后b的值为()
分析:do结构第一行执行完 b=9,a=1;第二行执行完 b=9,a=2;while(b-- < 0)等价于while(b < 0)b--;则执行完后b的值应该为8。
练习1
equals三种用法、printf、String.format用法见图。字符串比较不可以y用==,用equals实现。
while和do—while循环的区别
- 执行顺序不同
- 初始情况不满足循环条件时:while循环一次都不会执行,先判断后执行;do—while循环不管任何情况都至少执行一次,先执行后判断。
练习2
调试Java程序步骤
- 设置断点,在左边行数位置双击或者右键 break point。
- 开启调试/单步调试,点工具栏Debug图标进入调试。
- 观察变量的变化(variables) step over单步执行;step into 整体细节。
-
for循环(确定循环)
1
2
3
4for(表达式1;表达式2:;表达式3)循环三要素 { 语句; }
快捷键:fo Alt+/
- 表达式1,通常是为循环变量赋初值,可省略,但分号不能省。例如 int i = 0;或 int cnt = 20;或count=1;
- 表达式2,循环条件,是否继续执行循环,可省略,分号不能省。例如 i < 10;或 cnt == 20;或count >=5;
- 表达式3,更新循环变量,可省略。例如:i++;cn +=2;count--;
练习1
练习2
for循环常见问题:
- 忘记定义循环变量或初始化
- 循环条件缺少时会造成死循环
- 循环变量不更新也会造成死循环
- 不可省略分号
-
中断控制流程语句
break语句
break跳出整个循环,Java还提供了一种带标签的break语句,用于跳出多重嵌套的循环语句。标签必须放在希望跳出的最外层循环之前,并且必须紧跟一个冒号。
练习
continue语句
中断正常的控制流程,continue语句将控制转移到内层循环的首部,即跳过本次循环,继续下次循环,如果将continue语句用于for循环中,就可以跳到for循环的“更新”部分。
练习
break 和 continue 对比:
- 使用场合:break 可用于switch 结构和循环结构中;continue 只能用于循环结构中。
- 作用(循环结构中):break 语句终止某个循环,程序跳转到循环块外的下一条语句;continue 跳出本次循环,进入下一次循环。
循环结构总结
相同点:多次重复执行一个或多个任务时考虑使用循环来解决问题。。
区别:
- 除了语法不同,判断和执行的顺序也不同
- 适用情况不同:循环次数确定的情况下,通常选用for循环;循环次数不确定的情况时,通常选用while和do—while循环。
最后
以上就是小巧黑夜最近收集整理的关于Java学习笔记4——控制流程( if 语句、switch 语句、while 和 do-while 循环、for 循环、break语句、continue语句)的全部内容,更多相关Java学习笔记4——控制流程(内容请搜索靠谱客的其他文章。
发表评论 取消回复