JavaSE 之旅01——进制转换、运算符、流程控制关键词、重载的概念

本文详细介绍了不同进制之间的转换方法,包括其他进制转十进制及十进制转其他进制的公式,并解释了原码、反码、补码的概念。此外,还探讨了逻辑运算符和位运算符的应用,以及位异或运算的特点。

进制转换

其他进制转十进制

公式:系数 * 基数的权次幂相加 (系数指每个数字,基数指的是多少进制,权指的是从右到左从0开始,次幂就是乘方)

例如:计算 0x100 的十进制值.

0x100 = 1*16^2 + 0 * 16^1 + 0 * 16^0

       =  16*16

       =  256

十进制转其他进制

公式:除基(基数,也就是要转的进制)倒取余(余数)

例如:计算 60 的二进制.

十进制转其他进制

结果为:0b111100 或者 0B111100


原码、反码、补码

原码

总共 8 位。最高位表示该数是正数还是负数,正数最高位用 0 表示,负数最高位用 1 表示.

比如:0b10110100

反码

正数的反码和原码是一样的。所以原码是正数的反码不用计算,原码是负数的反码计算规则是:

  • 保持最高位不变
  • 0 -> 1,1->0

补码

要求补码,先要求原码的反码。补码的计算规则:

  • 在反码基础上加 1
  • 如果有多余8位的,直接砍掉
  • 最高位根据进位变化

已知补码,求原码:

  • 根据补码 -1 求出反码,对反码进行取反就是原码


逻辑运算符、位运算符

  1. && 与 & 的区别

    • 二者具有相同的结果
    • && 具有短路效果(如果左边为 false,那么右边就会不执行),& 则是两边都会执行
  2. || 与 | 的区别

    • 二者具有相同的结果
    • 前者具有短路效果(如果左边为 true,则右边不执行),| 是两边都会执行
  3. |、&、^、~用法:

    • |:有 1 则 1
    • &:有 0 则 0
    • ^:相同则 0,不同则1
    • ~:安位取反
  4. 位异或运算符特点

    一个数据对另一个数据位异或两次,结果还是该数本身

    典型示例:交换两个整数的值,无需借助第三个变量。

    • 解法一(借助第三方变量,开发中推荐使用)

      int x = 5;
      int y = 55;
      
      int temp = x;
      x = y;
      y = temp;
      System.out.println("x= "+x+" y= "+y);
    • 解法二(两个整形相加,弊端就是有可能相加之和超出 int 最大值)

      int x = 5;
      int y = 55;
      
      x = x + y;
      y = x - y;
      x = x - y;
      System.out.println("x= "+x+" y= "+y);
    • 解法三(异或运算符,面试考题)

      int x = 5;
      int y = 55;
      
      x = x ^ y;  // x = 5 ^ 55
      y = x ^ y;
      x = x ^ y;
      System.out.println("x= "+x+" y= "+y);
  5. <<、>> 、>>>

    特点:

    • << :左移几位,就是乘以 2 的几次幂
    • >>:右移几位,就是除以 2 的几次幂
    • >>>:无符号右移,无论最高位是 0 还是 1,左边补齐 0

    面试题:计算 2 * 8 的结果,要求效率最高

    2 << 3


流程控制语句

continue 关键词

作用:终止本次循环,继续下次循环。

特点:当执行到 continue 语句时,后面的语句不会在本次执行。

标号

作用:指定循环跳到某处。

使用场景:一般用在多层循环中。循序执行的语句也可以应用。

面试题:下面程序运行是否会出错?

public static void main(String[] args){
    System.out.println("您好,欢迎您能来参加我司的面试");
    http://blog.youkuaiyun.com/wufeng55
    System.out.println("请您告诉我,我能被顺利执行吗?");
}

解答:

​ 这里的 http: 是下面输出语句的标号而已,而其后面的语句是单行注释。所以,这段代码编译运行没有错,可以正常输出。


方法重载

重载:方法名相同,参数列表不同。与方法返回值无关。

参数列表不同的表现形式包括:

  • 参数的顺序
  • 参数的类型
  • 参数的个数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

code小生

有头像,我们容易成为朋友

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值