Java根据条件求int数值的绝对值

用位运算符求一个int 数值的绝对值(代码表示)


import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println(abs(scanner.nextInt()));
    }

    /**
     * 利用位运算求绝对值
     *
     * @param i 一个Integer类型的数
     * @return 该数的绝对值
     */
    public static int abs(int i) {
        int mask = i >> 31;
        return (mask & (~i + 1)) | (~mask & i);
    }

}