3 Java基础语法(运算符,键盘录入,流程控制语句,if语句)

1:运算符(掌握)

       (1)算术运算符


              A:+,-,*,/,%,++,--

              B:+的用法

                     a:加法

                     b:正号

                     c:字符串连接符

              C:/和%的区别

                    

PS:注意事项:

              A:整数相除只能得到整数。如果想得到小数,必须把数据变化为浮点数类型

              B:/获取的是除法操作的商,%获取的是除法操作的余数

              D:++和--的用法

                     a:他们的作用是自增或者自减

                     b:使用

                            **单独使用

                                   放在操作数据的前面和后面效果一样。

                                   a++或者++a效果一样。

                            **参与操作使用

                                   放在操作数的前面:先自增或者自减,再参与操作

                                          inta = 10;

                                          intb = ++a;

                                   放在操作数的后面:先参与操作,再自增或者自减

                                          inta = 10;

                                          intb = a++;

       (2)赋值运算符

              A:=,+=,-=,*=,/=,%=等

              B:=叫做赋值运算符,也是最基本的赋值运算符

                     intx = 10; 把10赋值给int类型的变量x。

              C:扩展的赋值运算符的特点

                     隐含了自动强制转换。

                    

                     面试题:

                            shorts = 1;

                            s= s + 1;    //默认int  有问题

                           

                            shorts = 1;

                            s+= 1;    //无问题,扩展赋值运算符隐含强制自动转化

                            请问上面的代码哪个有问题?

       (3)比较运算符

3 Java基础语法(运算符,键盘录入,流程控制语句,if语句)_第1张图片

              A:==,!=,>,>=,<,<=

              B:无论运算符两端简单还是复杂最终结果是boolean类型。

              C:千万不要把==写成了=

       (4)逻辑运算符


              A:&,|,^,!,&&,||

              B:逻辑运算符用于连接boolean类型的式子

              C:结论

                     &:有false则false

                     |:有true则true

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

                            情侣关系。

                     !:非true则false,非false则true

                    

                     &&:结果和&是一样的,只不过有短路效果。左边是false,右边不执行。

                     ||:结果和|是一样的,只不过有短路效果。左边是true,右边不执行。

       (5)位运算符(了解)

3 Java基础语法(运算符,键盘录入,流程控制语句,if语句)_第2张图片

3 Java基础语法(运算符,键盘录入,流程控制语句,if语句)_第3张图片

              A:^的特殊用法

                     一个数据针对另一个数据位异或两次,该数不变

              B:面试题

                     a:请实现两个变量的交换

                            **采用第三方变量

                            **用位异或运算符

                                   左边a,b,a

                                   右边a^b

                     b:请用最有效率的方式计算出2乘以8的结果

                            2<<3    //<< 把<<左边的数据乘以2的移动次幂  ,把>>左边的数据除以2的移动次幂

       (6)三元运算符

              A:格式

                     比较表达式?表达式1:表达式2;

              B:执行流程:

                     首先计算比较表达式的值,看是true还是false。

                     如果是true,表达式1就是结果。

                     如果是false,表达式2就是结果。

              C:案例:

                     a:比较两个数据是否相等

                     b:获取两个数据中的最大值

                     c:获取三个数据中的最大值

                    

2:键盘录入(掌握)

       (1)实际开发中,数据是变化的,为了提高程序的灵活性,我们加入键盘录入数据。

       (2)如何实现呢?目前就记住

              A:导包

                     importjava.util.Scanner;

                     位置:在class的上边

              B:创建对象

                     Scannersc = new Scanner(System.in);

              C:获取数据

                     intx = sc.nextInt();

       (3)把三元运算符的案例加入键盘录入改进。

 

3:流程控制语句

       (1)顺序结构 从上往下,依次执行

       (2)选择结构   按照不同的选择,执行不同的代码

       (3)循环结构 做一些重复的代码

 

4:if语句(掌握)

       (1)三种格式

              A:格式1

                     if(比较表达式) {

                            语句体;

                     }

                    

                     执行流程:

                            判断比较表达式的值,看是true还是false

                            如果是true,就执行语句体

                            如果是false,就不执行语句体

             

              B:格式2

                     if(比较表达式) {

                            语句体1;

                     }else{

                            语句体2;

                     }

                    

                     执行流程:

                            判断比较表达式的值,看是true还是false

                            如果是true,就执行语句体1

                            如果是false,就执行语句体2

                           

              C:格式3

                     if(比较表达式1) {

                            语句体1;

                     }elseif(比较表达式2){

                            语句体2;

                     }

                     ...

                     else{

                            语句体n+1;

                     }

                    

                     执行流程:

                            判断比较表达式1的值,看是true还是false

                            如果是true,就执行语句体1

                            如果是false,就继续判断比较表达式2的值,看是true还是false

                            如果是true,就执行语句体2

                            如果是false,就继续判断比较表达式3的值,看是true还是false

                            ...

                            如果都不满足,就执行语句体n+1

       (2)注意事项

              A:比较表达式无论简单还是复杂,结果是boolean类型

              B:if语句控制的语句体如果是一条语句,是可以省略大括号的;如果是多条,不能省略。

                     建议:永远不要省略。

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

              D:else后面如果没有if,是不会出现比较表达式的。

              E:三种if语句其实都是一个语句,只要有一个执行,其他的就不再执行。

       (3)案例:

              A:比较两个数是否相等

              B:获取两个数中的最大值

              C:获取三个数中的最大值(if语句的嵌套)

              D:根据成绩输出对应的等级

              E:根据月份,输出对应的季节

              F:根据x计算对应y的值并输出

       (4)三元运算符和if语句第二种格式的关系

              所有的三元运算符能够实现的,if语句的第二种格式都能实现。

              反之不成立。

             

              如果if语句第二种格式控制的语句体是输出语句,就不可以。

              因为三元运算符是一个运算符,必须要有一个结果返回,不能是一个输出语句(如s.o.p)。

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