Java分支和循环语句及方法的使用

2017-05-20  本文已影响0人  征程_Journey

1      分支语句No3

顺序语句

分支语句

循环语句

1.1    分支语句(选择结构)

分支语句满足某种条件则执行某一部分,满足另一种条件则执行另一部分

1.2    if语句

简单分支语句:

if(boolean类型表达式){

语句

}

如果小括号中的表达式成立,则执行大括号中的语句

(大括号如果不加,则仅执行if下的一句语句,一般大括号都会加上)

if~else语句:

if(boolean类型表达式){

语句1

}else{

语句2

}

如果小括号中的表达式成立则执行语句1,否则执行语句2

if ~ else if ~ else

if(表达式1){

语句1

}else if(表达式2){

语句2

}else if(表达式3){

语句3

}else{

语句4

}

如果表达式1成立则执行语句1,否则如果表达式2成立则执行语句2,否则如果表达式3成立则执行语句3,否则执行语句4

这里的else if可以有0到多个

注意:在if else语句中声明的局部变量,生命周期仅限于包含着它的最近的那对大括号(之后学习的循环语句、异常处理语句都是如此,主要看在哪个大括号里声明的)

分支语句可以嵌套,if的语句块中还可以有if ... else,else中也可以有

1.3    switch 语句

switch 语句  switch表示切换、跳转,根据小括号中的变量去跳转;case表示情况,表示当变量等于case后面这个常量的情况下,执行冒号后面跟着的语句,case 可以有一到多个;default表示默认,如果变量不等于任何一个case后面的常量,那么就执行default后的语句。

switch(变量){

case常量1:语句1;break;

case常量2:语句2;break;

case常量3:

语句3;

break;

default:

语句0;

break;

}

注意:

1、实际开发中语句后面一定要跟上break;

2、default 可以不写

3、小括号中的变量类型有限制,在JDK1.7之前只能用int、short、byte、char,(之后可以用String,但一般不用)

4、switch效率比if高一些,但只能处理简单的值相等的判断

5、break如果不加,会继续往后执行,直到遇到break

三目运算符

表达式1?表达式2:表达式3

表达式1是布尔类型的,右边的问号表示判断它是true还是false,如果是true,整个表达式返回表达式2,如果是false整个表达式返回表达式3

三目一般适用于两个分支的情况。

如果非要用于两个以上分支的话,可以用嵌套的方式完成,但不推荐这样做

转义符

回车(return)  '\r'    13

换行(nextLine)  '\n'  10

(在windows中执行换行动作用\r\n;在linux中执行换行动作用\n)

制表(tab)     '\t' (可以用来对齐打印的文字)

双引号        '\"' (反斜杠+双引号表示双引号字符)

单引号        '\'' (反斜杠+单引号表示单引号字符)

反斜杠        '\\' (两个反斜杠表示一个反斜杠)

运算符的优先级

2      循环语句No4

循环语句

2.1    for循环

【一般用于确定循环次数的循环操作】

for(表达式1;表达式2;表达式3){

语句

}

表达式1  在循环开始前执行一次,一般用于初始化

表达式2  循环条件,一般为boolean类型,为true则循环继续,为false则循环终止(不写则表示一直为true)

表达式3  每次循环在语句执行完后执行,一般用于对循环条件进行变更

语句     循环执行的语句,每次表达式2为true,则执行一次语句

循环体中可以进行任何操作,比如可以放入分支语句

在for循环小括号()表达式1中声明的变量,生命周期、作用范围到整个循环结束

在for循环大括号{}循环体中声明的变量,生命周期更短,仅限于单次循环

break打断,如果在循环中被执行,就会打断所在的所有循环

continue继续,如果在循环中被执行,会打断所在的当次循环,继续下一次循环【结束本次循环,直接进入下一次循环】

【退出多层循环】

扩展语法:break、continue后可以跟上标记

ok:for(inti=0;i<5;i++){for(j=0;j<5;j++){

System.out.println(i+”………”+j);

Break ok;  //加一个标记,跳出多重循环-------使用标记

}

}

【自定义退出标记:

Boolean flag = false;

for(int i=0;i<5;i++){for(j=0;j<5;j++){

System.out.println(i+”………”+j);

Flag = true;   //控制外层循环是否结束

Break;       //控制本层循环结束

}

If(flag){break;}

}

循环可以嵌套循环

如果在嵌套循环中执行了break或continue,它只会影响所在那层循环,不会影响外层循环

如果要影响外层循环,就在外层循环break,通过一个在外层循环声明的标记变量,让内层循环通知外去环打断

(break 有label特性可以直接打断外层循环,但一般不使用)

for(;;)死循环

往往会在循环体中进行if判断,如果满足某种条件,就break

2.2    while语句

【一般用于不确定循环次数的循环操作】

while(条件){

语句

}

当条件为true时,不停地执行语句

do...while语句

do{

语句

}while(条件);

和while逻辑一样,但是会先执行语句,再判断。

do...while在任何情况下至少执行一次语句

while语句也可以死循环

while(true){

...

}

注意:for循环和While循环是可以相互替换的

【while(a>0){}    for(;a>0){}】

使用for循环实现死循环:for(;;){}

2:C语言中支持goto关键字的使用

3      方法的使用No5

初学:

疯狂Java讲义

Head First Java

有基础:

Thinking in Java

方法(函数)

f(x)=x+1 数学函数f的定义

f(1)=1+1=2 数学函数f的调用、使用

f(10)=10+1=11  数学函数f的调用、使用

g(x,y)= x + y 数学函数g的定义

g(500,500)=500+500=1000  数学函数g的调用、使用

g(100,900)=100+900=1000  数学函数g的调用、使用

Java中的方法(函数)的定义和使用

定义:

[修饰符] 返回类型 方法名(参数类型 参数1,参数类型 参数2...){

语句

return值;

}

(修饰符暂时都用public static)

调用:

变量 = 方法名(实际的参数)

调用这个方法,会执行方法定义时的逻辑,并将返回值返回出来,可以

用一个变量将方法返回的值保存起来(将方法返回的值赋给一个变量)

注意:方法调用时传入的参数要和定义的时候的参数匹配,或者说实参

要和形参匹配

定义时的参数称为形参(形式参数),调用时传入的参数称为实参

(实际参数)

注意:方法定义时return的值要和声明的返回类型一致

方法调用时会把实参的值赋给形参

(参数类型不一定匹配、返回类型也不一定,具体规则参照水杯、水桶)

方法定义时的返回类型可以是void,表示不返回任何值;(但是返回类型

位置不能什么也不写,不返回也得写上void)

在void的情况也可以return,但是return后不跟任何的值

一旦在方法中执行了return,return后面的语句都不会执行

方法的重载

同一个类中方法同名但参数列表不同

参数列表不同,指参数个数不同或参数类型不同或参数顺序不同

test(int i) test(int i,int j) 个数不同

test(int i) test(double d)    类型不同

test(int i,double d) test(double d,inti)  参数顺序不同

(返回类型无视)

重载案例:PrintStream的println、print系列重载方法

println("hello")

println(1)

println('h')

println()....

这样的设计让使用者更方便

递归方法:方法自己调用自己

1、层层递进

2、归于出口

上一篇下一篇

猜你喜欢

热点阅读