Programación en lenguaje Java (12) Clase de matemáticas matemáticas, sobrecarga de métodos y alcance variable

 1. Método de sobrecarga
     El método max utilizado en el artículo anterior solo se puede utilizar para tipos de datos int, pero si necesita decidir cuál de los dos números de punto flotante es mayor, la solución es crear otro método con el mismo nombre de método pero diferentes parámetros, como sigue:
      public static Double max (Double num1, Double num2) {
          IF (num1> num2)
              return num1;
          el else 
              return num2;
}
      se llama al método max con el tipo de argumento int, el tipo int necesitará llamar a métodos max, si se necesita el método max con parámetros de tipo doble, se llamará al método max con parámetros de tipo doble. Esto se llama sobrecarga de método. Hay dos métodos en una clase. Tienen el mismo nombre pero diferentes listas de parámetros. Java El El compilador decide qué método utilizar basándose en la firma del método.
      A continuación usamos un ejemplo para ilustrar, queremos escribir un programa, crear tres métodos en el programa, el primer método es encontrar el número entero más grande, el segundo método es encontrar el número de precisión doble más grande y el tercer método es encontrar encuentra tres precisiones dobles. El valor máximo en el número, estos tres métodos se denominan max, la lista de programas es la siguiente:
package testmax;
/ **
 *
 * @author john
 * /
public class TestMax {
    / **
     * @param args los argumentos de la línea de comando
     * /
    public static void main (String [] args) {
        // Lógica de aplicación de código TODO aquí
        System.out.println ("El máximo entre 3 y 4 es" + max (3,4));
        System.out.println ("El máximo entre 3.0 y 5.4 es" + max (3.0,5.4));
        System.out.println ("El máximo entre 3.0, 5.4 y 10.14 es" + max (3.0,5.4,10.14));
    }
    public static int max (int num1, int num2) {
        if (num1> num2)
            return num1;
        si no
            devuelve num2;
    }
    public static double max (doble num1, doble num2) {
        if (num1> num2)
            return num1;
        si no
            devuelve num2;
    }
    public static double max (doble num1, doble num2, doble num3) {
        return max (max (num1, num2), num3);
    }
    
}

imagen

      Cuando se llama a max (3,4), se llama al método max del mayor de los dos enteros. Cuando se llama a max (3.0,4.5), se llama al método max para encontrar el mayor de los dos números de doble precisión. Al llamar a max (3.0,5.4,10.14), llama al método max para encontrar el valor máximo de los tres números de doble precisión.
      También podemos llamar al método max con un valor int y un valor doble como max (3,2.5), es decir, llamar al método para encontrar el mayor de los dos números dobles, el valor real del parámetro 2 se convierte automáticamente en un doble value y luego pasar a este método.
      Todos podemos tener algunas dudas, es por eso que max (doble, doble) no se usa al llamar a max (3,4). De hecho, max (doble, doble) y max (int, int) son ambas posibles coincidencias. Al llamar a un método, el compilador de Java busca el método de coincidencia más exacto. Dado que int es más preciso, se llama a max (int, int). Si ninguno de los dos métodos es más preciso que el otro, se producirá una ambigüedad que conducirá a la compilación errores.
      2. El alcance de la
      variable El alcance de la variable se refiere al rango dentro del cual se puede hacer referencia a la variable en el programa, y ​​la variable definida en el método se llama variable local. El alcance de una variable local comienza desde el lugar donde se declara la variable y termina al final del bloque que contiene la variable. Las variables locales deben declararse y asignarse antes de su uso. Aquí hay un ejemplo:

      método de vacío estático público () {

          int x = 1;

          int y = 1;

          para (int i = 1; i <10; i ++) {

              x = x + yo;

             }

          para (int i = 1; i <10; i ++) {

              y = y + i;

              }

}

      En este ejemplo, podemos ver que podemos declarar variables locales con el mismo nombre en diferentes bloques de un método, pero no podemos declarar una variable local dos veces en un bloque anidado o en el mismo bloque. Lo siguiente es una programación incorrecta

      método de vacío estático público2 () {

            int x = 1;

            int I = 0;

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

            suma = suma + x;

             }

      Démosle otro ejemplo equivocado:

      para (int i = 0; i <10; i ++) {

            }

      System.out.println ("i");

      El error de este programa es que no declaramos variables dentro del bloque y luego intentamos usarlo fuera del bloque, porque i no está definido fuera del ciclo for, por lo que la última declaración producirá un error de sintaxis.

      3. Clase de matemáticas

      La clase Math contiene los métodos necesarios para completar funciones matemáticas básicas. Ya hemos

 He usado el método pow (a, b) y el método Math.random. Esta vez introduciremos otros métodos en la clase Math. Estos métodos se dividen en tres categorías: métodos de función trigonométrica, métodos de función exponencial y métodos de servicio, excepto para estos Además de los métodos, la clase Math también proporciona dos constantes dobles útiles, PI y E (la base de los logaritmos naturales), que se pueden utilizar en cualquier programa en forma de Math.PI y Math.E.

      (1) Método de función trigonométrica

      La clase Math contiene los siguientes métodos de funciones trigonométricas:

      doble pecado estático público (radianes dobles)

      público estático doble cos (radianes dobles)

      bronceado doble estático público (radianes dobles)

      público estático doble toRadians (doble grado)

      público estático doble a grados (radianes dobles)

      público estático doble asin (doble a)

      público estático doble acos (doble a)

      público estático doble atan (radianes dobles)

      Los parámetros de sin, cos y tan son ángulos en radianes. El valor de retorno de asin, acos y atan es un valor en radianes entre -Π / 2 y Π / 2. 

      P.ej:

      Math.toDegrees (Math.PI / 2) devuelve 90.0

      Math.toRadians (30) devuelve Π / 6

      Math.sin (0) devuelve 0.0

      Math.sin (Math.toRadians (270)) devuelve -1.0

      Math.sin (Math.PI / 6) devuelve 0,5

      Math.sin (Math.PI / 2) devuelve 1.0

      Math.cos (0) devuelve 1.0

      Math.asin (0.5) devuelve Π / 6

      (2) Método de función exponencial

     Hay cinco métodos relacionados con funciones exponenciales en la clase de matemáticas:

      public static double exp (doble x) devuelve e elevado a x

      doble registro estático público (doble x) 返回 ln (x)

      público estático doble log10 (doble x) 返回 log10 (x)

      public static double pow (doble a, doble b) devuelve a la potencia b

      público estático doble sqrt (doble x) devuelve el número raíz x

      3.min max y método abs

      Los métodos min y max sobrecargados devuelven el mínimo y el máximo de dos números, y el abs sobrecargado devuelve el valor absoluto de un número. Math.abs (-2) devuelve 2

      4.método aleatorio

      Hemos usado el método aleatorio para generar números aleatorios dobles mayores o iguales a 0.0 y menores a 1.0 Podemos usarlo para escribir expresiones simples para generar números aleatorios en cualquier rango.

      int (Math.random () * 10) devuelve un número aleatorio entre 0 y 9.

      50+ ( int) (Math.random () * 10) devuelve un número aleatorio entre 50 y 59.

      a + (int) (Math.random () * b) devuelve un número aleatorio entre ay a + b pero sin incluir a + b

      5. Método de redondeo

       public static double ceil (doble x) devuelve el número entero más cercano mayor que este número

       public static double floor (doble x) devuelve el entero más cercano más pequeño que este

       public static double rint (double x)   devuelve el valor double cuyo valor es el más cercano al parámetro y es un número entero . Si los valores dobles de dos enteros son igualmente cercanos, entonces el resultado es un número par


Supongo que te gusta

Origin blog.51cto.com/15064656/2602773
Recomendado
Clasificación