Java基础巩固(二)-运算符、表达式、语句

版权声明: https://blog.csdn.net/db0n15/article/details/84583609

运算符

类型

  • 算术运算符
  • 关系运算符
  • 位运算符
  • 逻辑运算符
  • 赋值运算符
  • 其他运算符

算数预算符

加减乘除

+ - * /

取余

//  % 左操作数除以右操作数的余数
int d = 3%2;
System.out.println("取余后:"+d);
// console 
// 取余后:1

自增自减

public static void main(String args[]) {
    int a = 10;
    int d = 25;
     // ++ 操作值+1  
    System.out.println("a++   = " +  (a++) );
    System.out.println("a--   = " +  (a--) );
    // 查看  d++ 与 ++d 的不同
    System.out.println("d++   = " +  (d++) );
    System.out.println("++d   = " +  (++d) );
 }

console

a++   = 10
a--   = 11
d++   = 25
#上一步的 d++ 已经将d 赋值为26 
++d   = 27

注:这里可以发现
++ 放在参数后面的话 是先使用当前参数参与操作
++ 放在参数前面的话 是先进行参数的+1操作后 才进行操作
减减-- 同理

###关系运算符

# 这个就不分析了
==  !=  >  <  >=  <= 

位运算符

/**
 * @author stone
 * @des 位运算符操作测试
 * @date 2018/11/28/028 14:41
 **/
public class BitwiseOperatorTest {

    public static void main(String[] args) {
        /* 60 = 0011 1100 */
        int a = 60;
        /* 13 = 0000 1101 */
        int b = 13;
        int c = 0;
        // 如果相对应位都是1,则结果为1,否则为0
        // 60 = 0011 1100
        // 13 = 0000 1101
        // 12 = 0000 1100
        c = a & b;
        System.out.println("a & b = " + c);
        // 如果相对应位都是0,则结果为0,否则为1
        // 60 = 0011 1100
        // 13 = 0000 1101
        // 61 = 0011 1101
        c = a | b;
        System.out.println("a | b = " + c);
        // 如果相对应位值相同,则结果为0,否则为1
        // 60 = 0011 1100
        // 13 = 0000 1101
        // 49 = 0011 0001
        c = a ^ b;
        System.out.println("a ^ b = " + c);
        // 按位取反运算符翻转操作数的每一位,即0变成1,1变成0。
        // 60 = 0011 1100
        // -61 =1100 0011
        c = ~a;
        System.out.println("~a = " + c);
        // 按位左移运算符。左操作数按位左移右操作数指定的位数。
        // 60 = 0011 1100
        // 240 =1111 0000
        c = a << 2;
        System.out.println("a << 2 = " + c);
        // 按位右移运算符。左操作数按位右移右操作数指定的位数。
        // 60 = 0011 1100
        // 15 = 1111
        c = a >> 2;
        System.out.println("a >> 2  = " + c);
        // 按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。
        // 60 = 0011 1100
        // 15 = 0000 1111
        c = a >>> 2;
        System.out.println("a >>> 2 = " + c);
    }
}

逻辑运算符

# 用的太熟了 不分析了
# 或
|| 
# 与
&&
# 非
! 

赋值运算符

= 
+=
-=
* =
/ = 
# 取模和赋值操作符,它把左操作数和右操作数取模后赋值给左操作数
(%)=
# 左移位赋值运算符
<< =
# 右移位赋值运算符
>> =
# 按位与赋值运算符
&=
# 按位异或赋值操作符
^ =
# 按位或赋值操作符
| =

条件运算符(?:)(三元操作符)

// variable x = (expression) ? value if true : value if false
int a = 60;
String str = (a == 1) ? "真" : "假"; 
// console "假"

instanceof 运算符

该运算符用于操作对象实例,检查该对象是否是一个特定类型(类类型或接口类型)。

// ( Object reference variable ) instanceof  (class/interface type)
String name = "James";
boolean result = name instanceof String; 
// 由于 name 是 String 类型,所以返回真

语句

循环

  • while 循环

    while( 布尔表达式 ) {
      //循环内容
    }
    
  • do…while 循环

    do() {
      //循环内容
    }while(布尔表达式)
    
  • for 循环

    // 基础型
    for(初始化; 布尔表达式; 更新) {
     //循环内容
    }
    
    // 增强型
    for(声明语句:表达式){
     // 循环内容
    }
    

break 关键字

break 主要用在循环语句或者 switch 语句中,用来跳出整个语句块。
break 跳出最里层的循环,并且继续执行该循环下面的语句。

continue 关键字

continue 适用于任何循环控制结构中。作用是让程序立刻跳转到下一次循环的迭代。
在 for 循环中,continue 语句使程序立即跳转到更新语句。
在 while 或者 do…while 循环中,程序立即跳转到布尔表达式的判断语句。

if…else

if(布尔表达式)
{
   //如果布尔表达式为true将执行的语句
}

switch case

switch(expression){
    case value :
       //语句
       break; //可选
    case value :
       //语句
       break; //可选
    //你可以有任意数量的case语句
    default : //可选
       //语句
}

猜你喜欢

转载自blog.csdn.net/db0n15/article/details/84583609