码迷,mamicode.com
首页 > 编程语言 > 详细

java基础2_运算符,选择语句

时间:2016-08-05 21:15:34      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:

算数运算符 

    +    相加  字符串的连接  正数

    -    相减  负数

    *    相乘

    /    相除    10 / 3 ==》 3  两个操作数中精度最高的是int 结果也是int

    %    取模(求余)

    ++ 自增

    -- 自减

++ 和 -- 只能够用在变量上面,不能够用在常量
a = i++:先将i的值赋给a,再自增1      a = ++i;先自增1,再将i的值赋值给a
特殊:1/0        报异常(运行报错)
      1/0.0      infinity(无限大)在java中0.0不为0,而是无限接近于0的数
      0.0/0.0    NaN(不是一个数字)
      a = NaN  if(a==a)为false(java中唯一一个自己不等于自己的特例)

赋值运算符:

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

byte a = 3; a = a+5  会出现错误:a+5是一个int了类型(byte,short,char在参与运算时会自动提升为int)          
            a += 5;正确

比较运算符

  ==    判断是否相等

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

------> 运行结果都是布尔值

  > < <= >= 只能够是数字之间才可以运用

  ==  !=  可以使任意的类型

逻辑运算

    &   逻辑与 效果相当于 and  并且    同时为true 结果才是true

    |   逻辑或 效果相当于 or   或者    只要有一个为true  结果true

    &&  逻辑双与 效果相当于 and  并且

    ||  逻辑双或 效果相当于 or   或者

    ^   异或

    !  逻辑非

        ① 逻辑运算的结果是一个布尔值  

        ② 参与逻辑运算的都是布尔值(或者说结果为布尔值的表达式)

一元

   int i = 1;   i++

二元

   3 + 4

表达式: 由一些常量 变量 运算符组成的一个算式

    int a = 10;

    double d = 3.14;

    a + d * (110 - 100)   

    ----->写这样的表达式的目的? 希望得到一个结果值

    表达式的值的类型 是整个表达式中精度最高的

三元运算

   格式:

        X ? Y : Z

        ① 把 X ? Y : Z 看成是一个表达式  ----》 关注结果值

        ② X 可以是一个布尔值,或者是一个结果值为布尔类型的表达式;

        ③ Y 和 Z 都是整个表达式的结果值

           Y 或者 Z  可能是一个常量值,也可能是一个变量,还可能是一个表达式

        ④ 如果 X的值是true ,那么整个三元运算表达式的值就是 Y的值;

           如果 X的值是false ,那么整个三元运算表达式的值就是 Z的值;

        ⑤ ? r = X ? Y : Z   ----> Y Z 的类型必须一致

对于优先级在java中都可以使用括号解决,所以不必在意优先级。

选择语句

   if(条件){

       // 如果条件的值为true 则执行一次这一对大括号中的所有代码,否则就不执行

   }

   if(条件){

      // 如果条件的值为true 则执行一次这一对大括号中的所有代码,否则就不执行

   }else{

     // 如果条件的值为false 则执行一次这一对大括号中的所有代码,否则就不执行

   }

  

   if(条件1){

       // 如果条件的值为true 则执行一次这一对大括号中的所有代码,否则就不执行

   }else if(条件2){

       // 如果条件的值为true 则执行一次这一对大括号中的所有代码,否则就不执行

   }else if(条件3){

       // 如果条件的值为true 则执行一次这一对大括号中的所有代码,否则就不执行

   }else{

   }

 

---------------------------------------------

② switch

   switch(变量){

       case 变量可能的值1 :

            // 功能执行语句;

       break;

       case 变量可能的值2 :

            // 功能执行语句;

       break;

       ....

       default:

           // 功能执行语句;

       break;

   }

   注意事项:

      ① 执行顺序会从switch中的先找case 进行匹配,

         如果找到了就执行其中的代码,执行完毕遇到break就结束整个switch;

         如果所有的case都不匹配才执行default

      ② switch中的 多个case和default的顺序可以是任意的;

         但是在实际开发中建议 安装case的值大小进行排列,然后default写在最后;

      ③ break; 从匹配的开始开始,到第一个break之间的的其它的case不会判断而是执行所有的功能执行语句,如果后面都没有break,就到整个switch结束

      ④ case后面的值类型必须和swtich()中的变量的类型一致

      ⑤ switch中()中的变量的类型支持哪些?

           java5之前 byte  short  char  int

           java5开始 枚举(enum) 在面相对象的时候

           java7开始 String

 

java基础2_运算符,选择语句

标签:

原文地址:http://www.cnblogs.com/CaoHaiYang/p/5742764.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!