Java基础语法2

                                     Java语法基础2目录

1:运算符

      A:定义

      B:分类

2:键盘录入

      A:使用目的

          B:如何实现       

3:流程控制语句  

4:if语句

  

                              

 

                                  Java语法基础2知识点详解

1:运算符

     A:定义:对常量和变量进行操作的符号。

     B:分类:算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符、三目运算符

(1)   算术运算符

  +,-,*,/,%,++,--

  A:+的用法

       1):假法

       2):正号

       3)字符串的连接

  B:/和%的区别

        数据做运算的时候,/取得的是商,%取得的是余数。

  C:++和—的用法

1)作用:自增或者自减

2)使用:

       单独使用:放在操作数前面和后面结果一样。

       参与操作使用:放在操作数前面,先自增或者自减再参与运算。例如:int  a=10;

                                   Int  b=++a;

                      放在操作数后面,先参加运算,再增或者自减。例如:int  a=10;

                                   Int  b=a--;

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

     (2)赋值运算符

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

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

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

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

                     隐含了自动强制转换。

                    

                     面试题:

                            short s = 1;

                            s = s + 1;

                           

                            short s = 1;

                            s += 1;

        答:扩展的赋值运算符其实隐含了一个强制类型转换。

        

         s += 1;

         不是等价于 s = s + 1;

         而是等价于 s = (s的数据类型)(s + 1);

              (3)比较运算符

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

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

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

          (4)逻辑运算符

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

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

              C:结论

                     &:有false则false

                     |:有true则true

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

                            情侣关系。

                     !:非true则false,非false则true

                    

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

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

       (5)位运算符

              A:^的特殊用法

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

              B:面试题

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

                            **采用第三方变量

                            **用位异或运算符

                                   左边a,b,a

                                   右边a^b

        答:

      a = a ^ b;

      b = a ^ b; //a ^ b ^ b = a

      a = a ^ b; //a ^ b ^ a = b

                    

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

                            2<<3

 

       (6)三元运算符

              A:格式

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

              B:执行流程:

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

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

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

              C:案例:

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

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

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

                    

2:键盘录入

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

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

              A:导包

                     import java.util.Scanner;

                     位置:在class的上边

              B:创建对象

                     Scanner sc = new Scanner(System.in);

              C:获取数据

                     int x = 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;

                     }else if(比较表达式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语句第二种格式控制的语句体是输出语句,就不可以。

              因为三元运算符是一个运算符,必须要有一个结果返回,不能是一个输出语句。   

    

 

posted @ 2015-11-06 02:51  JAVA攻城狮~~  阅读(178)  评论(0编辑  收藏  举报