草庐IT

Math 类、包(package)

朱兰Juran 2023-03-28 原文

Math 类

JDK定义了许多有用的类,其中一个是Math类,它为数学运算提供了预定义的方法。

你不需要创建Math类的对象来使用它。要访问它,只需输入Math. 和相应的方法。

Math.abs() 返回参数的绝对值。参数可以是 int, float, long, double, short, byte类型。

int a = Math.abs(5);  // 5

int b = Math.abs(-10); // 10

Math.ceil() 将一个数进行上舍入,返回值大于或等于给定的参数。

double c = Math.ceil(6.231);  // 7.0

Math.floor() 将对一个数进行下舍入,返回给定参数最大的整数,该整数小于或等给定的参数。

double f = Math.floor(6.231);  // 6.0

Math.max() 用于返回两个参数中的最大值。

int m = Math.max(5,10);  // 10

相反,Math.min() 用于返回两个参数中的最小值。

int m = Math.min(5,10);  // 5

Math.pow() 用于返回第一个参数的第二个参数次方。值以double形式返回。

double p = Math.pow(2,3); // 8.0

提示:Math 类还提供了其他一些方法,例如:sqrt(),sin(),cos() 方法等等。


包(package)

Java 使用包(package)这种机制是为了防止命名冲突,访问控制,提供搜索和定位类、接口、枚举和注释等。

一个包(package)可以定义为一组相互联系的类型(类、接口、枚举和注释),为这些类型提供访问保护和命名空间管理的功能。

用Java创建一个包是非常简单的。使用Eclipse开发工具,通过右键点击项目中的src目录,并选择 New(新建)-> Package(包)。为这个包取一个合适的名字,然后点击 “Finish(完成)” 。

在包中创建/移动类时,以下代码将出现在文件列表的顶部。

package com.bobo;

这表示这个类所属的包。

现在,我们需要导入包中的类,以便能够使用它们。

下面是一个例子,显示如何使用com.bobo包的Cat类。

import com.bobo.Cat;

class MyJavaClass {

  public static void main(String[] args) {

    Cat c1 = new Cat();

    c1.barking();

  }

}

当一个类被放入一个包中时会发生两个主要的结果。首先,包的名称成为该类名称的一部分。其次,包的名称必须与相应的类文件所在的目录结构相匹配。

提示:使用通配符 "*" 导入包中的所有类。例如,import com.bobo.* 将导入com.bobo包中的所有类。

有关Math 类、包(package)的更多相关文章

  1. ruby - gem 推送结果为 "package metadata is missing" - 2

    我正在尝试将我更新的gem推送到ruby​​gems.com并得到以下结果。~/dev/V2/V2GPTI(master)$gembuildv2gpti.gemspecSuccessfullybuiltRubyGemName:v2gptiVersion:0.2File:v2gpti-0.2-universal-darwin-13.gem~/dev/V2/V2GPTI(master)$gempushv2gpti.gemspecERROR:Whileexecutinggem...(Gem::Package::FormatError)packagemetadataismissinginv2g

  2. ruby - Chef Ohai : how to use newly installed Ruby with gem_package - 2

    使用chef我有一个安装gem的简单方法,例如:gem_package"passenger"doversionnode['passenger']['version']end我还想用另一本说明书安装ruby​​,对于某些服务器可能是Ruby1.9.3,对于其他服务器可能是RubyEnterprise1.8.7。所以我想我可以使用gem_binary和ohai来做到这一点,就像这样:gem_package"passenger"doversionnode['passenger']['version']gem_binary"#{languages['ruby']['bin_dir']/gem}

  3. ruby - 从源代码 : math. c:37 编译 Ruby 1.8.7 时出错:错误: token "("之前缺少二元运算符 - 2

    这真的很奇怪::josh@josh;wgetftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7.tar.bz2:josh@josh;tarxvjfruby-1.8.7.tar.bz2:josh@josh;cdruby-1.8.7/:josh@josh;CFLAGS='-O0-g-Wall'./configure--disable-pthread:josh@josh;makegcc-O0-g-Wall-DRUBY_EXPORT-D_GNU_SOURCE=1-I.-I.-carray.c[...]gcc-O0-g-Wall-DRUBY_EXPOR

  4. ruby - 如何像 Math 模块那样定义模块方法? - 2

    Math中的方法可以像类方法一样调用:Math.cos(0)但也可以是include-d像实例方法:includeMathcos(0)相比之下,以下模块只能以一种方式调用,而不能以另一种方式调用:moduleFoodefbarendendFoo.bar()#NoMethodErrorforthiscallincludeFoobar()#butthiscallisfine单例方法:moduleFoodefself.barendendFoo.bar()#thiscallisfineincludeFoobar()#butnotthisone知道如何编写像Math这样的模块吗?

  5. ruby-on-rails - asset_packager 和 Jammit 的优缺点是什么? - 2

    乍一看,它们似乎是针对同一问题的几乎相同的解决方案,但Jammit一定有一些我没有注意到的关键差异或改进,否则它的作者可能只是使用了asset_packager。:-)谁能教教我? 最佳答案 当然。以下是一些主要区别:Jammit不是使用简单的基于Ruby的CSS和JS压缩器,而是让使用YUICompressor或新的GoogleClosureCompiler来压缩您的Assets变得容易。Jammit不必单独指定每个文件,而是使用目录glob的有序列表来定义Assets包。这意味着您可以这样说:首先给我jQuery,然后是vend

  6. ruby - 为什么 Math.sqrt(i*i).floor == i? - 2

    我想知道这是不是真的:当我对一个平方整数求平方根时,就像在f=Math.sqrt(123*123)我将得到一个非常接近123的float。由于浮点表示精度,这可能类似于122.99999999999999999999或123.000000000000000000001。因为floor(122.999999999999999999)是122,我应该得到122而不是123。所以我希望floor(sqrt(i*i))==i-1在大约50%的情况下。奇怪的是,对于我测试过的所有数字,floor(sqrt(i*i)==i。这是一个用于测试前1亿个数字的小ruby​​脚本:100_000_000.

  7. ruby-on-rails - Rails bundler : how to undo bundle package? - 2

    如何撤销bundlepackage?我删除了vendor/cache中的所有内容,但是当我运行bundleinstall时它又重新安装在那里。 最佳答案 根据这个答案:https://stackoverflow.com/a/9471980/219883必须删除隐藏的.bundle目录,然后重新运行bundleinstall-否则会继续添加vendor/cache每次返回目录。 关于ruby-on-rails-Railsbundler:howtoundobundlepackage?,我们在

  8. ruby - 安装 ruby​​racer 时出现错误 "invalid gem: package is corrupt" - 2

    尝试在OSX10.9上安装therubyracer时,使用以下命令:$geminstalltherubyracer-v'0.12.0'我得到错误:ERROR:Errorinstallingtherubyracer:invalidgem:packageiscorrupt,exceptionwhileverifying:undefinedmethod`path2class'for#(NoMethodError)in/Users/doved/.rvm/gems/ruby-2.0.0-p353/cache/therubyracer-0.12.0.gemXCode开发者工具已安装,我已尝试删除缓

  9. ruby - Ruby 中 Math Power (**) 的反面是什么? - 2

    我想知道如何在Ruby中获得幂的倒数?2**4#=>16然后我想得到它的逆,但我不确定要使用哪个运算符16??2#=>4 最佳答案 指数的倒数是对数。如果ab=c,然后logac=b.您可以在Math中找到对数函数模块,特别是log()对于base-e和log10()以10为基数。要获得以不同为底的对数(例如n),请使用公式logNa=logxa/logxN,其中x是一个值,例如e或10。针对您的特定案例:log216=loge16/loge2=Math.log(16)/Math.log(2)=4你认为这个解释是好的是因为它扩展了你

  10. javascript - MathJax:如何删除 "Typesetting math: 100%"显示消息 - 2

    我正在使用MathJax来呈现一些数学。我如何摆脱左下角的这条消息?我在MathJax的docs中找不到这个. 最佳答案 这是一个状态栏。每MathJax-Docs,您可以在加载mathjax之前通过将消息样式设置为none来关闭它:MathJax.Hub.Config({messageStyle:"none"}); 关于javascript-MathJax:如何删除"Typesettingmath:100%"显示消息,我们在StackOverflow上找到一个类似的问题:

随机推荐