前言
程序的逻辑结构一共有三种:顺序结构、分支结构和循环结构。顺序结构就是按代码的顺序来执行相应的指令。这里主要讲述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)这是不行是!!!
下面编译器就会报错,如果是类型相同的顺序交换就会报错,编译器会认为这是同一个方法,而你进行了重定义~~
但是下面不同类型的顺序交换是可以的: