1.生成随机数
import java.util.*; public class random{ public static void main(String[] args) { int m; System.out.print("请输入生成随机数的个数:"); Scanner con=new Scanner(System.in); m=con.nextInt(); int seed=(int)(Math.random()*99+1); int t=0; for(int i=0;i<m;i++) { seed=((16807*seed)*2147483647); t++; System.out.print(seed+"\t"); if(t%5==0) System.out.println(); } } }
2.方法重载
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)//int类型 { return x * x; } public static double square(double y)//double类型 { return y * y; } }
重载的条件:
(1)方法名相同;(2)参数类型不同,参数个数不同,或者是参数类型的顺序不同。
注意:方法的返回值不作为方法重载的判断条件。
3.练习: 查看一下JDK中System.out.println()方法,你发现了什么?
System.out.println()方法中参数表内可输入多种不同类型。
原因:为了让编写代码时输出不同类型数据时更加方便,所以把输出的方法都用同名重载或方法重载。
4.递归50!
为什么会出现负数?
由于计算机使用固定的位数来保存数值,因此,能处理的数值大小是有限的,当要处理的数值超过了这一范围时,计算机将会自动截断数值的二进制表示为它所能处 理的最多位数,这将导致错误的处理结果。
int型,即有符号整数,20的阶乘大于计算机能表示的最大正整数,就会变成负数,比如说16为整数,最打整数应该是0111111111111111,当超过这个范围后,就会向最高为进1,变为1000000000000000,最高位为1的数在计算机中表示负数(补码表示法),如果再增加的话,应该又会变成正数了。