一、平方数静方法:

public class SquareInt {

public static void main(String[] args) {

int result;

for (int x = 1; x <= 10; x++) {

result = square(x);

// Math库中也提供了求平方数的方法

// result=(int)Math.pow(x,2);

System.out.println("The square of " + x + " is " + result + "\n");

}

}

// 自定义求平方数的静态方法

public static int square(int y) {

return y * y;

}

}

结果:

The square of 1 is 1

The square of 2 is 4

The square of 3 is 9

The square of 4 is 16

The square of 5 is 25

The square of 6 is 36

The square of 7 is 49

The square of 8 is 64

The square of 9 is 81

The square of 10 is 100

二、随机数生成:

Math函数中自带的Math.Random()生成随机数。

还可以自定义随机数生成

代码:

import java.util.*;

public class suiji {

public int suij(int n)

{

int a=16807;          //a的值

int m=(int)Math.pow(2, 31)-1;     //设置m的值

int x=(a*n)% m;       //利用取余数生成随机数

return x;

}

public static void main( String args[] )

{

suiji x=new suiji();

Random a=new Random();

int num=a.nextInt();         //随机生成初始随机数

Scanner input=new Scanner(System.in);

System.out.println("请输入生成随机数的数量:");

int n=input.nextInt(); //输入生成随机数数量

for(int i=1;i<=n;i++)

{

num=x.suij(num);

System.out.print(x.suij(num)+" ");

System.out.println();

}

}

}

结果:

三、Java的可变参数:

max(double ... values) 括号内的参数数量可以变化

…”位于变量类型和变量名之间,前后有无空格均可。调用可变参数方法时,编译器为该可变参数隐含创建一个数组,在方法体中以数组的形式访问可变参数。

请看以下代码,你发现了有什么特殊之处吗?

// MethodOverload.java

// Using overloaded methods

public class MethodOverload {

public static void main(String[] args) {

System.out.println("The square of integer 7 is " + square(7));

System.out.println("\nThe square of double 7.5 is " + square(7.5));

}

public static int square(int x) {

return x * x;

}

public static double square(double y) {

return y * y;

}

}

输出结果:

The square of integer 7 is 49

The square of double 7.5 is 56.25

因为参数类型不同、方法名相同所以方法重载。

Java的“方法重载(overload)”特性。

满足以下条件的两个或多个方法构成“重载”关系:

(1)方法名相同;(2)参数类型不同,参数个数不同,或者是参数类型的顺序不同。方法的返回值不作为方法重载的判断条件。

四、CalculateN示例程序中的BUG:出现负数

由于计算机使用固定的位数来保存数值,因此,能处理的数值大小是有限的,当要处理的数值超过了这一范围时,计算机将会自动截断数值的二进制表示为它所能处理的最多位数,这将导致错误的处理结果。

所以用BigInteger类,支持大整数的加减乘除运算。

public static BigInteger calculateN2(int n) {

if(n==1 || n==0)

{

return BigInteger.valueOf(1);

}

return BigInteger.valueOf(n).multiply(calculateN2((n-1))); }

五、比较两个浮点数:

double i = 0.0001;

double j = 0.00010000000000000001;

System.out.println(i==j); //输出:true

计算机不能精确地表达浮点数(特殊形式的除外),因此,当需要比较两个浮点数是否相等时,应该比较其差的绝对值是否在某个允许范围之内即可。

if ( Math.Abs(i - j) < 1e-10 )

System.out.println("true");

else

System.out.println("false");

最新文章

  1. 【Android】自定义控件让TextView的drawableLeft与文本一起居中显示
  2. html 语义化 资料
  3. php导出数据到excel,防止身份证等数字字符格式变成科学计数的方法
  4. 使用HelloCharts绘制柱状图
  5. 关于yaha中文分词(将中文分词后,结合TfidfVectorizer变成向量)
  6. linux kernel (proc文件系统)参数
  7. SGU 178.Chain
  8. django随笔说明
  9. G - 小晴天老师系列——可恶的墨水瓶
  10. How To Ask Questions The Smart Way 转
  11. 测序分析软件-phred的安装
  12. Jenkins中的一些问题解决(~~不断更新~~)
  13. python基础(四)字符串处理
  14. Winform跨窗体操作控件(使用委托)
  15. 【Django】 gunicorn部署纪要
  16. scrapy 项目通过scrapyd部署
  17. java入门简介
  18. linux poi生成excel demo调试附调用代码
  19. my big day is coming!
  20. strace命令学习

热门文章

  1. Python学习之==&gt;第三方模块的安装、模块导入
  2. spring-mvc 3.* 多视图解析配置实例 ContentNegotiatingViewResolver
  3. SSTap | ProxyCap
  4. Java ——重写、多态、抽象类
  5. POJ 1330 Nearest Common Ancestors (dfs+ST在线算法)
  6. Discrete Mathematics and Its Applications | 1 CHAPTER The Foundations: Logic and Proofs | 1.3 Propositional Equivalences
  7. 操作Json对象的C#方法
  8. Python web 面试题(一)
  9. jenkins shell 取当前时间
  10. [百家号]APT组织简介2019