zoukankan      html  css  js  c++  java
  • 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语句第二种格式控制的语句体是输出语句,就不可以。

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

        

    JAVA伴我一路成长,我伴JAVA一路成长,,,,,
  • 相关阅读:
    【一天一道兼容性】之——IE6下fixed失效
    【前端重构技能天赋】(三)——最终篇
    Putty中文乱码问题
    Cygwin Application initialization failed: no display name and no $DISPLAY environment
    c++中的string用法(二)
    在win7下面使用cygwin,并且安装使用git,以及git简明教程
    vi 一些命令(备忘,自己用的)
    对C++中string类型的总结
    ofstream和ifstream详细用法
    写第一个shell脚本,遇到的问题总结整理。
  • 原文地址:https://www.cnblogs.com/yqf6300/p/4941392.html
Copyright © 2011-2022 走看看