1.先说下怎么理解

round()方法可以这样理解:

将括号内的数+0.5之后,向下取值,

比如:round(3.4)就是3.4+0.5=3.9,向下取值是3,所以round(3.4)=3;

round(-10.5)就是-10.5+0.5=-10,向下取值就是-10,所以round(-10.5)=-10

所以,Math.round(11.5)=12;

现在再来看,Math.round(11.5),Math.round(-11.5)你应该知道等于多少了吧,掌握了方法就好解决问题了。

这个题面试了很多家就一家遇到,所以就来和大家分享下。

扩展:常用的三个

Math.ceil求最小的整数,但不小于本身.

ceil的英文意义是天花板,该方法就表示向上取整,

例子:

所以,Math.ceil(11.3)的结果为12,Math.ceil(-11.3)的结果是-11;

  1. /**
  2. * @see  求最小的整数,但不小于本身
  3. * @param double
  4. * @return double
  5. */
  6. System.out.println(Math.ceil(-1.1));
  7. System.out.println(Math.ceil(-1.9));
  8. System.out.println(Math.ceil(1.1));
  9. System.out.println(Math.ceil(1.9));

输出结果:

  1. -1.0
  2. -1.0
  3. 2.0
  4. 2.0

Math.floor求最大的整数,但不大于本身.

floor的英文意义是地板,该方法就表示向下取整,

例子:

floor的英文意义是地板,该方法就表示向下取整,

所以,Math.floor(11.6)的结果为11,Math.floor(-11.6)的结果是-12;

  1. /**
  2. * @see 求最大的整数,但不大于本身
  3. * @param double
  4. * @return double
  5. */
  6. System.out.println(Math.floor(-1.1));
  7. System.out.println(Math.floor(-1.9));
  8. System.out.println(Math.floor(1.1));
  9. System.out.println(Math.floor(1.9));

输出结果:

  1. -2.0
  2. -2.0
  3. 1.0
  4. 1.0

Math.round求本身的四舍五入.

  1. /**
  2. * @see 本身的四舍五入
  3. * @param double
  4. * @return long
  5. */
  6. System.out.println(Math.round(-1.1));
  7. System.out.println(Math.round(-1.9));
  8. System.out.println(Math.round(1.1));
  9. System.out.println(Math.round(1.9));

输出结果:

  1. -1
  2. -2
  3. 1
  4. 2

Math.abs求本身的绝对值.

  1. /**
  2. * @see 本身的绝对值
  3. * @param double|float|int|long
  4. * @return double|float|int|long
  5. */
  6. System.out.println(Math.abs(1.1));
  7. System.out.println(Math.abs(1.9));
  8. System.out.println(Math.abs(-1.1));
  9. System.out.println(Math.abs(-1.9));

输出结果:

  1. 1.1
  2. 1.9
  3. 1.1
  4. 1.9

Math.max与Math.min,比较两个数的最大值,最小值

  1. /**
  2. * @see 比较两个数的最大值,最小值
  3. * @param double|float|int|long
  4. * @return double|float|int|long
  5. */
  6. System.out.println(Math.max(1.0, 2.0));
  7. System.out.println(Math.min(-1.0, -2.0));

输出结果:

  1. 2.0
  2. -2.0

返回一个与第二个参数相同的标志(正负号)的值

  1. /**
  2. * @see 返回一个与第二个参数相同的标志(正负号)的值
  3. * @param double|float
  4. * @return double|float
  5. */
  6. System.out.println(Math.copySign(-1.9, 2.9));
  7. System.out.println(Math.copySign(1.9, -2.9));
  8. System.out.println(Math.copySign(0.0, 2.9));
  9. System.out.println(Math.copySign(0.0, -2.9));

输出结果:

  1. 1.9
  2. -1.9
  3. 0.0
  4. -0.0

Math

类的常用方法

封装了一些基本运算方法,包括进行三角运算的正弦、余弦、正切、余切相关的方法:

例如,求正弦的

sin

,求余弦的

cos

等,如果使用的话可以参考

JDK

下面的方法可能是我们经常要使用的:

1

)求最大值,可以用于求

int

类型,

long

类型,

float

类型,

double

类型的最大值,

下面仅仅下求整数最大值的方法的定义:

public static int max(int a,int b);

2

)求最小值,和求最大值基本相同。

public static int min(int a,int b);

3

)求绝对值,和求最大值的方法基本相同。

public static int abs(int a)

4

)四舍五入的方法

public static int round(float a)

public static long round(double d)

5

)计算幂

public static double pow(double a,double b)

6

)求下限值

public static double floor(double d)

7

)求上限值

public static double ceil(double d)

8

)求平方根

public static double sqrt(double d)

下面的例子包含了上面的

8

个方法:

double

d1

=

5.7;

double

d2

=

12.3;

double d3 = -5;

System.out.println(d1+"

"+d2+"

的最大值为:

"+Math.max(d1,d2));

System.out.println(d1+"

"+d2+"

的最小值为:

"+Math.min(d1,d2));

System.out.println(d3+"

的绝对值为:

"+Math.abs(d3));

System.out.println(d2+"

四舍五入之后为:

"+Math.round(d2));

System.out.println(d2+"

2

次幂为:

"+Math.pow(d2,2));

System.out.println(d2+"

的下限为:

"+Math.floor(d2));

System.out.println(d2+"

的上限为:

"+Math.ceil(d2));

System.out.println(d2+"

的平方根为:

"+Math.sqrt(d2));

运行结果为:

5.7

12.3

的最大值为:

12.3

5.7

12.3

的最小值为:

5.7

-5.0

的绝对值为:

5.0

12.3

四舍五入之后为:

12

12.3

2

次幂为:

151.29000000000002

12.3

的下限为:

12.0

12.3

的上限为:

13.0

12.3

的平方根为:

3.5071355833500366

9

)要获取一个随机数,如果是

0

1

之间的随机数,可以直接使用下面的方法:

public static double random();

如果希望得到某个范围的随机数,例如

60

100

,可以这样处理:

int

min=60;

int

max=100;

int

random;

random = min + (int) ( (max - min) * (Math.random()));

Math.round(11.5)等于多少? Math.round(-11.5)等于多少?的更多相关文章

  1. Oracle_RAC数据库GI的PSU升级(11.2.0.4.0到11.2.0.4.8)

    Oracle_RAC数据库GI的PSU升级(11.2.0.4.0到11.2.0.4.8) 本次演示为升级oracle rac数据库,用GI的psu升级,从11.2.0.4.0升级到11.2.0.4.8 ...

  2. 【C++11】30分钟了解C++11新特性

    作者:王选易,出处:http://www.cnblogs.com/neverdie/ 欢迎转载,也请保留这段声明.如果你喜欢这篇文章,请点[推荐].谢谢! 什么是C++11 C++11是曾经被叫做C+ ...

  3. PSU 离11.2.0.3.0 -> 11.2.0.3.11 如果解决冲突的整个

    Oracle rdbms 扑灭psu离11.2.0.3.0升级到11.2.0.3.11 参考patch :18522512 停止应用,停止听音乐并DB,将db的oracle_home在下面OPatch ...

  4. 设正整数n的十进制表示为n=ak……a1a0(0<=ai<=9,0<=i<=k,ak!=0),n的个位为起始数字的数字的正负交错之和T(n)=a0+a1+……+(-1)kak,证明:11|n的充分必要条件是11|T(n);(整除理论1.1.2))

    设正整数n的十进制表示为n=ak……a1a0(0<=ai<=9,0<=i<=k,ak!=0),n的个位为起始数字的数字的正负交错之和T(n)=a0+a1+……+(-1)kak, ...

  5. AIX 7.1 RAC 11.2.0.4.0升级至11.2.0.4.6(一个patch跑了3个小时)

    1.环境 DB:两节点RAC 11.2.0.4.0升级至11.2.0.4.6 OS:AIX 7.1(205G内存 16C) 2.节点1.节点2(未建库) 2.1.patch 20420937居然用了3 ...

  6. 下面程序的输出结果是____ A:11,10 B:11,11 C:10,10 D:10,11 int x=10; int y=x++; printf("%d,%d",(x++,y),y++);

    下面程序的输出结果是____ A:11,10 B:11,11 C:10,10 D:10,11 int x=10; int y=x++; printf("%d,%d",(x++,y) ...

  7. Transaction Check Error:file /usr/libexec/getconf/default conflicts between attempted installs of gcc-6.4.1-1.fc25.i686 and gcc-6.4.1-1.fc25.x86_64

    今天在我的ubuntu系统上使用yum来安装软件时出错了错误:Transaction Check Error:file /usr/libexec/getconf/default conflicts b ...

  8. 【ERROR】while loading shared libraries: /u01/app/oracle/product/11.2.0/lib/libclntsh.so.11.1: cannot

    问题: [oracle@mydb]$ lsnrctl status lsnrctl: error while loading shared libraries: /u01/app/oracle/pro ...

  9. lsnrctl: error while loading shared libraries: /opt/app/oracle/product/11.2/db_1/lib/libclntsh.so.11

    错误描述: 安装好数据库后,在oralce用户下敲入 查看监听状态命令,返回错误提示 [oracle@centos3 ~]$ lsnrctl statuslsnrctl: error while lo ...

  10. Downgrade ASM DATABASE_COMPATIBILITY (from 11.2.0.4.0 to 11.2.0.0.0) on 12C CRS stack.

    使用Onecommand完成快速Oracle 12c RAC部署后 发现ASM database compatibilty无法设置,默认为11.2.0.4.0. 由于我们还有些数据库低于这个版本,所以 ...

随机推荐

  1. Docker之镜像

    镜像(Images) 镜像是Docker的三大核心之一,类似于虚拟机,作用和虚拟机是一样的,唯独是组成部分会有些区别.简单的说如果我们想启动一个容器就必须要有镜像.docker运行容器前需要本地存在对 ...

  2. Linux 下定时备份数据库以及删除缓存

    一.定时备份数据库 1.在根目录下创建备份文件夹 #mkdir backup 2.进入到该目录下,创建backup.sh文件 3.赋予文件权限让其变成可执行文件 4.在backup.sh中写备份的脚本 ...

  3. Jmeter之http性能测试实战 NON-GUI模式 进行分布式压力测试——干货(十二)

    Apache JMeter Distributed Testing Step-by-step This short tutorial explains how to use multiple syst ...

  4. git的学习笔记

    1. Git介绍 Git是一个开源的分布式版本控制软件,用以有效.高速的处理从很小到非常大的项目版本管理. Git 最初是由Linus Torvalds设计开发的,用于管理Linux内核开发. Git ...

  5. Sonar 常用代码规则整理(二)

    摘要:公司部署了一套sonar,经过一段时间运行,发现有一些问题出现频率很高,因此有必要将这些问题进行整理总结和分析,避免再次出现类似问题. 作者原创技术文章,转载请注明出处 ============ ...

  6. LANMP系列教程之php编译安装CentOS7环境

    前提:必须先安装好MySQL以及Apache   1.准备好源码包并配置好yum源,需要的源码包包括: libmcrypt-2.5.8-9.el6.x86_64.rpm libmcrypt-devel ...

  7. 济南清北学堂游记 Day 7.

    完结撒花? 最后的模拟赛与讲题.大家似乎仍然乐在其中,虽然看评测结果,仍然是满地红. 其实到了最后已经是没有多少可写的了..... 一个精彩的地方是晚上填表的时候,群里炸锅了已经.到处都在刷CCL老师 ...

  8. bzoj 4815: [Cqoi2017]小Q的表格 [数论]

    4815: [Cqoi2017]小Q的表格 题意: 单点修改,查询前缀正方形和.修改后要求满足条件f(a,b)=f(b,a), b×f(a,a+b)=(a+b)*f(a,b) 一开始sb了认为一次只会 ...

  9. CodeChef Little Elephant and Movies [DP 排列]

    https://www.codechef.com/FEB14/problems/LEMOVIE 题意: 对于一个序列,定义其“激动值”为序列中严格大于前面所有数的元素的个数.给定n个数p1;,p2.. ...

  10. c语言中的#ifdef和#ifndef

    #include "stdio.h"#include "conio.h"#define MAX#define MAXIMUM(x,y) (x>y)?x:y ...