zoukankan      html  css  js  c++  java
  • 面试小结

    • 有两个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
  • 相关阅读:
    hdu 1142 用优先队列实现Dijkstra
    POJ 2063 Investment 完全背包
    POJ 3260 多重背包+完全背包
    bignum 大数模板
    POJ 3468(树状数组的威力)
    POJ 3468 线段树裸题
    hdu 1058 Humble Numbers
    CodeForces 185A 快速幂
    POJ 1990 MooFest 树状数组
    设计模式(20)策略模式
  • 原文地址:https://www.cnblogs.com/wumz/p/7644915.html
Copyright © 2011-2022 走看看