【Java从入门到精通】第五篇:#逻辑控制@@一大波细节来袭,快来看看有哪些你没注意到的吧//

前言:这些知识都是我自己学习之后总结的,如果有哪些地方错误或者不太好的的地方,可以评论区告诉我,我会进行改正!!谢谢!!加油,小朋友们!!

1,顺序结构

顺序结构比较简单,按照代码书写的顺序一行一行的执行就可以了,如果调换代码的书写顺序,则执行顺序也发生改变(像下面的代码,比较简单)

2,分支结构

2.1, if语句

if语句有三种书写方式,其实和c语言程序设计中的差不多,唯一不同的是,if语句的条件是布尔表达式

(1)语法格式1

if(布尔表达式){
     //语句
}

如果布尔表达式的结果为true,执行if中的语句,否则不执行。(例子如下)

(2)语法格式2

if(布尔表达式){
     //语句1
}else{
      //语句2
}

 如果布尔表达式结果为true,则执行if中的语句,否则执行else中的语句。(例子如下)

(3)语法格式3

if(布尔表达式1){
     //语句1
}else if(布尔表达式2){
     //语句2
}else{
      //语句3
}

如果布尔表达式1成立,则执行语句1,否则布尔表达式2成立,执行语句2,否则执行语句3。(例子如下,我们主要看if语句)

注意:

1, 在这些语句中,有一点需要提醒的(如下代码)

在c语言程序设计中的if语句是可以这样子写的,但在Java中,这样子写编译器就会报错,因为在c语言里面,"1<a"为真,则返回1,“1<3"也为真,所以编译通过,可以打印a;但是在Java里面,if语句括号里面放的是布尔表达式,"1<a"返回true,true不可能和3比较,程序无法执行,所以编译器会报错。

那我们应该怎么去写呢?如下代码:

2,分号问题(比如很多初学者都会这样子写,我们需要留意一下,如下)

 此处多写了一个分号,导致分号成为了if语句的语句体,而{}中的代码已成为和一个与if无关的代码块。所以这里输出”你真好看!“。

3,悬垂else问题

在上面这个代码中,我们可以看出,else和第二个if相匹配。所以我们可以知道,if/else语句中可以不加大括号,但是也可以写语句(只能写一条语句)。此时else与最近的if相匹配。(建议一般加上大括号,这样子可以增加程序的可读性) 。

2.2,switch语句

     1,基本语法:

switch(表达式){
     case 常量值1:{
        语句;
     [break;]
}
     case常量值2:{
        语句2;
      [break;]
}
....
     default:{
      内容都不满足执行语句;
     [break;]
}
}

 执行流程:

(1)先计算表达式的值

(2)和case依次比较,一旦有响应的匹配就执行该项下的语句,直到遇到break时就结束

(3)当表达式的值没有与所列项匹配时,执行default

   2,代码示例

注意:(1),多个case后的常量值不可以重复

(2),switch的括号内只能是以下类型的表达式:

          基本类型:byte、char、short、int,不能是long、float、double、boolean类型

         引用类型:String常量串、枚举类型 

(3)switch不能表达复杂表达式(如下)

此时编译器会报错,可以看出switch语句的局限性。

 (4)switch语句是支持嵌套使用的,但一般不支持。

3,循环语句

     3.1while循环

     (1)基本语法格式:

while(循环条件){
     循环语句;
}

循环条件为true,则执行循环语句,否则结束循环。

 例子1:计算5的阶层

例子2:

 注意:1,和if循环类似,while下面的语句可以不写{},但是不写的时候只能支持一条语句。建议还是加上{}。

           2,和if类似,while后面的{建议和while写在同一行。

          3,和if类似,while后面不要多写分号,否则可能导致循环不能正确执行。

3.2,break

break的功能是让循环提前结束(也就是如果在循环当中遇到break,代表整个循环结束)

例子:

3.3,continue

continue的功能是跳过这次循环,立即进入下一次循环。

例子:

执行到continue语句的时候,就会立即进入下次循环(判定循环条件),从而不会执行到下面的打印语句。

3.4for循环

 基本语法:    

for(表达式1;布尔表达式2;表达式3){
    表达式4;
}

表达式1:用于初始化循环变量初始值设置,在循环最开始的时候执行,只执行一次。

表达式2:循环条件,必须是布尔表达式。满足条件则循环继续,否则循环结束。

表达式3:循环变量更新方式。

例子:

 其中表达式1可以放在外面;布尔表达式2可以省略,但此时编译器会默认其永远为真,程序会进入死循环;表达式3不能省略,会进入死循环,没有意义。

3.5,do while循环

基本语法:

do{
    循环语句;
}while (循环条件);

先执行循环语句,再判定循环条件,循环条件成立则继续执行,否则循环结束。

例子:

 那么do while循环和while循环有什么区别呢?(我们来看以下的代码)

上面这个代码很明显的表达了两者的区别,我表达能力不好,就不用文字表达了,,嘻嘻。。

 但是有两点我需要提醒的是:1,do while循环最后的分号不要忘记。

                                               2,一般do while很少用到,更推荐使用for和while循环。

4,从键盘输入(使用Scanner读取字符串/整数/浮点数)

例子:

 

注意1,:当你用Scanner的时候,编译器前面自动会导入一个util包,也就是"import java.util.Scanner;" ;

2,这里的"System.in"表示”键盘读取数据“

3,"next"意思就是“遇到空格读取结束”,就是当你键盘输入中有空格时,遇到空格就会结束。所以我们在这里使用"nextLine",其作用就是“读取一行数据(也会读取空格)”。

例子2:

注意:当循环输入多个数据的时候,使用ctrl+z来结束输入(Windows上使用的时ctrl+z,Linux/Mac上使用的是ctrl+d)。 

  • 18
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱撸猫的程序媛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值