Java动手动脑02

 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的数在计算机中表示负数(补码表示法),如果再增加的话,应该又会变成正数了。

posted @ 2020-10-07 22:41  居酿圆子  阅读(58)  评论(0编辑  收藏  举报