结构
1.顺序结构
-
java 的基本结构,就是顺序结构, 除非有特别的指明,否则就按照顺序一步一步的执行
-
顺序结构是最简单的算法结构
-
语句与语句之间,框与框之间是按照从上到下的顺序进行的,它是由若干依次执行的出理步骤组成的,是任何一算法都离不开的一种基本算法结构。
package Struct; /** * @author java小白松 */ public class ShunXiDome01 { public static void main(String[] args) { System.out.println("hello1"); System.out.println("hello4"); System.out.println("hello3"); System.out.println("hello2"); System.out.println("hello5"); } }
2.选择结构
- if单选择结构
- if双选择结构
- if多选择结构
- 嵌套的if结构
- switch多选择结构
if 单选泽结构
-
我们很多时候需要判断一个东西是否可行,然后我们才去执行,Java中我们可以用if语句来表示
-
语法
if(布尔表达式){ //如果布尔表达式为true将执行括号中的语句 }
package Struct; import java.util.Scanner; /** * @author java小白松 */ public class IfDome01 { public static void main(String[] args) { Scanner scanner =new Scanner(System.in); System.out.println("输入内容"); String s=scanner.nextLine();//用来接收用户的输入 if (s.equals("Hello")){ System.out.println(s); } System.out.println("end"); scanner.close(); } }
if双选择结构
-
如果需要两个进行判断的时候,就 需要使用if-else 结构
-
语法
if(布尔表达式){ //为true执行这个括号中的语句 }else{ // 为false执行第二个括号中的语句 }
package Struct; import java.util.Scanner; /** * @author java小白松 */ public class IfDome02 { public static void main(String[] args) { Scanner scanner=new Scanner(System.in); System.out.println("请输入成绩"); int score=scanner.nextInt(); if (score>=60){ System.out.println("及格"); }else { System.out.println("不及格"); }
if 多选择结构
-
选择不仅有两个所以使用多选择语句
-
语法
if(布尔表达式1){ // 1为true 执行 }else if(布尔表达式2){ //2为true执行 }else if(布尔表达式3){ //同上 }else{ //以上布尔表达式都为false执行else }
-
-
package Struct;
import java.util.Scanner;
/**
* @author java小白松
*/public class IfDome03{
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("请输入分数");
double score=scanner.nextDouble() ;
if(0<=score&&score<60){
System.out.println("不及格");
}else if (60<=score&&score<70){
System.out.println("及格");
}else if (70<=score&&score<80){
System.out.println("中");
}else if (80<=score&&score<90){
System.out.println("良");
}else if (90<=score&&score<100){
System.out.println("优");
}else{
System.out.println("输入不正确");//输出任意一个,剩下的的就不执行
}
scanner.close();
}
}
/*多选择语句至多有一个else,可以有多个elseif语句,else在多选的语句的最后面,else if可以有多个
只要有一个布尔表达式为true那就执行该表达式的括号的语句,其他的就不被执行了。
*/
if的嵌套语句
if(布尔表达式1){
// 布尔表达式1为true执行里面的if语句
if(布尔表达式2){
//布尔表达式2位true 这个括号中的语句
}
}
switch多选择结构
- 多选择结构还一个实现方式就是Switch case 语句
- switch case语句判断一个变量与一系列值中的某一值是否相等,每一个值称为一个分支
switch(expression){
case value:
//语句
break;
case value:
//语句
break;
case value:
//语句
break;
default:
// 语句
}
switch语句中的变量类型可以是:
- byte。short。int或者char。
- 从JavaSE7开始
- switch支持字符串String类型了
- 同事case标签必须字符串常量或字面量
package Struct;
import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;
/**
* @author java小白松
*/
public class SwicthDome04 {
public static void main(String[] args) {
char grade='n';
switch (grade){//case穿透switch 匹配一个具体的值
case 'a':
System.out.println("优秀");
break;//break是跳出当前语句,在此之后的语句都不执行了
case 'b':
System.out.println("良");
break;//可以选择写可以不写
case'c':
System.out.println("中");
break;
case 'd':
System.out.println("及格");
break;
default://可以选择不选择
System.out.println("不及格");
}
}
}
package Struct;
/**
* @author java小白松
*/
public class SwicthDome05 {
public static void main(String[] args) {
String name="黄松松";
switch (name){
case "黄松":
System.out.println("m");
break;
case "黄松松":
System.out.println("song");
break;
default:
System.out.println("wu");
}
}
}
反编译
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package Struct;
public class SwicthDome05 {
public SwicthDome05() {
}
public static void main(String[] args) {
String name = "黄松松";
byte var3 = -1;
switch(name.hashCode()) {
case 1286458:
if (name.equals("黄松")) {
var3 = 0;
}
break;
case 39906692:
if (name.equals("黄松松")) {
var3 = 1;
}
}
switch(var3) {
case 0:
System.out.println("m");
break;
case 1:
System.out.println("song");
break;
default:
System.out.println("wu");
}
}
}
Ctrl+Alt+shift+S 找到.class文件,粘贴到。Java文件中。就能反编译。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6DcP1Tix-1601372376572)(C:\Users\黄松松\AppData\Roaming\Typora\typora-user-images\image-20200929173536274.png)]
0:
System.out.println(“m”);
break;
case 1:
System.out.println(“song”);
break;
default:
System.out.println(“wu”);
}
}
}
Ctrl+Alt+shift+S 找到.class文件,粘贴到。Java文件中。就能反编译。
[外链图片转存中...(img-6DcP1Tix-1601372376572)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rggPWmk7-1601372376573)(C:\Users\黄松松\AppData\Roaming\Typora\typora-user-images\image-20200929173619098.png)]