3. JavaSE-位运算及判断循环程序结构的讲解

逻辑运算符用于连接两个boolean类型的值:

    & 与     或     异或       || 短路或      &&短路与  !非(一元运算符)

 

位运算的运算符:

    >>右移       >>>无符号右移     <<左移(相当于乘以2n次幂)

    &按位与     |按位或       ^按位异或     ~按位取反

    

    说明:一个数异或同一个数两次  则结果还是这个数

         当涉及到2n次幂的运算的时候,全都用移位来运算,移位比正常算乘法效率高

 

交换两个数的值:

    方法一  a=a+b   b=a-b   a=a-b

    方法二  a=a^b   b=a^b   a=a^b

    不推荐用第一种方法,因为第一种方法如果数比较大的话,很可能超出整型的运算范围

 

三元运算符:

    格式 ---(条件表达式)?表达式1:表达式2

    如果条件为真,则结果为表达式1,否则结果为表达式2的值

    例如:z=a>b?b:a;


        说明:当使用三元运算符时,必须有一个明确的返回结果,否则还是使用通吃的if  else 结果比较好


程序流程控制:

    顺序结构    判断结构   分支结构   循环结构


局部代码块:

    可以再代码中在局部代码块中重定义变量以屏蔽全局变量(要先理解作用域的概念)

 

switch语句,break可以跳出switch:

    格式如下:

    switch(表达式){

        case 取值:

            执行语句

            break

        case 取值:

            执行语句

            break

        default:

            执行语句

    }


ifswitch的应用场合:

    1. if语句适合的场景如下:

        1).对具体的值进行判断

        2).对区间进行判断

        3).对运算结果是boolean类型的表达式进行判断

    2. switch语句的应用场景如下:

        1).对具体的值进行判断

        2).值的个数通常是固定的

 

    对于几个固定的结果,建议使用switch语句,因为switch语句会将所有结果一次性

    加入内存,执行效率比较高.

 

    注意:实际上,switch语句很少使用,并且功能都能被if语句代替


循环程序while、do while and for循环:

    1. while循环

        1). 直到条件为假的时候,或者遇到break语句结束循环

    2. do while

        1). 直到条件为假的时候,或者遇到break语句结束循环

            注意:do while循环结尾有分号

    3. for循环

        1). (初始化参数;条件表达式;操作表达式){}

        2). for(Sop("Please input an number: ",int x=1;x<10;Sop(x),x++))

        说明:初始化参数只执行一次

 

forwhile的特点:

    1. for和while完全可以互换

    2. 格式上的不同,在使用上有点小区别,如果需要通过变量来对循环进行控制,该变量只作

       为循环增量存在时,那么区别就出现了,用for可以实现,while就不可以

    3. for(;;){}此即为死循环

 

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章