前言
程序的逻辑结构一共有三种:顺序结构、分支结构和循环结构。顺序结构就是按代码的顺序来执行相应的指令。这里主要讲述Java的分支结构和循环结构,由于和C语言是有相似性的,所以这里只会提及不同点和注意要点~~
注意在C语言中,非0表示真,0表示假,所以条件判断我们常常使用表达式的结果作为真假,但是在Java中我们只能使用布尔表达式来作为条件判断!!!
分支结构
if
我们要注意只能使用布尔表达式来进行条件判断,其余和C语言是一样的,大家来看一下代码案例就可以了:
public class Test {public static void main(String[] args){int a = 10;if(a > 10){System.out.println("a > 10");}else if(a == 10){System.out.println("a = 10");}else{System.out.println("a < 10");}}
}
这里要注意悬垂else,else 总是和最近的 if 语句进行匹配的!!!
int x = 10;
int y = 10;
if (x == 10) if (y == 10)System.out.println("aaa");
else System.out.println("bbb");
像这个代码,else 是和 if(y == 10)进行匹配的~~
switch
switch的括号内只能是以下类型的表达式:
基本类型:byte、char、short、int,注意不能是 long 类型也不能使用小数(double 和 float 类型)还有boolean类型也是不可以使用的~~
引用类型:String常量串、枚举类型
大家记住可以使用的类型即可~~
int a = 10;switch(a){case 1:System.out.println(1);break;case 10:System.out.println(10);default:System.out.println(0);break;}
用法和C语言是一样的~~
循环结构
还是一样,循环的条件判断只能使用布尔表达式~~
这里不过多讲解,和C语言都是一样有while,for,do while三大循环结构,do while我们用得比较少 ~ ~
方法
方法就是我们C语言的函数,在Java中被叫做方法~~
方法是有重载的,就是Java支持方法名是一样的,但是可以执行不同的内容,例如书写加法函数,你需要两个整数相加,或者浮点数,又或者三个数字相加等等,这时候由于都是执行加法操作,所以我们可以使用相同的方法名(例如add)来书写函数,这样就避免了取名的复杂度,到时候要调用的时候,我们再去选择就可以了。
public static float add(float a,float b) {return a + b;}public static int add(int a,int b,int c) {return a + b + c;}public static double add(double a,double b) {return a + b;}public static int add(int a,int b) {return a + b;}public static void main(String[] args) {int a = 10;int b = 20;}
编译器会提示我们要调用哪个具体的方法,左边就是形参部分,右边就是返回值的类型。
小结一下,方法的重载指的是方法名相同,参数列表不一样(参数的类型,顺序,个数),与返回值的类型无关!!!
这里还要注意顺序不一样,是指数据类型不完全相同的顺序不同,假设如果都是int类型的形参,一个方法是(int a, int b),而另一个却是(int b, int a)这是不行是!!!
下面编译器就会报错,如果是类型相同的顺序交换就会报错,编译器会认为这是同一个方法,而你进行了重定义~~
但是下面不同类型的顺序交换是可以的: