1. Java如何用最有效的方法計算22*8
Java乘法運算還有位運算符也可以完成乘法運算
<<左移運算符 ,左移一位,相當於乘2
>>右移運算符 ,右移一位,相當於除2
22 乘 8=11 乘 16, 16是2的4次方,就是通過位運算符,11向左移4位
22 乘 8最有效的計算方法為: 11左移4位 及11<<4
你明白了嗎?
2. java怎樣計算1.2^2.5
java怎樣計算1.2^2.5的方法為:doublepow=Math.pow(1.2,2.5);System.out.println(pow);Java是一門面向對象的編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特徵。
3. JAVA怎麼計算百分比
int num1 = 7;
int num2 = 9;
// 創建一個數值格式化對象
NumberFormat numberFormat = NumberFormat.getInstance();
// 設置精確到小數點後2位
public String getPercent(int x,int total){
String result="";//接受百分比的值
double x_double=x*1.0;
double tempresult=x/total;
numberFormat.setMaximumFractionDigits(2);
String result = numberFormat.format((float) num1 / (float) num2 * 100);
System.out.println("num1和num2的百分比為:" + result + "%");
比較運算符
比較運算符屬於二元運算符,用於程序中的變數之間,變數和自變數之間以及其他類型的信息之間的比較。比較運算符的運算結果是boolean型。當運算符對應的關系成立時,運算的結果為true,否則為false。比較運算符共有6個,通常作為判斷的依據用於條件語句中。
Java解釋器在沒有生成任何對象的情況下,以main作為入口來執行程序。每個類中可以定義多個方法,但main方法只能有一個。關鍵字public表示訪問許可權,指明所有的類都可以使用這一方法。
以上內容參考:網路-Java
4. java如何進行精確運算
importjava.math.BigDecimal;publicclassArith{//默認除法運算精度privatestaticfinalintDEF_DIV_SCALE=10;//這個類不能實例化privateArith(){;}/***提供精確的加法運算。*@paramv1被加數*@paramv2加數*@return 兩個參數的和*/publicstaticdoubleadd(doublev1, doublev2){ BigDecimalb1=newBigDecimal(Double.toString(v1)); BigDecimalb2=newBigDecimal(Double.toString(v2));returnb1.add(b2).doubleValue();}/***提供精確的減法運算。*@paramv1被減數*@paramv2減數*@return 兩個參數的差*/publicstaticdoublesub(doublev1, doublev2){ BigDecimalb1=newBigDecimal(Double.toString(v1)); BigDecimalb2=newBigDecimal(Double.toString(v2));returnb1.subtract(b2).doubleValue();}/***提供精確的乘法運算。*@paramv1被乘數*@paramv2乘數*@return 兩個參數的積*/publicstaticdoublemul(doublev1, doublev2){ BigDecimalb1=newBigDecimal(Double.toString(v1)); BigDecimalb2=newBigDecimal(Double.toString(v2));returnb1.multiply(b2).doubleValue();}/***提供(相對)精確的除法運算,當發生除不盡的情況時,精確到*小數點以後10位,以後的數字四捨五入。*@paramv1被除數*@paramv2除數*@return 兩個參數的商*/publicstaticdoublediv(doublev1, doublev2){returndiv(v1,v2,DEF_DIV_SCALE);}/***提供(相對)精確的除法運算。當發生除不盡的情況時,由scale參數指*定精度,以後的數字四捨五入。
5. java的加減乘除運算
使用BigDecimal並且一定要用String來夠造。
實現方法如下:
import java.math.BigDecimal;
/**
* 由於Java的簡單類型不能夠精確的對浮點數進行運算,這個工具類提供精
* 確的浮點數運算,包括加減乘除和四捨五入。
*/
public class Arith{
//默認除法運算精度
private static final int DEF_DIV_SCALE = 10;
//這個類不能實例化
private Arith(){
}
/**
* 提供精確的加法運算。
* @param v1 被加數
* @param v2 加數
* @return 兩個參數的和
*/
public static double add(double v1,double v2){
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.add(b2).doubleValue();
}
/**
* 提供精確的減法運算。
* @param v1 被減數
* @param v2 減數
* @return 兩個參數的差
*/
public static double sub(double v1,double v2){
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.subtract(b2).doubleValue();
}
/**
* 提供精確的乘法運算。
* @param v1 被乘數
* @param v2 乘數
* @return 兩個參數的積
*/
public static double mul(double v1,double v2){
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.multiply(b2).doubleValue();
}
/**
* 提供(相對)精確的除法運算,當發生除不盡的情況時,精確到
* 小數點以後10位,以後的數字四捨五入。
* @param v1 被除數
* @param v2 除數
* @return 兩個參數的商
*/
public static double div(double v1,double v2){
return div(v1,v2,DEF_DIV_SCALE);
}
/**
* 提供(相對)精確的除法運算。當發生除不盡的情況時,由scale參數指
* 定精度,以後的數字四捨五入。
* @param v1 被除數
* @param v2 除數
* @param scale 表示表示需要精確到小數點以後幾位。
* @return 兩個參數的商
*/
public static double div(double v1,double v2,int scale){
if(scale<0){
throw new IllegalArgumentException(
"The scale must be a positive integer or zero");
}
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.divide(b2,scale,BigDecimal.ROUND_HALF_UP).doubleValue();
}
/**
* 提供精確的小數位四捨五入處理。
* @param v 需要四捨五入的數字
* @param scale 小數點後保留幾位
* @return 四捨五入後的結果
*/
public static double round(double v,int scale){
if(scale<0){
throw new IllegalArgumentException(
"The scale must be a positive integer or zero");
}
BigDecimal b = new BigDecimal(Double.toString(v));
BigDecimal one = new BigDecimal("1");
return b.divide(one,scale,BigDecimal.ROUND_HALF_UP).doubleValue();
}
};
6. java運算中,如何引入π進行計算(希望能附上例子)
Java中Math.PI就表示π。其源碼為public static final double PI = 3.14159265358979323846。
比如說你要算半徑為2的圓的面積,代碼如下:
double pi=Math.PI
int r=2
double S=pi*r*r
運行結果如下圖
(6)java計算方法擴展閱讀
package 計算π的近似值;
import java.util.Scanner;
public class Example1 {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
System.out.println("請輸入精度:");
double z=scan.nextDouble();
System.out.println("在精度為"+z+"的條件下,π約等於: "+jishuPI(z));
}
static double jishuPI(double z){
double sum=2;
int n=1;
int m=3;
double t=2;
while(t>z){
t=t*n/m;
sum=sum+t;
n++;
m+=2;
}
return sum;
}
}
7. java計算時間差的幾種方法
1.計算天數差。
[java]view plain
StringfromDate=simpleFormat.format("2016-05-0112:00");
StringtoDate=simpleFormat.format("2016-06-0112:00");
longfrom=simpleFormat.parse(fromDate).getTime();
longto=simpleFormat.parse(toDate).getTime();
intdays=(int)((to-from)/(1000*60*60*24));
2.計算小時差
[java]view plain
StringfromDate=simpleFormat.format("2016-05-0112:00");
StringtoDate=simpleFormat.format("2016-05-0114:00");
longfrom=simpleFormat.parse(fromDate).getTime();
longto=simpleFormat.parse(toDate).getTime();
inthours=(int)((to-from)/(1000*60*60));
3.計算分鍾差:
[java]view plain
StringfromDate=simpleFormat.format("2016-05-0112:00");
StringtoDate=simpleFormat.format("2016-05-0112:50");
longfrom=simpleFormat.parse(fromDate).getTime();
longto=simpleFormat.parse(toDate).getTime();
intminutes=(int)((to-from)/(1000*60));
8. Java中怎樣怎樣算出求函數的冪次方
java中通常進行數學運算的東西都在Math類中,求函數的冪次方就是Math類中的pow方法:public static double pow(doublea,doubleb),返回第一個參數的第二個參數次冪的值。
例如求2的3次方,代碼如下:
public class test {
public static void main(String[] args) {
double a= Math.pow(2, 3);
}
}
運行結果為8
(8)java計算方法擴展閱讀:
Math 類包含用於執行基本數學運算的方法,如初等指數、對數、平方根和三角函數。
與 StrictMath 類的某些數學方法不同,並非 Math 類所有等價函數的實現都定義為返回逐位相同的結果。此類在不需要嚴格重復的地方可以得到更好的執行。
默認情況下,很多 Math 方法僅調用 StrictMath 中的等價方法來完成它們的實現。建議代碼生成器使用特定於平台的本機庫或者微處理器指令(可用時)來提供 Math 方法更高性能的實現。這種更高性能的實現仍然必須遵守 Math 的規范。
實現規范的質量涉及到兩種屬性,即返回結果的准確性和方法的單調性。浮點 Math 方法的准確性根據 ulp(units in the last place,最後一位的進退位)來衡量。對於給定的浮點格式,特定實數值的 ulp 是包括該數值的兩個浮點值的差。
當作為一個整體而不是針對具體參數討論方法的准確性時,引入的 ulp 數用於任何參數最差情況下的誤差。
如果一個方法的誤差總是小於 0.5 ulp,那麼該方法始終返回最接近准確結果的浮點數;這種方法就是正確舍入。一個正確舍入的方法通常能得到最佳的浮點近似值;然而,對於許多浮點方法,進行正確舍入有些不切實際。
相反,對於Math 類,某些方法允許誤差在 1 或 2 ulp 的范圍內。非正式地,對於 1 ulp的誤差范圍,當准確結果是可表示的數值時,應該按照計算結果返回准確結果;否則,返回包括准確結果的兩個浮點值中的一個。對於值很大的准確結果,括弧的一端可以是無窮大。
除了個別參數的准確性之外,維護不同參數的方法之間的正確關系也很重要。
因此,大多數誤差大於 0.5 ulp 的方法都要求是半單調的:只要數學函數是非遞減的,浮點近似值就是非遞減的;同樣,只要數學函數是非遞增的,浮點近似值就是非遞增的。並非所有準確性為 1 ulp 的近似值都能自動滿足單調性要求。
https://docs.oracle.com/javase