概述
块(block)作用域:块(即复合语句),是指由一对花括号括起来的若干条简单的Java语句。块确定了变量的作用域。一个块可以嵌套在另一个块中。但是,不能再嵌套的两个块中声明同名变量。
-
if条件语句
if 先判断后执行
if(条件为真){
代码块1
}
else{
代码块2
}
注:1、可以省略大括号。2、省略大括号后if结构只能影响到下一行。
多重if结构
if (条件1为真){
代码块1
}
else if (条件2为真){
代码块2
}
else if (条件3为真){
代码块3
}
else {
代码块4
}
实例
import 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语句
switch(表达式){
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循环结构;会使用公式调试程序
int 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循环
基本语法
do{
循环操作
}while();
特点:先执行再判断
- 先执行一遍循环操作
- 符合条件,循环继续执行
- 否则,退出循环
例:
int 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循环(确定循环)
for(表达式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——控制流程( if 语句、switch 语句、while 和 do-while 循环、for 循环、break语句、continue语句)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复