- 顺序结构
- Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。
- 顺序结构是最简单的算法机构。
- 语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。
- 选择结构
- if单选择结构
- 我们很多时候需要去判断一个东西是否可行,然后我们才去执行,这样一个过程在程序中用if语句来表示
- 语法:
- if单选择结构
if(布尔表达式){
//如果布尔表达式为true将执行的语句
}
- 选择结构
- if双选择结构
- 语法:
if(布尔表达式){
//如果布尔表达式的值为true
}else{
//如果布尔表达式的值为false
}
- 选择结构
- if多选择结构
- if语句中至多有一个else语句,else语句在所有的else if语句之后。
- if语句可以有若干个else if语句,他们必须在else语句之前。
- 一旦其中一个else if语句检测为true,其他的else if以及else语句都将跳过执行。
- 语法:
- if多选择结构
if(布尔表达式 1){
//如果布尔表达式 1的值为true执行代码
}else if(布尔表达式 2){
//如果布尔表达式 2的值为true执行代码
}else if(布尔表达式 3){
//如果布尔表达式 3的值为true执行代码
}else{
//如果以上布尔表达式都不为true执行代码
}
- 选择结构
- 嵌套的if结构
- 使用嵌套的if…else语句是合法的。也就是说你可以在另一个if或者else if语句中使用if或者else if语句。你可以像if语句一样嵌套else if…else。
- 语法:
- 嵌套的if结构
if(布尔表达式 1){
//如果布尔表达式 1的值为true执行代码
if(布尔表达式 2){
//如果布尔表达式 2的值为true执行代码
}
}
思考?我们需要寻找一个数,在1-100之间。
if嵌套分成1-50和51-100。
- 选择结构
- switch多选择结构
- 多选择结构还有一个实现方式就是switch case语句。
- switch case语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
- 语法:
- switch多选择结构
switch(expression){
case value :
//语句
break;//可选
case value :
//语句
break;//可选
//你可以有任意数量的case语句
default ://可选
//语句
}
- switch语句中的变量类型可以是:
- byte、short、int或者char。
- 从Java SE 7开始
switch支持字符串String类型了 - 同时case标签必须为字符串常量或字面量。
- 注意:
- switch匹配一个具体的值。
- case 穿透现象。
- 如果没有写break,那么就会把匹配到的值以及后面的值全部输入。所以建议写上break。
- 为什么能比较字符串:
- JDK7的新特性,表达式结果可以是字符串。
- 字符的本质还是数字。
- 通过反编译查看源码可以得知:
java编译后变成class(字节码文件)
case为字符串的会生成对应的hashCode,匹配的时候是通过比较hashCode值来判断。
每一个对象都有自己的hashCode,通过特定算法生成。