java基本语法(运算符)

 

如果是对负数取模,可以把模数符号忽略不计, 如:5%-2 = 1

 

对于/,整数除和小数除是有区别的,整数之间作除法,保留整数去除余数

 

+除了字符串相加功能外,还能把非字符串转换成字符串

System.out.println("5+5="+5+5);    //5+5=55
System.out.println('*' + '	' +'*');  //93
System.out.println("*" + '	' +'*');  //* *

 

public class TestApp {

    @Test
    public void test() {

            int i1 = 10,

            i2 = 20;

            int i = i1++;

            System.out.print("i="+i);   //i=10
            System.out.println("i="+i1); //i=11

            i = ++i1;
            System.out.print("i="+i);      //i=12
            System.out.println("i="+i1); //i=12

            i = i2--;
            System.out.print("i="+i);     //i=20
            System.out.println("i="+i2); //i=19

            i = --i2;
            System.out.print("i="+i);    //i=18
            System.out.println("i="+i2);//i=18
    }
}                

 

 

赋值运算符:

当两侧数据不一致的时候,可以使用自动类型进行类型转化

public class TestApp {

    @Test
    public void test() {
        boolean b1 = false;
        // 区分好==和=的区别。
        if (b1 = true)
            System.out.println("结果为真");
        else
            System.out.println("结果为假");

    }
}
结果为真
public class TestApp {

    @Test
    public void test() {
        int i = 1;
        i *= 0.1;
        System.out.println(i);//0
        i++;
        System.out.println(i);//1

    }
}

 

@Test
    public void test() {
        short s = 3; 
        s=s+2;  //编译服务通过
        s+=2;    //编译成功


    }

 

 

 

 

 

比较运算符

 

 

逻辑运算符

 

逻辑运算符用于连接布尔型的表达式

&和&&的区别:

&,无论真假,两边都要进行运算

&&,左边为假,不在进行右边的运算

 

^(异或)与(|)的差异:两边都为true的时候,结果为false

@Test
    public void test() {
        int x = 1;
        int y=1;
        if(x++==2 & ++y==2){
            x =7;
        }
        System.out.println("x="+x+",y="+y);   //x=2,y=2

        
        x = 1;
        y = 1;
        if(x++==2 && ++y==2){
            x =7;
        }
        System.out.println("x="+x+",y="+y);  //x=2,y=1
        
        
        x = 1;
        y = 1;
        if(x++==1 | ++y==1){
            x =7;
        }
        System.out.println("x="+x+",y="+y);  //x=7,y=2
        
        x = 1;
        y = 1;
        if(x++==1 || ++y==1){
            x =7;
        }
        System.out.println("x="+x+",y="+y);   //x=7,y=1
    }

  

 

 

位运算符

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

public static void main(String[] args){
        int m = 12;
        int n = 5;
        System.out.println("m:" + m + " n:" + n);
        //方法一:提供一个临时变量。
        //int temp = m;
        //       m = n;
        //       n = temp;
        //System.out.println("m:" + m + " n:" + n);

        //方法二:当m和n较大时,有可能出现精度损失
        //m = m + n;//m = 12 + 5;
        //n = m - n;//n = 17 - 5;
        //m = m - n;//m = 17- 12
        //System.out.println("m:" + m + " n:" + n);

        //方法三:优点:没有上面两种方法的缺点。 缺点:难!
        m = m ^ n;
        n = m ^ n;//(m ^ n) ^ n == m
        m = m ^ n;//(m ^ n) ^ m == n
        System.out.println("m:" + m + " n:" + n);
    }

 

public static void main(String[] args){
        
        //问题:
        //60  手动的方式,从控制台输出60的十六进制。
        int i = 61;
        //自动调用Integer类现成的方法
        String binary = Integer.toBinaryString(i);
        
        System.out.println(binary);

        String hex = Integer.toHexString(i);
        System.out.println(hex);
        
        /*
        char c = 'a';
        char c1 = (char)(c + 2);
        System.out.println(c1);//c
        */

        int j = i & 15;//获取到i的最低4位对应的值。
        String k1 = (j <= 9)? j + "" : (char)(j - 10 + 'a') + ""; 
        //System.out.println(k1);

        i = i >> 4;
        int z = i & 15;
        String k2 = (z <= 9)? z + "" : (char)(z - 10 + 'a') + "";
        
        System.out.println(k2 + k1);
    }
原文地址:https://www.cnblogs.com/lzb0803/p/8998195.html