一、流程控制
java的流程控制语句有条件语句、选择语句以及循环语句
第一 判断结构
1、判断语句if,第一种格式:
if (布尔型表达式)
{
执行语句
}
判断语句就跟我们日常说话一样,如果(if)满足条件(布尔型表达式为真),则执行语句块中的代码。
2、判断语句if,第二种格式:
if (布尔型表达式)
{
执行语句1
}
else
{
执行语句2
}
这种是,如果(if)满足条件(布尔型表达式为真),则执行if语句块中的代码,否则的话就执行else语句块中的代码。
if (布尔型表达式1)
{
执行语句1
}
else if (布尔型表达式2)
{
执行语句2
}
else
{
执行语句3
}
这种情况是,如果(if)满足条件(布尔型表达式为真),则执行if语句块中的代码,否则的话就去判断else
if的条件是否满足,如果满足就执行else if语句代码块中的代码,要是都不满足的话,那就执行else语句块中的代码。
4、三元运算符,格式:(布尔型表达式)?表达式1:表达式2
好处:可以简化if else代码的书写
弊端:因为是一个运算符,是有返回值的,必须有接收这个返回值的变量。而if语句运算完可无需结果。
第二 选择结构
1、选择结构,switch语句,格式:switch (表达式)
{
case 取值1:
执行语句;
break;
case 取值2:
执行语句;
break;
......
default :
执行语句;
break;
}
2、switch特点:
①、表达式不可为布尔型表达式
②、case的取值只能为byte、short、int、char以及字符串(1.7出现)、枚举(1.5出现)等六种类型,
③、一般操作int和char,内部case和default顺序可以无序,但是执行的时候却是先执行case再default。
④、结束switch语句的两种情况:遇到break或者执行到switch结尾结束。
⑤、如果没有break,每个case都会判断一次,如果不符合表达式的值,则继续判断下面的case取值,如果满足表达式的值,执行完当前语句后,会继续判断并执行后面全部的语句,直到switch语句结束。
int i = -1;
switch (i) {
default:
System.out.println("d");
case 2:
System.out.println("a");
case 3:
System.out.println("b");
break;
case 4:
System.out.println("c");
break;
}
输出结果为:d、a、b
3、关于if和switch
1、选择if:运算结果为布尔型的,含有判断区间的,或其他情况下使用if。使用范围更广。
2、选择switch:判断少量具体数值,类型仅为byte、short、int和char和字符串的时候。因为在加载switch的时候,这些数据会全进内存。效率相对if稍高一些。
定义初始化表达式;
while (条件表达式)
{
循环体(执行语句);
}
2、do while循环
定义初始化表达式;
do
{
循环体(执行语句);
}
while (条件表达式)
特点:先执行一次循环体,然后再进行判断,如果满足继续,不满足退出。循环体至少被执行一次。
3、for循环
for (初始化表达式;循环条件表达式;循环后操作表达式)
{
执行语句;
}
4、无限循环,最简单方式
for(;;){}
while(true){}
5、 for和while能互换,如果变量是用来控制循环增量。用for更为优化。
6、标号只能用于循环w:for(){q:for(){break w}}跳出外层循环
格式:
修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,......)
{
执行语句;
return 返回值;
}
修饰符:public(包外,子类,包内,类内),protected(子类,包内,类内),default(包内,类内),private(类内),这四种级别的修饰符都可以用来修饰类、方法和字段。
返回值类型:函数执行完后返回的值的类型,如果不需要返回值就定义为void
函数名:自定义,最好有意义,而且符合定义规则哟,在此就不再累述。
形 式 参 数:是一个变量,用于存储调用函数时传递给函数的实际参数
实 际 参 数:传递给形式参数的具体数值
return:用于结束函数运行的语句,表示函数执行完毕,每个方法都有return,如果自己没写,系统会自动加一个。
返回值:返回给调用者的值
定义函数:首先要明确函数的功能,这个功能实现的运算结果是什么,其实就是在明确返回值类型;在定义函数功能的过程中需要明确是否含有未知内容参与运算其实就是在明确函数的参数列表(参数类型和参数个数)
函数的特点:
1、定义函数可以将功能代码进行封装,体现了java的封装性
2、定义函数可以提高代码的复用性,便于使用,可对功能进行复用
3、函数需要被调用才能被执行
4、无返回值类型的函数用void修饰,则可以省略函数中的return
5、函数中不可以定义函数(内部类除外),但函数间可以相互调用。
函数的重载:
1、定义:在同一个类中,允许存在一个以上的同名函数,只要他们的参数个数或者参数类型不同即可。
2、特点:与返回值类型无关,只看参数列表。
3、好处:方便阅读,优化了程序设计。