1.if-else条件判断结构
1.1.
结构一:
if(条件表达式){
执行表达式
}
结构二:二选一
if(条件表达式){
执行表达式1
}else{
执行表达式二
}
结构三:n选1
if(条件表达式){
执行表达式1
}else if(条件表达式){
执行表达式2
}else if(条件表达式){
执行表达式3
}
···
else{
执行表达式n
}
1.2 .说明:
1.else结构是可选的。
2.针对于条件表达式:
>如果多个表达式之间是“互斥”关系(或没有交集的关系),哪个判断和执行语句声明在上面还是下面,无所谓。
>如果多个条件表达式之间有交集的关系,需要根据实际情况,考虑清楚应该将哪个结构声明在上面。
>如果多个条件表达式之间有包含的关系,通常情况下,需要将范围小的声明在范围大的上面,否则,范围小的就没机会执行了。
3.if-else结构是可以相互嵌套的。
4.如果if-else结构中的执行语句只有一行时,对应的一对{}可以省略,但是不建议省略。
2.switch-case选择结构
2.1
switch(表达式){
case 常量1:
执行语句1;
//break;
case 常量2:
执行语句2;
//break;
…
default:
执行语句n;
//break;
2.2说明:
1.根据switch表达式中的值,依次匹配各个case中的常量,一旦匹配成功,则进入相应case结构中,调用其执行语句。
当调用完执行语句以后,则仍然继续向下执行其他case结构中的执行语句,直到遇到break关键字或此switch- case结构末尾结束为止。
2.break,可以使用在switch- case结构中,表示一旦执行到此关键字,就跳出switch- case结构。
3.switch结构中的表达式,只能是如下的6种数据类型之一:
byte、short、char、int、枚举类型(JDK5.0新增)、String类型(JDK7.0新增)。
4.case之后只能声明常量,不能声明范围。
5.break关键字是可选的。
6.default:相当于if- else结构中的else。
default结构是可选的,而且位置是灵活的。
3.如果switch- case结构中的多个case的执行语句相同,则可以考虑进行合并。
4.break在switch- case中是可选的。
补充:Scanner
具体实现步骤:
1.导包:import java.util.Scanner;
2.Scanner 的实例化:Scanner scan = new Scanner(System.in);
3.调用Scanner类的相关方法(next()/nextXxx()),来获取制定类型
String name = scan.next();
int age = scan.nextInt();
double weight = scan.nextDouble();
boolean islove = scan.nextBoolean();
//对于char型的获取,Scanner没有提供相关的方法,只能获取一个字符串
String gender = scan.next();
char genderChar = gender.charAt(0);//获取索引为0位置上的字符
循环:
1.循环结构的四要素
1.初始化条件
2.循环条件 --->是boolean类型
3.循环体
4.迭代条件
说明:通常情况下,循环结束都是因为2中循环条件返回false了
2.三种循环结构:
2.1for循环结构
for(1;2;4){
3
}
执行过程:1-2-3-4-2-3-4-···-2
2.2while循环结构
1
while(2){
3;
4;
}
执行过程:1-2-3-4-2-3-4-...-2
说明:写while循环千万小心不要丢了迭代条件。一旦丢失就可能导致死循环!
for和while循环总结:
1.开发中,基本上我们都会从for、while中进行选择,实现循环结构。
2.for循环和while循环是可以相互转换的!
区别:for循环和while循环的初始化条件部分的作用范围不同。
3.我们写程序,要避免出现死循环。
2.3do-while循环结构
1
do{
3;
4;
}while(2);
执行过程:1-3-4-2-3-4-...-2
说明:
1.do-while循环至少会执行一次循环体!
2.开发中,使用for和while更多一些,较少使用do-while
3.“无限循环”结构:while(true)或for(;;)
总结:如何结束一个循环结构?
方式一:当循环条件是false时
方式二:在循环体中,执行break跳出循环
4.嵌套循环
1.嵌套循环:将一个循环结构A声明在另一个循环结构B的循环体中,就构成了嵌套循环
内层循环:循环结构A
外层循环:循环结构B
2.说明:
1.内层循环结构遍历一遍,只相当于外层循环循环体执行了一次
2.假设外层循环需要执行m次,内层循环需要执行n次。此时内层循环的循环体一共执行了m*n次
3.外层循环控制行数,内层循环控制列数
补充:衡量一个功能代码的优劣:
1.正确性
2.可读性
3.健壮性
4.高效率与低存储:时间复杂度、空间复杂度(衡量算法的好坏)