JAVA基础课总结三



一、流程控制语句:可以控制程序的执行流程。

   流程控制语句的分类

顺序结构;代码按照顺序从上往下执行。

 

      选择结构:根据以下选择或者判断做出不同的执行。

a:选择结构  switch语句

b:判断结构  if语句

 

     循环结构for循环和while循环

    执行流程:

 从上往下,依次执行

二、if语句

常见于对某个范围进行判断,或者几个变量进行判断,还有就是boolean表达式的判断。

格式:

A:第一种格式

if(条件表达式)

{

语句体;

}

 

执行流程:

如果条件表达式为true,就执行语句体;

否则,什么都不执行。

注意:

A:条件表达式:无论条件表达式做什么样的运算是简单还是复杂,结果必须是boolean类型。

B:if语句后面可以不写{},但是,如果这样的话,它就只能控制后面的一条语句,

   如果想控制多条,就必须加{}

   推荐:无论是控制一条还是多条,请都加上{}

C:if语句的{}前面不要写分号,否则,会对程序的结果有影响。

  一般来说:出现{}的时候,就不会有分号,有分号的时候,不会有{}

 

B:第二种格式

if(条件表达式)

{

语句体1;

}

else

{

语句体2;

}

 

执行流程:

如果条件表达式为true,就执行语句体1

否则,就执行语句体2

 

 

C:第三种格式

if(条件表达式1)

{

语句体1;

}

else if(条件表达式2)

{

语句体2;

}

...

else

{

语句体n;

}

 

执行流程:

如果条件表达式1true,就执行语句体1

如果条件表达式2true,就执行语句体2

...

否则,就执行语句体n

注意:

A:else后面是不能直接跟条件表达式。

B:最后的一个else可以不写,但是,一般建议加上。这样可以控制一些非正常情况,除非,你明确不需要。

C:if语句的第三种格式,一旦某个地方满足,if语句就不往下执行了。

D:每一种if语句其实都是一个整体,如果有地方执行了,其他的就不执行了

E:当做用if语句做一些赋值运算的时候,可以用条件运算符来替换,但是如果其他的操作

就不能用条件运算符来替换,因为条件运算符是用来运算的会运算出一个结果

必须要用该结果做一些操作才行!比如说 用该结果赋值 或者 直接输出该结果 

D:作用域

所有变量的定义只在它所属的大括号内(及其所包含的大括号内)有效。

 

E:if语句的嵌套

if语句里面的语句体又是一个if语句。

举例://获取三个数的最大值

       F:if语句和三元运算符的区别

三元运算符实现的,都可以采用if语句实现。反之不成立。

什么时候if语句实现不能用三元改进呢?

if语句控制的操作是一个输出语句的时候就不能。

为什么呢?因为三元运算符是一个运算符,运算符操作完毕就应该有一个结果,而不是一个输出。

 

三、switch语句

(1)用于做选择使用的。一般用于几个常量(if主要是做范围的判断)的判断。

switch会把几个常量值直接加载到内存,在判断的时候,效率要比if高。

所以,针对几个常量的判断,一般选择switch语句。

也就是一般输入一个数据,判断你输入的数据是具体的哪个数的时候 会用switch,但是开发中一般没人用

一般开发中能用都用if  因为if 不仅能做常量的判断 也能做 范围的判断

 

(2)switch语句的格式:

switch(表达式)

{

case 1:

语句体1;

break;

case 2:

语句体2;

break;

case 3:

语句体3;

break;

...

default:

语句体n;

break;

}

 

A:针对格式的解释

switch:

表达式最后的结果必须是:byte,short,int,char

JDK5以后可以是枚举(以后讲)

JDK7以后可以是字符串(后面讲)

case:表示这里就是选项的值,它后面的值将来和表达式的值进行匹配。

     case后面的值是不能够重复的。

break:

switch语句执行到这里,就结束了。

default:

当所有的case和表达式都不匹配的时候,就走default的内容。

它相当于if语句的else。一般不建议省略。

B:执行流程

进入switch语句后,就会根据表达式的值去找对应的case值。

如果最终没有找到,那么,就执行default的内容。

 

C:注意事项:

acasedefault 在书写上是没有先后顺序的,但是执行上 会先去找对应的case值,找到了之后 紧接着执行case后面的break 结束switch语句,如果没有找到case对应的值 就会执行default,而这时候如果default写到了case上面,而且default后面还没有写break,就会顺序执行下来(也会执行case里面的语句)直到遇到一个break才结束。

b:default整体可以省略吗?可以,省略不写,语法上是可以的,但是,一般不省略,它相当于ifelse语句,可以控制所有的非正常情况。假如你非常明确没有非正常情况,那就省略。

c:default的位置可以放到前面吗?可以,语法允许。 但是如果放到前面的话 如果运行到default之后,如果default后面没有break,还会继续去执行case里面的语句,所以一般我们把default放到最后面

d:break可以省略吗?放在最后面的default的 break 写不写都没有关系,语法也正确而且也不会影响程序结果。

  放在case语句中的break可以省略,因为语法是允许的的,但是可能会发生case穿透。所以,一般不省略

e:switch语句什么时候结束呢?

就是遇到break或者执行到程序的末尾。

(3)案例:

A:根据键盘录入的日期(1-7),输出对应的星期日期。

B:根据键盘录入的月份,输出该月份所对应的季节。

 

总结switch语句和if语句的各自使用场景

switch建议判断固定值的时候用

if建议判断区间或范围的时候用

四、循环

 

(1)什么时候使用循环

如果我们发现有很多重复的内容的时候,就该考虑使用循环改进代码。

让我们代码看起来简洁了。

(2)循环的组成

A:循环体,就是要做的事情。

B:初始化条件。一般定义的是一个初始变量

C:判断条件。用于控制循环的结束。

D:控制条件。用于控制变量的变化。一般都是一个++/--操作。

(3)循环的分类:

A:for

for(初始化条件;判断条件;控制条件)

{

循环体;

}

 

执行流程:

a:先执行初始化条件;

b:执行判断条件

c:根据判断条件的返回值:

true:执行循环体。

false:就结束循环。

d:最后执行控制条件。返回到b继续。

 

B:while

初始化条件;

while(判断条件)

{

循环体;

控制条件;

}

执行流程:

a:先执行初始化条件;

b:执行判断条件

c:根据判断条件的返回值:

true:执行循环体。

false:就结束循环。

d:最后执行控制条件。返回到b继续。

 

C:do...while(了解)

初始化条件;

do{

循环体;

控制条件;

}while(判断条件);

 

执行流程:

a:先执行初始化条件;

b:执行循环体和控制条件;

c:执行判断条件

d:根据返回值

true:返回b

false:就结束循环。

 

注意:

a:一般使用for循环或者while循环。而且这两种循环是可以等价转换的。

b:三种循环语句的区别:

do...while循环至少执行一次循环体。

   而for,while循环必须先判断条件是否成立,然后决定是否执行循环体语句。

c:初始化条件的变量在for结束,以后是不能使用的。而while结束后是可以使用的。

如果这个变量仅仅是控制次数的,建议使用for循环。

因为这样,for结束,这个变量就结束,效率高。

d:什么时候用for,什么时候用while?

如果是控制范围,最好用for

如果范围不明确,用while

       e:判断条件语句无论简单还是复杂结果是boolean类型。

       f:循环体语句如果是一条语句,大括号可以省略;如果是多条语句,大括号不能省略。建议永远不要省略。

       g:一般来说:有左大括号就没有分号,有分号就没有左大括号

 

五、代码的练习,几种类型

 

应用场景

(1)变量:发现有一个数据是变化的时候,就要用变量。而且定义变量的时候首先是在小范围内定义,如果不合理,在考虑大范围...

(2)if语句:如果是一个范围的判断,boolean类型的表达式的判断,几个数据的判断。

(3)switch语句:几个数据的判断。一般这种情况,先选择switch

(4)for语句:如果次数或者范围特别明确。(水仙花)

(5)while语句:如果次数或者范围不明确。(珠穆朗玛峰)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值