ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2022-02-27 15:14:10  阅读:169  来源: 互联网

标签:第十八天 00000000 取反 System 运算符 int println public out


逻辑取反,异或

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同理
        十进制转十六进制 同理
​
        二进制转八进制 三位一组转对应八进制
        二进制转十六进制 四位一组转十六进制
​
        八进制转二进制 一位转三位二进制
        十六进制转二进制 一位转四位二进制
         */
​
    }
}

 

位运算

​ 

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
    }
}

标签:第十八天,00000000,取反,System,运算符,int,println,public,out
来源: https://www.cnblogs.com/wybqjcdd/p/15942364.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有