顺序结构
Java的基本结构就是顺序结构,除非特别指明,否则就是按照顺序一句一句执行。
顺序结构是最简单的算法结构。
语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。
选择结构
if单选择结构
我们很多时候需要去判断一个东西是否可行,然后我们才去执行,这样一个过程在程序中用if语句来表达
语法:
if(布尔表达式){
//如果布尔表达式为true将执行的语句
}
这里可以沿用之前学过的Scanner:
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);
scanner.close();
}
在这里的s.equals的意思是判断s所表示的字符串是否和后面的Hello相同,当判断字符串时尽量别用 == 。
if双选择结构
当我们的需求中需要两个判断,也就是需要一个双选择结构,所以就有了if-else结构。
例子:
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("不及格");
}
scanner.close();
}
语法:
if(布尔表达式){
//如果布尔表达式为true将执行的语句
}else{
//如果布尔表达式为false将执行的语句
}
if多选择结构
很多选择不仅仅只有两个,所以要用多选择结构处理
语法:
if(布尔表达式1){
//如果布尔表达式1为true将执行的语句
}else if(布尔表达式2){
//如果布尔表达式2为true将执行的语句
}else if(布尔表达式3){
//如果布尔表达式3为true将执行的语句
}else{
//如果以上布尔表达式都不为true将执行的语句
}
写程序的一定要严谨,注意超出范围时要提醒结果不合法
if嵌套结构
在一个if里再加一个if
语法:
if(布尔表达式1){
//如果布尔表达式1为true将执行的语句
if(布尔表达式2){
//如果布尔表达式2的值为true执行的语句
}
}
switch多选择结构
switch case语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
switch语句重点变量类型可以是:
byte、short、int或者char
从Java SE7开始,switch支持字符串String类型了
case标签必须为字符串常量或字面量
语法:
int N = 2;
switch (N){
case 2:
System.out.println("2");
break;
case 's':
System.out.println("s");
break;
default:
System.out.println("wrong");
}
case后面的表示前面switch后面的变量对应的值,下面是值相对应就输出的语句。
break这里的作用就是切断语句,如果中间没有break,那么就会发生穿透,也就是在对应值的case后面的语句都执行。
default指以上case都不符合的情况下,就输出default下的语句。
注意这里char的话是单引号,且下面case后的也要写单引号才对应。case后面也可以用string类型。
通过反编译看源码
反编译,举例就是正常通过java编译成class文件,然后要看懂class文件就需要反编译成java。
学会看源码,在IDEA里打project structure,里面有一个Project compiler output,下面的地址就是输出的class文件的位置,打开这个位置,把里面的class文件拖到IDEA的project对应的文件夹里(通过右键相应的文件夹有一个show in explorer来打开文件夹),就能在IDEA里打开源码文件。