顺序结构
-
Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。
-
顺序结构是最简单的算法结构。
-
语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。>
System.out.println("hello world1" ); System.out.println("hello world2" ); System.out.println("hello world3" ); System.out.println("hello world4" ); System.out.println("hello world5" ); System.out.println("hello world6" );
选择结构
-
if单选择结构
-
我们很多时候去判断一个东西是否可行,然后我们才去执行,这样一个过程在程序中用if语句表示。
-
语法:
if(布尔表达式){ //如果布尔表达式为true将执行的语句 }
//单选择结构 //创建扫描对象,接收键盘信息 Scanner scanner = new Scanner(System.in); System.out.println("请输入你的内容"); //选择输入类型 String s = scanner.nextLine(); //if单选择结构判断语句 //equals:判断字符串是否相同(字符串尽量少拿==去比较) if (s.equals("hello")){ //如果相等输出:hello System.out.println("hello"); } //输出不相等输出:End System.out.println("End"); scanner.close();
-
-
if双选择结构
-
语法:
if(布尔表达式){ //如果布尔值表达式为true }else{ //如果布尔表达式为false }
public class IfDemo02 { public static void main(String[] args) { //if双选择结构 Scanner scanner = new Scanner(System.in); System.out.println("请输入你的成绩"); int score = scanner.nextInt(); //考试大于等于60及格,否则就不就及格 if (score>=60){ System.out.println("及格,考的不错"); }else { System.out.println("不及格,再接再厉"); } scanner.close(); } }
-
-
if多选择结构
- 语法:
if(布尔表达式1){ //如果布尔表达式1的值为true执行代码 }else if{ //如果布尔表达式2的值为true执行代码 }else if{ //如果布尔表达式3的值为true执行代码 }else{ //以上布尔表达式都不为true执行代码 }
在很多时候,双选择结构是不足以满足的,接下来使用多选择结构进行优化:
public class IfDemo03 { public static void main(String[] args) { //if多选择结构 Scanner scanner = new Scanner(System.in); System.out.println("请输入你的成绩:"); int score = scanner.nextInt(); //考试成绩90-99为:A; 80-89为:B; 70-79为:C; 60-69为:D //0-59为不及格; 超出0-100范围为:成绩无效 if (score==100){ System.out.println("恭喜您获得满分"); }else if (score<100 && score>=90){ System.out.println("A级"); }else if (score<90 && score>=80) { System.out.println("B级"); }else if (score<80 && score>=70) { System.out.println("C级"); }else if (score<70 && score>=60) { System.out.println("D级"); }else if (score<60 && score>=0){ System.out.println("不及格,再接再厉"); }else{ System.out.println("成绩不在范围内,成绩无效"); } scanner.close(); } }
注意点:
- if语句中必须有一个else语句,else语句在所有的else if之后。
- if语句可以有若干个的else if语句,他们必须在else之前。
- 一旦其中的一个else if 为true时,其他的else if 和else都直接跳过执行。
-
嵌套的if结构
-
使用嵌套的if…else语句是合法的,也就是说可以在另一个if或者else if语句中使用if或者else if语句。可以向if语句一样嵌套else if …else
-
语法:
if(布尔表达式1){ //如果布尔表达式1的值为true执行代码 if(布尔表达式2){ //如果布尔表达式2的值为true执行代码 } }
-
-
switch多选择结构
switch(expression){ case value: //语句 break;//可选 case value: //语句 break;//可选 //可以有任意数量的case语句 default://可选 }
- 多选择结构还有一个实现方式就是switch case语句。
- switch case 语句判断一个变量与一系列值中某个值是否对等方,每个值称为一个·分支。
- switch 语句中的变量类型可以是
-
byte、shrot、int或者char。
-
从java SE7开始
-
switch支持字符串String类型了
-
同时case标签必须为字符串常量或字面量
-
public class SwitchDemo01 {
public static void main(String[] args) {
//switch:
// 匹配一个具体的值,执行case语句时,先进行匹配,匹配成功返回case的值
// 再进行判断有没有break,有就执行当前结果,没有就继续输出下面的内容直到结束或遇到有break。
char grade = 'B';
//case穿透:
//当case语句结束时,没有break就会输出下个分支的内容,称为:case穿透
//匹配数值分区分大小写。
switch (grade){
case 'A':
System.out.println("优秀");
break;//可选
case 'B':
System.out.println("良好");
case 'C':
System.out.println("及格");
case 'D':
System.out.println("不及格");
default://可选
System.out.println("未知等级");
-
从JDK7的新特性,表达式结果可以是字符
- 字符的本质是数字.
-
反编译:java-----class(字节码文件)-----反编译(工具:IDEA)
- 首先找到存在编译后存放class文件的路径:File—Project Structure----Project compiler output(就是class存放的文件)
- 再将class文件复制到idea文件夹中(通过文件层面复制)
错题集:
-
在进行else if 语句判断成绩范围时,输入的数字要在比较范围数字的前面,否则输出结果显示会一直为A:
错误输入:else if (score<100 && 90>=score);
正确输入:else if (score<100 && score>=90);
2.没有进行关闭:scanner.close