2020-12-05 进制+算术运算符

今天主要是进制的认识、转换和运算符中的算术运算符学习。

进制:

二进制(binary):0,1;满2进1,以0B或0b开头;
八进制(octal):0-7,满8进1,以数字0开头;
十进制(decimal)0-9,满10进1
十六进制(hex),0-9及A-F,以0x或OX开头表示,此时的A-F不区分大小写
	0x21AF + 1 =0X21B0

二进制与十进制转换——二进制转十进制
	首位是符号位,0是正数,1是负数
0 0 0 0 1 1 1 0 表示14
1 0 0 0 1 1 1 0 表示-14
原码、反码、补码
对于正数来说,三码合一
对于负数来说
1 0 0 0 1 1 1 0 表示-14,原码
1 1 1 1 0 0 0 1(除符号位外都变),这是-14的反码
1 1 1 1 0 0 1 0(最后一位+1),这是-14的补码
  1. 计算机底层都以补码的方式来储存数据!

  2. 从127的原码到-127的补码解释了为什么byte范围是-128~127,以此为循环

  3. 二进制与十进制转换——十进制转二进制 方法:除2取余数的逆。

  4. 以13为例 二进制与八进制/十六进制的转换

  5. 八进制就把二进制三个三个一起看

  6. 十六进制就把二进制四个四个一起看

进制代码:

class  BinaryTest{
	public static void main(String[] args) 
	{
		int num1 = 0b110;
		int num2 = 110;
		int num3 = 0127;
		int num4 = 0x110a;

	System.out.println("num1 = " + num1);
	System.out.println("num2 = " + num2);
	System.out.println("num3 = " + num3);
	System.out.println("num4 = " + num4);

}
}

运算符
算术运算符

  • , - ++, –
    赋值运算符
    比较运算符(关系运算符)
    逻辑运算符
    位运算符(//用的很少)
    三元运算符

/*

  1. 算术运算符
      • / % (前)++ (后)++ (前)-- (后)-- +
        */
        代码:

          	class  AriTest{
          		public static void main(String[] args) {
        
          //除号:/
          int num1 = 12;
          int num2 = 5;
          int result1 = num1 / num2; //2
          System.out.println(result1);
        
          int result2 = num1 / num2 * num2; // 10
          System.out.println(result2);
          
          double result3 = num1 / num2;
          System.out.println(result3);
          
          double result4 = num1 / num2 + 0.0;
          double result5 = num1 / (num2 + 0.0);
          double result6 = (double)(num1 / num2);
          double result7 = (double)(num1) / num2;
          	System.out.println(result4);
          	System.out.println(result5);
          	System.out.println(result6);
          	System.out.println(result7);
        
          // %:取余运算
          // 结果的符号与被模数的符号有关
          // 开发中,经常用%判断能否被除尽的情况
          int m1 = 12;
          int n1 = 5;
          System.out.println("m1 % n1 = " + m1 % n1); //2
          int m2 = -12;
          int n2 = 5;
          System.out.println("m2 % n2 = " + m2 % n2);		//-2
          int m3 = 12;
          int n3 = -5;
          System.out.println("m3 % n3 = " + m3 % n3); //2 
          int m4 = -12;
          int n4 = -5;
          System.out.println("m4 % n4 = " + m4 % n4); //-2
        
          //(前)++ : 先自增1,然后再运算;
          //(后)++ : 先运算,再自增1
          int a1 = 10; // 
          int b1 = ++a1; // +在前,先运算a1+1=11,然后再把11赋给b1
          // a1=11,b1=11
        
          int a2 = 10;
          int b2 = a2++; // +在后,先赋值,b2=10
          // a1=11,b1=10 
          
          int a3 = 10;
          ++a3;//a3++
          int b3 = a3;
        
          System.out.println("a1 = " + a1 + ", b1 = " + b1);
          System.out.println("a2 = " + a2 + ", b2 = " + b2);
        
          // 注意点
          short s1 = 10;
          //s1 = s1 + 1; 编译失败
          //s1 = (short)(s1 + 1); //可以
          s1++;//自增1,不会改变本身变量的数据类型;
          System.out.println(s1);
          
          //问题
          byte bb1 = 127;
          bb1++;
          System.out.println("bb1 = " + bb1);
        
          //(前)--: 先自减1,然后运算;
          //(后)--: 先运算,再自减1
        
          int a4 = 10;
          int b4 = --a4;
          System.out.println("a4 = " + a4 + ", b4 = " +b4);
          
          int a5 = 10;
          int b5 = a5--;
          System.out.println("a5 = " + a5 + ", b5 = " +b5);
        
        
          }
          }
        

注意前++和后++
前++是先自加1再赋值
后++是先赋值再加1

前–和后–同理

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值