运算符 流程控制

一、运算符  

  1,算术     

   + - * /
      % -- 取余

      ++ --
      +=  -=

      加法:+
        一般用于数字之间的运算
    另外:用于字符串的拼接
             任何类型的数据和字符串相加,结果都是字符串


     除法:
       注意结果的类型
       java.lang.ArithmeticException: / by zero


       ++ -- :
         复合运算符的位置

     如果没有其他运算符参与,
        在前和在后,效果一样

  2,比较运算符
     只要有比较运算符参与,结果都是boolean类型
     < > <= >=
     == !=

     ==:
       一般用于基本类型来比较是否相等
       不适合用于对象类型的比较相等:使用equals()方法

  3,逻辑运算符
     与或非:连接多个boolean值或者boolean表达式
     按位运算:使用2进制数运算
        & -- 与
    | -- 或
        情况:
       1,两边都是数字
       2,两边都是boolean类型

      与:同1为1,其余都为0
      或:同0为0,其余都为1
          1:0000 0001
      2:0000 0010
      &:0000 0000 ---0
      |:  0000 0011 --- 3
     逻辑运算:两边只能是boolean值或者boolean表达式
        && -- 与
    | |-- 或

    与、或对boolean值操作的时候:
        与:同真为真,其余都为假
        或:同假为假,其余都为真

    双与、或:短路运算
      表达式1&&表达式2
         如果表达式1返回false,表达式2不会执行运算
             如果表达式1返回true,执行运算表达式2
             表达式2返回true,整体返回true,反正,返回false
          表达式1||表达式2
         如果表达式1返回true,表达式2不会执行运算
             如果表达式1返回false,执行运算表达式2
             表达式2返回true,整体返回true,反正,返回false

  4,异或
      ^:相同为0,不同为1
          1:0000 0001
      2:0000 0010
      ^:0000 0011  ---3
  5,移位
     <<  左移  数字*2^位数
     >>  右移  数字-2^位数
     3:0000 0011
     <<2
        0000 1100 -- 12
     >>1
        0000 0001 -- 1

二、流程控制  

  1,条件分支语句
        单一分支语句
        if else

    if(条件)
     条件:boolean值或者boolean表达式

     1.if语句可以单独使用
         if(条件) 语句

     2.if else配对使用
        if(条件) 语句1
        else 语句2
        条件返回true,执行语句1,
        反之,执行语句2

        注意:
          1,一旦if else配对,if和else中的语句只会执行其中的一条
          2,else语句不能单独使用,必须和if语句配对
                else永远与离他最近的if配对
          3,不管是if还是else能够影响的语句只有一条
               如果想要管辖多条语句,必须使用{}括起来
           以后不管有多少条语句,习惯上都会加上{}

      3.if else if....
         
        多路分支语句
       switch(条件){
        case 值:语句;
      .....;
      default:语句
      }
        条件:只能是byte、short、int、char、枚举
        case:只是一个入口,往后的代码会依次执行
              控制--中断
          break; -- 跳出离他最近的一层代码块

      三目运算
         简化if else的赋值运算
     变量 = 条件?值1:值2;

   2,循环
       1.for
         for(初始化循环条件;循环的临界点;阶梯){
        循环体
     }

         一般用于知道循环次数的情况
       比如:用于数组、集合的遍历等等

        for(;;) --- 死循环

    控制:
      break; -- 跳出离他最近的循环体
      continue;--结束当前循环,直接开始下一次

       2.while
         while(boolean值/boolean表达式){
             循环体
     }
     先判断条件,满足,执行循环体
        一般用于不知道循环次数的情况
     比如:文件的读取,结果集的遍历等等

     控制程序功能菜单

     补充:
        包结构:JDK中的API也有包
        常用包:
          java.lang -- 基础包
                     使用该包下的API,不需要进行导包操作(直接使用)
         除此以外,其他包中API的使用,都必须导包
         导包:
            import 包名.类名;
        import java.util.Scanner;
        导包语句,可以有多条
       3.do while
          do{
         循环体
      }while(boolean值/boolean表达式)

      先执行循环体,再判断条件
      保证循环体至少执行一次

原文地址:https://www.cnblogs.com/liuzhenyou/p/4662475.html