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

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、归于出口

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,242评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,769评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,484评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,133评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,007评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,080评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,496评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,190评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,464评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,549评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,330评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,205评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,567评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,889评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,160评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,475评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,650评论 2 335

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,493评论 18 399
  • 作者的序言 朋友们,弃疗系列4出来啦,作者还并没有放弃,感觉自己萌萌哒,233。 语句 js程序其实就是一系列可执...
    zhaolion阅读 1,736评论 0 8
  • 86.复合 Cases 共享相同代码块的多个switch 分支 分支可以合并, 写在分支后用逗号分开。如果任何模式...
    无沣阅读 1,320评论 1 5
  • 前端07班 王语句JavaScript程序的执行单位为行(line),也就是一行一行地执行。一般情况下,每一行就是...
    ea203453e188阅读 877评论 0 4
  • 昨天晚上朋友大妮告诉我,她想要辞职重新换份工作。当时我很诧异,干得好好的,为什么要走呢? 大妮垂头丧气地跟我说:“...
    馨漪_a926阅读 208评论 0 0