• 面试小结


    • 有两个int类型的数a和b,写出交换它们值的方法
    package com.cqupt.xxx;
    
    public class Demo {
    
    	public static void main(String[] args) {
    		int a = 111;
    		int b = 222;
    
    		// 方法1: 使用中间变量
    		Method1(a, b);
    
    		// 方法2: 使用加减法
    		Method2(a, b);
    
    		// 方法3:使用乘除法(这里除数不能为0
    		Method3(a, b);
    
    		// 方法4:使用异或法
    		Method4(a, b);
    
    	}
    
    	private static void Method1(int a, int b) {
    		int temp = a;
    		a = b;
    		b = temp;
    		outPrint(a, b);
    	}
    
    	private static void Method2(int a, int b) {
    		a = a + b;
    		b = a - b;
    		a = a - b;
    		outPrint(a, b);
    	}
    
    	private static void Method3(int a, int b) {
    		a = a * b;
    		b = a / b;
    		a = a / b;
    		outPrint(a, b);
    	}
    
    	private static void Method4(int a, int b) {
    		a = a ^ b;
    		b = a ^ b;
    		a = a ^ b;
    		outPrint(a, b);
    	}
    
    	private static void outPrint(int a, int b) {
    		System.out.println("a: " + a);
    		System.out.println("b: " + b);
    		System.out.println("-----------------");
    	}
    
    }
    
    输出结果:
    a: 222
    b: 111
    -----------------
    a: 222
    b: 111
    -----------------
    a: 222
    b: 111
    -----------------
    a: 222
    b: 111
    -----------------
    • 或、与、异或
    |  是按位或 
    ^ 是按位异或    
    & 是按位与
    
    例如:
    int x = 5;
    int y = 11;
    
    过程:
    x=5  (0101二进制)
    y=11 (1011二进制)
    
    结果:
    x|y = 1111 = 15
    x&y = 0001 = 1
    x^y = 1110 = 14
  • 相关阅读:
    node.js入门
    分布式爬虫
    ES6入门
    Vue.js入门
    用scrapy爬取亚马逊网站项目
    垃圾回收器
    HTTP协议详解
    有效的邮箱地址
    C#中正则表达式的使用
    抽象类
  • 原文地址:https://www.cnblogs.com/wumz/p/7644915.html
Copyright © 2020-2023  润新知