黑马程序员-Java语言基础2

 

-----------android培训java培训、java学习型技术博客、期待与您交流! ------------

 

1. 运算符(部分2)

1.1. 关系运算符

==,<=,>=,!=,<,>

特点:关系运算符返回布尔型结果.

注意:==与=的区别.

1.2. 逻辑运算符

&,|,^,&&,!,||,

&:有false则false.

|:有true则true.

^:不同则true,相同则false.

!:true变false,false便true.

&,|,^运算两个值;!:只运算一个值。

&&和&的区别是:如果左边有false了,右边将不再执行。

||和|的区别是:如果左边有true了,右边将不再执行。

(开发中我们常用&&,||,!,因为提高了效率。)

1.3. 位运算符(了解)

>>:右移。右移变小,高位补零,低位舍弃。

<<:左移。低位补零。高位舍弃,低位补零。(关于数据准确,<<1时基数大于半值?)

>>>:无符号右移。

^:亦或。

黑马程序员-Java语言基础2_第1张图片

1.4. 三元运算符(条件运算符)

格式:条件表达式?表达式1:表达式2

执行流程:

根据条件表达式返回的boolean值来决定。

返回true则表达式1作为结果。

返回false则表达式2作为结果。

1.5.运算符优先级------(重点)

运算符的优先级决定了表达式的执行顺序,表达式的运算通常是按照运算符的优先级由高到低依次执行的。

黑马程序员-Java语言基础2_第2张图片

 

2.if语句

2.1. 用于做判断时使用

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

2.2.格式:

if(条件表达式1)
{
         语句体1;
}else if(条件表达式2)
{
        语句体2;
}else
{
        语句体else;
}

执行流程:

是否条件表达式1成立,是,执行语句体1并结束if语句。否,则判断条件表达式2,是否成立,是,执行语句体2并结束if语句。否,则执行语句体else并结束if语句。

注意:

所有的if()都是一个整体,都是if判断语句的部分,执行了一个if中语句体就不会再执行其他的了。

大括号里的语句体如果是一条语句,可以省了大括号,建议不省略。

在使用时,会根据条件适当省略else if或者省略else或者都省略,推荐不。

大括号和分号一般不同时出现。

2.3.案例

A:根据键盘录入的成绩,判断等级。

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

 

3.switch语句

3.1.用于做选择时使用。一般用于几个常量的判断。

switch会把几个常量先直接加载到内存,在判断时,效率高(相比较if)。

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

3.2.switch语句的格式。

3.2.1.针对格式的理解

switch:表示这里使用的时switch语句,后面跟的是选项的表达式。 

switch(表达式)
{
         case值1:
                   语句体1;
                   break;
         case值2:
                   语句体2;
                   break;      
         case值3:
                   语句体3;
                   break;
…
         default: 
                   语句体default;
                   break;
}


表达式:byte,short,int,char

JDK5以后可以是枚举。JDK7以后可以是字符串。

case

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

case后面的值(可以叫标签,是不可以重复的)。

break

表示执行到这条语句体时,就会跳出swithc语句。

default

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

相当于if语句的else,某些情况可以省,建议不省略。

3.2.2.执行流程

进入switch语句后,会读取表达式的值,再去对应匹配case值。

找到了(若没找到则匹配default),则执行对应的语句体,然后忽略case行,按照上下顺序执行直到break或者结束。

3.2.3.注意事项

A:default

可以省略,但不建议,因为有它能帮助明确思路。而且default的位置是没有要求的,跟所有case都没有优先级。

B:break

在最后一行时理论是可以省略的,但不建议,可以帮助明确思路。case里面的break省略需要判断具体情况,可能会影响选择结果。

C:关于结束switch语句

只有当执行到break语句体或者执行到switch语句最后一行时结束。 

3.3.案例

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

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

 

4.Scanner的使用

4.1.Scanner时JDK5以后设计出用来接受键盘录入数据使用的。

4.2.目前我们要通过键盘录入int类型,只能使用这种方法。

A:导包    

import java.util*;


B:创建对象,封装键盘录入        

Scanner in=new Scanner(System.in);


C:调用方法,获取键盘录入的数据      

int XXX=in.nextInt();


 

 

5.for语句

5.1.需要循环时,当明确需要循环的次数时,可以使用for语句。

5.2.for语句结构:

for(初始化条件;判断条件;控制条件)
{
    循环语句体;
}

5.3.注意事项

A:for循环用于能有明确循环次数的循环。

B:语句中如果用来确定循环次数的增量定义在语句内,该变量在循环结束后失效。

C:先执行初始化条件,执行判断条件,根据返回值选择是否执行循环语句体,并判断是否结束循环。

 

6.while循环语句

6.1.需要循环时,二循环的次数不确定,可以使用while循环。

6.2.while语句格式:

while在前:

初始化条件;
while(判断条件)
{
    循环语句体;
    控制条件;
}


while在后:

初始化条件;	
do
{
    循环语句体;
    控制条件;
}while (判断条件)


 

6.3.注意事项

A:while循环中需要定义能够是循环结束的条件判断语句,即要定义break;否则容易造成死循环。

B:while在前与while在后的区别在于在前先判断,在决定是否执行循环语句体。而在后则先执行一遍循环语句体,在进行判断。就是在后循环语句体至少执行一次。

C:最简单的定义无限循环的方式就是while(true){}。

D:while在前时,先执行初始化条件,执行判断条件,根据返回值选择是否执行循环语句体,并判断是否结束循环。while在后时,先执行初始化条件,然后执行循环体和判断条件,然后根据返回只选择是否结束循环。

 

7.循环嵌套

案例:正三角,倒三角,九九乘法表。

7.1.循环嵌套中,可以事先给每层循环命名。

格式:        a1:for() 或者 a2:while()

并在需要使用break或者continue时后面加上需要返回或跳出那层循环名。例如:

break a1;

continue a2;

7.2.注意

break和continue只能出现在switch和循环中。他们的区别是break跳出循环,continue只是提前结束本次循环进入下次循环。

 

8.各种应用场景

 变量:发现有一个数据是变化的时候,就要使用变量。

if语句:一个范围的判断,boolean类型的表达式的判断,几个数据的判断。

 switch语句:几个数据的判断。一般这种情况优先选switch

for语句:循环次数或者范围确定。(水仙花)

while语句:循环次数或者范围不确定。(珠峰)

 

 

 

-----------------------android培训java培训、java学习型技术博客、期待与您交流! ----------------------

详情请查看:http://edu.csdn.net/

 

 

 

你可能感兴趣的:(java笔记)