1. 程式人生 > >Java中的Math.abs一定會返回正值嗎?

Java中的Math.abs一定會返回正值嗎?

參考jdk文件,可以看到如下注釋

Note that if the argument is equal to the value of Integer.MIN_VALUE, the most negative representable int value, the result is that same value, which is negative.

public class Test {

    public static void main(String[] args) {
        System.out.println(Integer.MIN_VALUE);
        System.out.println(Integer.MIN_VALUE < 0);
        System.out.println(Math.abs(Integer.MIN_VALUE));
        System.out.println(Math.abs(Integer.MIN_VALUE) < 0);
        System.out.println(Integer.MAX_VALUE + 1);
    }

}

結果如下

-2147483648
true
-2147483648
true
-2147483648

相關推薦

JavaMath.abs一定返回正值

參考jdk文件,可以看到如下注釋 Note that if the argument is equal to the value of Integer.MIN_VALUE, the most negative representable int value, the res

java關於final,finally,finalize的區別?javafinally語句一定執行

既然上一篇寫到繼承多型和封裝,那麼接著記一下final、finally和finalize的區別。最基礎的知識還是要鞏固牢靠的。 final:final作為java的修飾符,可以修飾類,變數和方法。被final修飾的類不能被繼承,修飾的變數不能更改值,修飾的方法不能被重寫。 finally:f

Java,你真的日期轉換

1. 什麼是SimpleDateFormat 在java doc對SimpleDateFormat的解釋如下: SimpleDateFormatis a concrete class for formatting and parsing dates in a locale

JavaMath類的常用方法

order ref oat math dom ack ron 方法 args 8243 [java] view plain copy public class MathDemo { public static void main(

java如何按一定的格式輸出時間, 必須給出例子

test clas 全部 code -s htm let pan mmm 題目2: 按一定的格式輸出時間 (視頻下載) (全部書籍) 本章源碼 import java.util.*;import java.text.SimpleDateFormat;public class

JavaMath、Random、BigInteger、BigDecimal類

文章目錄 Math類 Random類 BigInteger類 BigDecimal類 Math類 1、 成員變

Java Math.sqrt()方法

Java Math.sqrt()方法 描述 java.lang.Math.sqrt(double a) 返回正確舍入的一個double值的正平方根。特殊情況: 如果引數是NaN或小於為零,那麼結果是NaN. 如果引數是正無窮大,那麼結果為正無窮大.

解讀JavaBigDecimal.ZERO.compareTo()的返回值含義

Java compareTo() 用法 例如: public static void main(String[] args) {     BigDecimal bnum1, bnum2;     bnum1 = new BigDecimal("10");     bnu

Javamath類別的各種運算方法及其應用

import static java.lang.Math.*; Math 類別      Math 類別包括一些數字運算的方法,如指數、對數、開平方、三角函式等 Math 類別的資料域:             Double E = 2.7182818284590452

JavaDate轉換大全,返回yyyy-MM-dd的Date型別

/** * 獲取現在時間,這個好用 * * @return返回長時間格式 yyyy-MM-dd HH:mm:ss */ public static Date getSqlDate() { Date sqlDate = new java.sql

JavaMath.round()方法原理解讀

Java中Math.round()方法是將浮點數“四捨五入”轉換成整數的方法,但這裡的“四捨五入”和數學中的四捨五入有點差別,接下來就來解析一下在Java裡的原理。 1、首先直接上測試程式碼: public static void main(String[] a

JavaMath.round()的取整規則

做Java的面試題時遇到了以下這題,百度了一下Math.round()的修約規則,有的說是四捨五入,有的說是四捨六入,發現和我學分析化學時用的數字修約規則(四捨六入五成雙)很像,所以驗證一下; 原題:Math.round(11.5) 等於多少?Math.rou

JavaMath.floor()和Math.ceil()的區別

Math.ceil():將小數部分一律向整數部分進位 簡單來說,當小數部分為非0值時,進為1.0 Math.ceil(12.1)=13 Math.ceil(12.8)=13 當小數部分為0時,算作0.0 Math.ceil(12.0)=12 Math.ceil(10.0)=

JavaMath.pow()的用法

1.問題描述   153是一個非常特殊的數,它等於它的每位數字的立方和,即153=1*1*1+5*5*5+3*3*3。程式設計求所有滿足這種條件的三位十進位制數。 輸出格式   按從小到大的順序輸出滿足條件的三位十進位制數,每個數佔一行。 public clas

JavaMath類常用函式總結

Java中比較常用的幾個數學公式的總結: //取整,返回小於目標函式的最大整數,如下將會返回-2 Math.floor(-1.8); //取整,返回發育目標數的最小整數 Math.ceil() //

luaos.clock()為何返回負值

前一陣子寫了個東西,結果在android機器上跑時發現了一些莫名奇妙的bug,找了半天,發現原因是os.clock()返回了負值,而且是一個隨著時間慢慢變大的負值,當時為了快速改bug,就不再使用os.clock()了, 今天有空,就仔細找了找原因; 先看看lua中os.

JAVAMath類的random()方法使用

使用了Math類的random()方法, 由於Math類是出於java.lang包(Package),故使用時不必import這個包。 此外本例還使用了移位運算子 /** * 使用了Math類的random()方法, * 由於Math類是出於java.lang包(Pa

javaHashMap滿了怎樣

void addEntry(int hash, K key, V value, int bucketIndex) { if ((size >= threshold) && (null != table[bucketIndex])) { re

JavaMath類常用函式總結】

Java中比較常用的幾個數學公式的總結: //取整,返回小於目標函式的最大整數,如下將會返回-2 Math.floor(-1.8); //取整,返回發育目標數的最小整數 Math.ceil() //四捨五入取整 Math.round() //計算平

JavaMath.pow( )的使用

public class text { public static void main(String[] args) { double sum=0; for(int i=2;i<=10;i+