Java学习第十八天<逻辑取反,异或><赋值运算符><三元运算符><键盘输入><四种进制><位运算>

逻辑取反,异或

package 逻辑运算符;
​
public class InverseOperator {
    public static void main(String[] args) {
        System.out.println(60>20);
        System.out.println(!(60>20));
​
        boolean b = (10>1)^(3>5);// T F ^表示不同时为T
        System.out.println("b="+b);
        System.out.println("============================");
        //练习题
        boolean x=true;
        boolean y=false;
        short z=46;
        if((z++==46)&&(y=true)) z++;//注意==为判断,=为赋值
        if ((x=false)||(++z==49))z++;
        System.out.println("z="+z);
    }
}
​

 

赋值运算符

package chapter03.D3赋值运算符;
​
public class AssignOperator {
    public static void main(String[] args) {
        int n1=10;
        n1+=4;
        System.out.println(n1);
        n1/=3;//n1=n1/3
        System.out.println(n1);
​
        byte b=3;
        b+=2;  //b=(byte)(b+2);复合赋值运算会有类型转换 b++也有转换
​
    }
}

 

三元运算符

package 三元运算符;
​
public class TernaryOperator {
    public static void main(String[] args) {
        int a=10;
        int b=99;
        int result=a<b?a++:b--;
        System.out.println("result="+result);
        System.out.println("a="+a);
        System.out.println("b="+b);
    }
}

 

package 三元运算符;
​
public class TernaryOperatorDetail {
    public static void main(String[] args) {
        int a=3;
        int b=8;
        int c=a>b?(int)1.1:(int)3.4;//注意强转
        System.out.println(c);
    }
}

 

键盘输入

package 键盘输入;
​
import java.util.Scanner;
​
public class Input {
    public static void main(String[] args) {
        /*
        1.导入Scanner类所在的包
        2.创建Scanner对象,new创建一个对象
        3.myScanner就是Scanner类的对象
         */
        Scanner myscanner = new Scanner(System.in);
        System.out.println("请输入名字");
        String name = myscanner.next();
        System.out.println("请输入年龄");
        int age = myscanner.nextInt();
        System.out.println("请输入薪水");
        double sal= myscanner.nextDouble();
        System.out.println("信息如下");
        System.out.println("名字="+name+"年龄="+age+"薪水="+sal);
    }
}

 

四种进制

package 四种进制;
​
public class BinaryTest {
    public static void main(String[] args) {
        int n1=0b1010;//0b开头 二进制  0*2^0 + 1*2^1 + 1*2^3
        int n2=1010;
        int n3=01010;//0开头 八进制  1*8^1 + 1*8^3
        int n4=0X10101;//0X开头 十六进制  A表示10  1*16^0 + 1*16^2 + 1*16^4
        System.out.println("n1="+n1);
        System.out.println("n2="+n2);
        System.out.println("n3="+n3);
        System.out.println("n4="+n4);
        /*
        十进制转二进制 该数不断除以2,直到商为0,余数倒过来 8位一字节
        十进制转八进制 不断除以8同理
        十进制转十六进制 同理
​
        二进制转八进制 三位一组转对应八进制
        二进制转十六进制 四位一组转十六进制
​
        八进制转二进制 一位转三位二进制
        十六进制转二进制 一位转四位二进制
         */
​
    }
}

 

位运算

Java学习第十八天<逻辑取反,异或><赋值运算符><三元运算符><键盘输入><四种进制><位运算>Java学习第十八天<逻辑取反,异或><赋值运算符><三元运算符><键盘输入><四种进制><位运算>​ 

package 位运算;
​
public class BitOperator {
    public static void main(String[] args) {
        System.out.println(2&3);
        /* 2的原码 00000000 00000000 00000000 00000010 第一位是符号位 0是正
           2的补码 00000000 00000000 00000000 00000010 正数三码合一(原码 反码 补码)
           3的原码 00000000 00000000 00000000 00000011
           3的补码 00000000 00000000 00000000 00000011
           按位&  00000000 00000000 00000000 00000010 运算后的补码 补码运算
          原码    00000000 00000000 00000000 00000010 2
         */
        System.out.println(~-2);
        /* -2的原码 10000000 00000000 00000000 00000010
           -2的反码 11111111 11111111 11111111 11111101 反码符号位不变,其他取反 原-反-补
           -2的补码 11111111 11111111 11111111 11111110 负数补码是反码+1
           补码取反 00000000 00000000 00000000 00000001  运算后补码 正数三码合一
           原码    00000000 00000000 00000000 00000001 1
         */
        System.out.println(~2);
        /* 2的原码 00000000 00000000 00000000 00000010 第一位是符号位 0是正
           2的补码 00000000 00000000 00000000 00000010 正数三码合一(原码 反码 补码)
           取反   11111111 11111111 11111111 11111101  运算后补码
           反码   11111111 11111111 11111111 11111100  负数补码最大 反码-1
           原码   10000000 00000000 00000000 00000011 符号位不变,其他全变  -3
         */
    }
}

 

package 位运算;
​
public class BitOperator02 {
    public static void main(String[] args) {
        System.out.println(1>>2);// /2/2
        System.out.println(15>>2);// 15/2/2 7/2 3
        System.out.println(1<<2);//×2×2
    }
}

上一篇:PHP fsockopen函数详解


下一篇:python基础(二)