java基础---------循环结构
一、重点知识
选择条件语句时,可以根据if 和switch 的作用类型选择用哪个——————if布尔型 switch五种
if后是个布尔型就可以了,直接放一个布尔型变量也可以
记得测试类一定要写main方法后再测试
局部变量
作用范围:定义开始到所在代码块结束 主要看在哪个{} 内
if语句内定义的变量作用范围只在if语句内 if的一对花括号
重合的作用范围内命名不能相同,注意见名知意原则
do - while while 后面别忘了加分号;
for循环中可以把变量声明再外面,然后再括号内赋值
for的优势,结构清晰
for循环的几种变形 (4种)
1、表达式2如果省略,表示循环永真。循环条件默认是true--->成立
2、表达式3:本来是跟在循环体后面执行的。但是不是很建议
3、如果表达式1、3都省略,只剩表达式2-->相当于
while(循环条件){
}
4、如果表达式1,2,3都省略:for(;;){}--->相当于
while(true){
}
注意for循环中三个分号是一定要有的!!!!!!
迭代条件和循环体放在一起也可以,算一种变形====同样的执行顺序
初始化条件也可以写在外面,里面省略
死循环后面不能再写代码,因为永远都不能被执行
三种循环可以互相替代
循环次数固定的建议用for 循环次数不固定的建议用while
for循环比较重要,以后有一个增强for循环
记住i自增一的三种格式
二、重点问题
某数学竞赛中,参赛人数大约在380-450之间。比赛结果,全体考生的总平均分为76分,男生的平均分为75,女生的平均分为80.1,求男女生各有多少人。
public class HomeWork {
public static void main(String[] args) {
//i表示总人数
for (int i = 380; i <= 450; i++) {
//j表示男生人数
for( int j = 1;j <=i ;j++){
int k = i - j;
if((j * 75.0 + k * 80.1) == i * 76.0){
System.out.println("男生" + j + "女生" + k);
} } } }}
总结:记住并不是双层循环意味着只用两个变量去计算,注意根据题目,梳理好它们之间的关系,然后再设置条条件去计算
三、课堂知识
3.1、局部变量
局部变量:定义在函数里面的变量。
1、局部变量只能在当前所声明该变量的代码块中使用,超出当前代码块的范围无效。报错:找不着符号。作用域问题:可以作用的范围!!!
2、在一个变量的作用范围内,任何的地方都可以直接使用该变量。
3、在一个变量的作用域范围内,不能定义相同名字的其他变量。
4、局部变量未赋值,不能直接使用。
3.2、循环结构
概念
条件满足,某些代码会被反复多次的执行。条件不成立了,循环结束。0-n次。
为什么使用循环
开发中可能会把某些代码需要执行多次,不使用循环,会出现以下问题
1、代码过于臃肿!
2、代码阅读性极差!
3、代码维护性极差!
循环的组成部分
1、初始化部分:对循环变量进行初始赋值。
2、循环条件部分:判断循环变量是否满足循环条件。
3、循环体部分:要循环执行的具体的代码。
4、迭代部分:修改循环变量的值。
3.21 for循环
for(表达式1:循环变量的初始化 ; 表达式2:循环的条件 ; 表达式3:循环变量的变化 ){
//循环体;
}
执行流程:
首先执行表达式1:只执行1次。惯用于初始化循环变量。
然后执行表达式2:循环的判断条件:boolean-->true,false
如果为true,执行循环体;
然后再执行表达式3:变量的变化
然后再判断条件是否成立,如果成立,就继续
否则条件不成立,就结束整个循环
for循环的优势
1、for循环的语法结构很清晰。
2、for循环,很方便的推算出循环的次数。
3.22 while循环
while( 循环条件判断 ){
//循环体
//(循环中变量的变化)
}
执行流程:
首先判断while之后的小括号里的循环条件的值:boolean--->true,false
如果是true,表示循环条件成立,那么执行{}里的内容,然后再来判断条件
如果是false,表示循环条件不成立,那么循环结束
注意事项:
1、学会循环过程推理,避免死循环
2、如果出现死循环,ctrl+c 终止程序
//while循环的特点:先判断条件,再执行代码。
3.23do-while循环
do{
//循环体
//(循环变量的变化)
}while( 循环条件 );
执行流程:
首先执行do后{}之间的内容,然后再判断while里的循环条件。
如果条件为true,循环就继续执行。
如果条件为false,循环终止!
3.24 几种循环的比较
1、对于同一个问题,三种循环可以互相替代。
2、循环次数确定的情况下,优先选择for循环,循环次数不固定的建议while,do-while循环。
3、要防止无限循环--->死循环