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