苏州公司做变更网站,哪个网站可以做英语语法题,网页设计图片怎么换,北京科技公司名单1.重载方法上一篇文章用到的max方法只能用于int型数据类型#xff0c;但是如果需要决定两个浮点数中哪个较大#xff0c;解决方法是创建另一个方法名相同但参数不同的方法#xff0c;代码如下#xff1a;public static double max(double num1, double num2){if(num1nu…1.重载方法上一篇文章用到的max方法只能用于int型数据类型但是如果需要决定两个浮点数中哪个较大解决方法是创建另一个方法名相同但参数不同的方法代码如下public static double max(double num1, double num2){if(num1num2)return num1;elsereturn num2;}如果调用带int型参数的max方法就将调用需要int型的max方法如果需要double型参数的max方法就将调用需要double型参数的max方法这称为方法重载在一个类中有两个方法它们具有相同的名字但有不同的参数列表Java编译器根据方法签名决定使用哪个方法。下面我们用一个例子来说明我们想写一个程序程序中创建三个方法第一个方法为求最大整数第二个方法为求最大双精度数第三个方法求三个双精度数中的最大值这三个方法都被命名为max程序清单如下package testmax;/**** author john*/public class TestMax {/*** param args the command line arguments*/public static void main(String[] args) {// TODO code application logic hereSystem.out.println(The maxium between 3 and 4 ismax(3,4));System.out.println(The maxium between 3.0 and 5.4 ismax(3.0,5.4));System.out.println(The maxium between 3.0 , 5.4 and 10.14 ismax(3.0,5.4,10.14));}public static int max(int num1,int num2){if(num1num2)return num1;elsereturn num2;}public static double max(double num1,double num2){if(num1num2)return num1;elsereturn num2;}public static double max(double num1,double num2,double num3){return max(max(num1,num2),num3);}}当调用max(3,4)时调用的是两个整数中较大值的max方法当调用max(3.0,4.5)时调用的是求两个双精度数中较大值的max方法。当调用max(3.0,5.4,10.14)时调用的是求三个双精度数中最大值的max方法。我们同样也可以调用像max(3,2.5)这样带一个int值和一个double值得max方法那就是调用求两个double数中较大值的方法实参值2自动转换为double值然后传递给这个方法。我们可能都会有一些疑惑那就是为什么调用max(3,4)时不会使用max(double,double)呢其实max(double,double)和max(int,int)都是可能的匹配在调用方法时Java编译器寻找最精确匹配的方法因为int更为精确所以调用的是max(int,int)如果两个方法谁也不比谁精确就会出现歧义导致编译错误。2.变量的作用域变量的作用域是指变量可以在程序中引用的范围在方法中定义的变量称为局部变量。局部变量的作用域从声明变量的地方开始直到包含该变量的块结束为止。局部变量都必须在使用之前进行声明和赋值下面举一个例子public static void method(){int x1;int y1;for(int i1;i10;i){xxi;}for(int i1;i10;i){yyi;}}由这个例子我们可以看到我们可以在一个方法的不同块里声明同名的局部变量但是不能在嵌套块中或同一块中两次声明一个局部变量。下面这种就是错误的编程写法public static void method2(){int x1;int sum0;for(int x1;x10;x){sumsumx;}我们再举一个错误的例子for(int i0;i10;i){}System.out.println(i);这个程序的错误在于我们不要在块内声明变量然后企图在块外使用它因为i没有在for循环之外定义所以最后一条语句就会产生一个语法错误。3.Math数学类Math类包含完成基本数学函数所需的方法我们在之前的学习中已经使用过方法pow(a,b)也使用过方法Math.random我们这次会介绍Math类中其他的方法这些方法分为三类三角函数方法指数函数方法和服务方法除了这些方法之外Math类还提供了两个很有用的double型常量PI和E(自然对数的底)可以在任意程序中用Math.PI和Math.E的形式来使用这两个常量。(1)三角函数方法Math类包含下面的三角函数方法public static double sin(double radians)public static double cos(double radians)public static double tan(double radians)public static double toRadians(double degree)public static double toDegrees(double radians)public static double asin(double a)public static double acos(double a)public static double atan(double radians)sincostan的参数都是以弧度为单位的角asinacosatan的返回值是在-Π/2到Π/2之间的一个弧度值。例如Math.toDegrees(Math.PI/2) returns 90.0Math.toRadians(30) returns Π/6Math.sin(0) returns 0.0Math.sin(Math.toRadians(270)) returns -1.0Math.sin(Math.PI/6) returns 0.5Math.sin(Math.PI/2) returns 1.0Math.cos(0) returns 1.0Math.asin(0.5) returns Π/6(2)指数函数方法Math类中有五个与指数函数有关的方法public static double exp(double x) 返回e的x次幂public static double log(double x) 返回ln(x)public static double log10(double x) 返回log10(x)public static double pow(double a,double b) 返回a的b次幂public static double sqrt(double x) 返回根号x3.min max和abs方法重载min和max方法返回两个数的最小值和最大值重载abs返回一个数的绝对值。Math.abs(-2) returns 24.random方法我们已经使用过random方法生成大于等于0.0小于1.0的double型随机数我们可以用它编写简单的表达式生成任意范围的随机数。int (Math.random()*10) 返回0到9之间的随机数。50 (int)(Math.random()*10) 返回50到59之间的随机数。a (int)(Math.random()*b) 返回一个a到ab之间但不包括ab的随机数5.取整方法public static double ceil(double x) 返回比这个数大的最近的整数public static double floor(double x) 返回比这个小的最近的整数public static double rint(double x) 返回其值最接近参数并且是整数的double值。如果两个整数的double值都同样接近,那么结果取偶数