第二节java的运算符和分支语句

一, 上一节课的回顾

1,分支  JAVASE  JAVAME  JAVAEE

2, 两大核心机制:  JVM   GC

3, 流程步骤

    A:编写java源文件 XXX.java

    B:编译文件  javac XXX.java

             生成字节码文件  .class

    C:解释执行: java XXX.java

4, 注释

    单行       //
    多行      /*注释的内容*/
    文档注释    /**文档信息*/   

5, 标识符   ---  对类, 包 , 方法名, 变量, 常量, 参数等的命名使用的字符序列

    语法要求:
        字母  数字  $ _
        不能以数字开头
        区分大小写
        长度无限制
        不能使用关键字和保留字

    编码习惯:

        见名知意
        驼峰式命名
        长度建议不超过15个字符
        特殊的要求:
            类名: 首字母大写
            方法名, 变量: 首字母小写
            常量: 都是大写
            包名: 都是小写

6, 数据类型

    基本数据类型

        整数型

            byte    1个字节
            short   2个字节
            int 4个字节      默认的
            long    8个字节   后面加入L 或者 l

        浮点型

            float   4个字节      后面加入F或者 f
            double  8个字节   默认的

        字符型

            char    2个字节   -- ''

        布尔型

            boolean  1个字节  true  false

    引用数据类型

        String   --- ""


7, 数据类型的转换

    1, boolean 不参与转换

    2, 自动类型转换  强制类型转换

         自动类型转换: 取值范围小的  --- 取值范围大的
         强制类型转换: 取值范围大的  ---  取值返回小的

8, 运算符

    算术运算符  + -  *  /  %  ++  --
         /  取商
         %  取余数 , 取模
         ++     自增1
         --     自减1

         i++ 和 ++i 的区别  :  结果都是i+1

            i++: 的值是i本身,先运算, 然后在+1
            ++i: 的值是i=1 , 先+1  在运算

二, 昨天的作业

byte  short char  这三种类型做计算, 会把他们先转成int 然后在参与计算

三, 今天的内容

1, 运算符:

算术运算符:  + - * / % ++ --

赋值运算符:    = , += , -+ , *= , /= , %=

关系运算符:  > , < , >= , <=, ==,!=

            =  和  == 区别
            = : 赋值
            ==: 判断两个数值是否相等(地址值)

equals:判断的是变量的数值

逻辑运算符:  &(与) , |(或) , ! (非) , &&(短路与)  ,  || (短路或),^ (异或)


        &: 与操作

            规则:当操作的数都为true的时候, 结果都为true, 有一个为false, 结果为false

        |: 或操作
            规则:当操作的数都为false 的时候, 结果返回false, 有一个为true, 结果为true

        !:  非, 取反
            规则: 如果原来为true, 结果就为false; 如果原来为false, 结果为true

        &&: 短路与
             规则:结果和 & 相同
               运算的时候, 只要遇到一个false, 后边就不参与运算, 直接返回false

        ||: 短路或
             规则: 结果和 |相同
                运算的时候, 只要遇到一个true, 后边就不参与运算, 直接返回true

        ^:   异或
             规则: 相同返回false, 不同返回true


位运算符
位移运算符

三目运算符:  三元运算符

          a + b 2元
          !b1   1元
          /%    2元

         语法:  X?Y:Z

             X: 要求是boolean 类型, 就是说取值必须是true 和 false

             如果X 为 true, 那么该运算符返回的是 Y 的值

             如果X 为 false, 那么该运算符返回的是 Z 的值





+ 的使用:

   1, 算术运算符 : 用于做加法

             遇到的是数值类型 -- 数字   5+3

   2, 起到连接符的作用

            遇到字符串, 后面的所有的+ 都表示连接的作用, 除非放在()中

2, 分支语句

程序执行的三种结构 

    顺序结构

    选择结构 (分支结构)

    循环结构

分支结构:

    if 语句

    switch 语句

if 语句

    1, if(boolean 类型的表达式){条件成立,就执行此{} 中的内容}

    2, if(条件表达式) {如果成立, 执行A} else {如果不成了, 执行B}

    3, if(条件1){如果成立, 执行A} else if(条件2){执行 B} else {如果两个条件都不满足, 执行C}


   switch 语句

    //jdk 1.7 以后可写String类型

    switch(变量 int/String){

        case 常量值1:  分支1 ; break;

        case 常量值2:  分支2 ; break;

        ....

        [
          default:最后的一个分支;  
        ]

    }

    注意: 

        1, 作用在int类型上, byte short char 和String 类型都可以
        2, case 顺序结构, 没有要求
        3, case 后面的数值,必须是唯一的, 不能重复的 
        4, default语句是可选的
        5, break 用于防止switch 的穿透  -- 结束掉

总结

1, 运算符:

算术运算符:  (重点掌握)

    + - * / % ++ --

赋值运算符: (重点掌握)

    = += -+ *= /= %=

关系运算符:  (重点掌握)

    > < >= <= == !=

    = 和 == 的区别

逻辑运算符: (重点掌握)

    &  | && || ! ^

位运算符(了解)

位移运算符(了解)

三目运算符: X ? Y : Z

         X是一个boolean 类型的表达式, 如果值为 T: 结果就是 Y
                       如果值为 F: 结果就是 Z

+ 作用

    1, 运算符  -- 都是 数值, 认为是运算符

    2, 连接符  -- 只要有 "  ", 那么后面的+都是连接符

表达式:

    int a = b + c;
    表达式的类型  表达式的值 = 表达式(b+c);

2, 分支语句

条件满足, 才会执行的代码

if 语句
    if(条件){ 满足条件执行的内容}

    if(条件){....} else{不满足条件执行的内容} --  至少会有一个执行到

    if(条件1){...} else if(条件2){...} else{....}


switch语句

    switch(变量)
    {
        case 常量:  分支语句; break;
        case 常量:  分支语句; break;
        case 常量:  分支语句; break;
        case 常量:  分支语句; break;

        [
        default:

            最后一个分支语句。
        break;
        ]

    }

    注意: 

        1, 作用在int (byte short char)或者String

        2, case 后面常量, 不能重复, 必须是唯一的

        3, case 的顺序是没有要求的 -- 顺序

        4, default 是可选的

        5, break 防止switch 穿透的


if 和 switch

    if  :作用在 boolean ,区间 ,分支少

    switch  : 适用于具体的数值, 分支多

你可能感兴趣的:(Java基础,java学习之路)