运算符概要

  • 在Java中,使用算术运算符+,-,*,/表示加减乘除运算,当参与/的运算的两个操作数都是整数时,表示整数除法,否则,表示浮点除法.整数的求余操作(有时称为取模),用%表示,例如,15/2,15%2,15.0/2.
  • 需要注意的是,整数被0除将产生一个异常,而浮点数被0除会得到无穷大或NaN结果.

数学函数

  • 在Math类中,包含各种各样的数学函数,在编写不同类别的程序时,可能需要的函数也不同.
  • 要想计算一个数值的平方根,可以使用sqrt方法
double x = 4;
double y = Math.sqrt(x);
System.out.println(y); // 2
  • 在Java中,没有幂运算,因此需要借助于Math类的pow方法,语句double y = Math.pow(x,a);将y的值设置为x的a次幂.pow方法有两个double类型的参数,其返回结果也是double类型.
  • floorMod方法的存在是解决一个长期存在的有关整数余数的问题,考虑表达式n%2,如果n为偶数,这个表达式为0,如果n为奇数,表达式则为1,当然,除非n是负数.如果n为负,这个表达式则为-1,但是,欧几里得规则中描述:余数总是要大于等于0.因为我们要归一化一个的数,因此采用floorMod方法,该方法总会得到大于0的数.例如:floorMod(position+adjustment,12),产生0~11之间的数.但是对于负除数,floorMod会得到负数结果,不过这种情况在实际中很少出现.
  • Math类提供了一系列的三角函数
Math.sin
Math.cos
Math.tan
Math.atan
Math.atan2
  • 还有指数以及它的反函数-自然对数以及以10为底的对数
Math.exp
Math.log
Math.log10
  • 最后Java还提供了表示π和e常量的近似值
Math.pi
Math.E

数值类型之间的转换

隐式类型转换

  • 经常需要将一种数值类型转换为另一种数值类型.

  • 实心箭头表示无信息丢失的转换,虚箭头表示可能有精度损失的转换.
  • 当使用两个数值进行二元操作时,例如(n+f,n是整数,f是浮点数),先要将操作数转化为同一类型,然后进行计算.
    1. 如果两个操作数有一个是double类型,另一个操作数就转换为double类型.
    2. 否则,如果一个操作数是float类型,另一个操作数会转换为float类型.
    3. 否则,如果一个操作数是long类型,另一个会转换为long类型.
    4. 否则,两个操作数都会转化为int类型.

强制类型转换

  • 在必要的时候,需要将double类型转换为int类型,在Java中允许进行这种数值之间的类型转换,当然有可能丢失一些信息.在这种情况下,需要通过强制类型转换进行实现,强制类型转换的语法是在圆括号中给出想要转换的类型,后面紧跟的是待转换的变量名.例如
double x=9.997;
int nx=(int)x;

这时,变量nx的值为9,强制类型转换通过截断小数部分将浮点值转换为整型.

  • 如果对浮点数进行舍入计算,以便得到最接近的整数.那就使用Math.round方法.
double x=9.997;
int nx=(int)Math.round(x);

这时,nx的值为10,当调用round函数时,仍然需要进行强制类型转换,其原因是round方法返回的是long类型,由于存在信息丢失的可能性,所以只能采用显式的强制类型转换才能将long转换为int.

Java运算符概要与数学函数的更多相关文章

  1. java===java基础学习(2)---运算符,三元操作符,数学函数

    主要介绍运算符,和数学函数以及三元运算符: package testbotoo; public class test1 { public static void main(String[] args) ...

  2. Java开发笔记(十一)常见的数学函数

    前面介绍了Java编程的四则运算,虽然提供了基础的加减乘除符号,但是数学上还有其它运算符号,包括四舍五入用到的约等号≍.求绝对值的“| |”.开平方的“√ ̄”,这些运算符形态各异,而且并非ASCII码 ...

  3. Java语言程序设计(基础篇) 第四章 数学函数、字符和字符串

    第四章 数学函数.字符和字符串 4.2 常用数学函数 方法分三类:三角函数方法(trigonometric method).指数函数方法(exponent method)和服务方法(service m ...

  4. java的数学函数总结

    java的数学函数都放在java.lang这个包中,并且这些函数的方法在类Math中是作为static方法出现的,所以要引用一个特定的函数,只需将类Math和一个圆点写在要使用的方法前就好.如方法sq ...

  5. java笔记 -- 数学函数与常量

    Math类中, 包含了各种数学函数 不用在数学方法名和常量名前添加前缀Math., 只要在源文件的顶部加上这行代码: import static java.lang.Math.*; (静态导入) 例: ...

  6. java基础基础总结----- 关键字、标识符、注释、常量和变量、运算符、语句、函数、数组(三)

    Java语言基础组成:关键字.标识符.注释.常量和变量.运算符.语句.函数.数组 一.标识符 标识符是在程序中自定义的一些名称,由大小写字母[a-zA-Z],数字[0-9],下划线[ _ ],特殊字符 ...

  7. Java数学函数Math类

    Java数学函数Math类常用: Math.abs(12.3); //12.3 返回这个数的绝对值 Math.abs(-12.3); //12.3 Math.copySign(1.23, -12.3) ...

  8. java数学函数Math类中常用的方法

    Math类提供了常用的一些数学函数,如:三角函数.对数.指数等.一个数学公式如果想用代码表示,则可以将其拆分然后套用Math类下的方法即可. Math.abs(12.3);               ...

  9. .net表达式计算器(中缀表达式转后缀表达式,支持20多个数学函数,支持函数嵌套)

    最近在网上查了一下表达工计算器的类库,发现Java版本的有一个比较成熟的叫W3EVal,好像是一个IBM工程师写的,.net就很少了(可能是我了解不够多),但投机取巧的实现思路有很多,比如: (1)将 ...

随机推荐

  1. css进阶 02-CSS布局

    02-CSS布局 #前言 #常见的布局属性 (1)display 确定元素的显示类型: block:块级元素. inline:行内元素. inline-block:对外的表现是行内元素(不会独占一行) ...

  2. js 获取某月第一天和最后一天

    1.获取某月第一天和最后一天日期 function getDateByMonth (timeStamp) { let inDate = new Date(timeStamp) let year = i ...

  3. redis 五种常见攻击方法

    如果需要大佬写好的脚本,可以直接去github上面搜 参考文章:https://www.cnblogs.com/wineme/articles/11731612.html    https://www ...

  4. NameVirtualHost *:80 has no VirtualHosts

    服务器会包含所有的   .conf     后缀的文件 当出现如标题所示的错误的时候,检查所有 .conf 文件,是否端口占用,或者重复命令行的情况

  5. 探究 | App Startup真的能减少启动耗时吗

    前言 之前我们说了启动优化的一些常用方法,但是有的小伙伴就很不屑了: "这些方法很久之前就知道了,不知道说点新东西?比如App Startup?能对启动优化有帮助吗?" ok,既然 ...

  6. 【进阶之路】线程池拓展与CompletionService操作异步任务

    大家好,我是练习java两年半时间的南橘,小伙伴可以一起互相交流经验哦. 一.扩展ThreadPoolExecutor 1.扩展方法介绍 ThreadPoolExecutor是可以扩展的,它内部提供了 ...

  7. RocketMQ(七):高性能探秘之线程池

    上一篇文章讲了如何设计和实现高并发高性能的应用,从根本上说明了一些道理.且以rocketmq的mappedFile的实现作为一个突破点,讲解了rocketmq是如何具体实现高性能的.从中我们也知道,m ...

  8. umi-request 统一异常处理实践

    首发于语雀文档 前言 本人在工作中用到了 umi-request,百度谷歌搜了一遍,感觉都没找到超过 3 篇合适且含代码的文章,因此只能自行实践总结了. umi-request 有点不同 umi-re ...

  9. eclipse在线安装svn插件subclipse

    eclipse在线安装svn插件subclipse 1 Help > Eclipse Marketplace,打开Eclipse Marketplace 2 切换到Search,输入subcli ...

  10. PP主数据-物料主数据

    一.PP物料主数据:PP的物料主数据,是对应到系统的组织架构的,不同的组织层次,都有各自的主数据需要创建. (1),一般数据:一般数据是在集团层面的主数据,主要包括:物料编码.物料描述.辅助计量单位以 ...