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

进制转换

其他进制转十进制

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

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

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

       =  16*16

       =  256

十进制转其他进制

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

例如:计算 60 的二进制.

十进制转其他进制

结果为:0b111100 或者 0B111100


原码、反码、补码

原码

扫描二维码关注公众号,回复: 10464076 查看本文章

总共 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.csdn.net/wufeng55
    System.out.println("请您告诉我,我能被顺利执行吗?");
}

解答:

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


方法重载

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

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

  • 参数的顺序
  • 参数的类型
  • 参数的个数
发布了68 篇原创文章 · 获赞 210 · 访问量 16万+

猜你喜欢

转载自blog.csdn.net/wufeng55/article/details/80953782