Programação em linguagem Java (12) Aula de matemática matemática, sobrecarga de método e escopo variável

 1. Método de sobrecarga
     O método max usado no artigo anterior só pode ser usado para tipos de dados int, mas se você precisar decidir qual dos dois números de ponto flutuante é maior, a solução é criar outro método com o mesmo nome de método mas parâmetros diferentes, como segue:
      public static Double max (Double num1, Double num2) {
          IF (num1> num2)
              retorna num1;
          o else 
              return num2;
} o
      método max é chamado com o tipo de argumento int, o tipo int precisará chamar métodos max, Se o método max com parâmetros de tipo duplo for necessário, o método max com parâmetros de tipo duplo será chamado. Isso é chamado de sobrecarga de método. Existem dois métodos em uma classe. Eles têm o mesmo nome, mas listas de parâmetros diferentes. Java O o compilador decide qual método usar com base na assinatura do método.
      Abaixo usamos um exemplo para ilustrar, queremos escrever um programa, criar três métodos no programa, o primeiro método é encontrar o maior inteiro, o segundo método é encontrar o maior número de precisão dupla, e o terceiro método é encontre três precisões duplas. O valor máximo no número, esses três métodos são chamados de max, a lista de programas é a seguinte:
package testmax;
/ **
 *
 * @author john
 * /
public class TestMax {
    / **
     * @param args os argumentos da linha de comando
     * /
    public static void main (String [] args) {
        // TODO code application logic here
        System.out.println ("O máximo entre 3 e 4 é" + max (3,4));
        System.out.println ("O máximo entre 3,0 e 5,4 é" + max (3,0,5.4));
        System.out.println ("O máximo entre 3.0, 5.4 e 10.14 é" + max (3.0,5.4,10.14));
    }
    public static int max (int num1, int num2) {
        if (num1> num2)
            return num1;
        senão,
            retorna num2;
    }
    public static double max (double num1, double num2) {
        if (num1> num2)
            return num1;
        senão,
            retorna num2;
    }
    estático público duplo máximo (duplo num1, duplo num2, duplo num3) {
        return max (max (num1, num2), num3);
    }
    
}

imagem

      Ao chamar max (3,4), o método max do maior dos dois números inteiros é chamado.Ao chamar max (3.0,4.5), o método max de encontrar o maior dos dois números de precisão dupla é chamado. Ao chamar max (3.0,5.4,10.14), ele chama o método max para encontrar o valor máximo dos três números de precisão dupla.
      Também podemos chamar o método max com um valor int e um valor duplo como max (3,2.5), ou seja, chamar o método para encontrar o maior dos dois números duplos, o valor do parâmetro real 2 é automaticamente convertido para um duplo valor e, em seguida, passe para este método.
      Todos nós podemos ter algumas dúvidas, é por isso que max (double, double) não é usado ao chamar max (3,4). Na verdade, max (double, double) e max (int, int) são duas correspondências possíveis. chamando um método, o compilador Java procura o método de correspondência mais exato. Como int é mais preciso, max (int, int) é chamado. Se nenhum dos dois métodos for mais preciso do que o outro, ocorrerá ambigüidade, levando à compilação erros.
      2. O escopo da
      variável O escopo da variável se refere ao intervalo dentro do qual a variável pode ser referenciada no programa, e a variável definida no método é chamada de variável local. O escopo de uma variável local começa no local onde a variável é declarada e termina no final do bloco que contém a variável. As variáveis ​​locais devem ser declaradas e atribuídas antes do uso. Aqui está um exemplo:

      public static void method () {

          int x = 1;

          int y = 1;

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

              x = x + i;

             }

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

              y = y + i;

              }

}

      A partir deste exemplo, podemos ver que podemos declarar variáveis ​​locais com o mesmo nome em diferentes blocos de um método, mas não podemos declarar uma variável local duas vezes em um bloco aninhado ou no mesmo bloco. O que se segue é uma programação errada

      public static void method2 () {

            int x = 1;

            int I = 0;

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

            soma = soma + x;

             }

      Vamos dar outro exemplo errado:

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

            }

      System.out.println ("i");

      O erro desse programa é que não declaramos variáveis ​​dentro do bloco e, em seguida, tentamos usá-las fora do bloco, porque i não está definido fora do loop for, de modo que a última instrução produzirá um erro de sintaxe.

      3. Aula de matemática

      A classe Math contém os métodos necessários para completar as funções matemáticas básicas. Já

 Usei o método pow (a, b) e o método Math.random. Desta vez, apresentaremos outros métodos na classe Math. Esses métodos são divididos em três categorias: métodos de função trigonométrica, métodos de função exponencial e métodos de serviço, exceto para estes Além dos métodos, a classe Math também fornece duas constantes duplas úteis, PI e E (a base dos logaritmos naturais), que podem ser usadas em qualquer programa na forma de Math.PI e Math.E.

      (1) Método da função trigonométrica

      A classe Math contém os seguintes métodos de função trigonométrica:

      pecado duplo estático público (radianos duplos)

      public static double cos (duplo radianos)

      public static double tan (duplo radianos)

      public static double toRadians (grau duplo)

      public static double toDegrees (radianos duplos)

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

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

      público estático duplo atan (duplo radianos)

      Os parâmetros de sin, cos e tan são todos ângulos em radianos. O valor de retorno de asin, acos e atan é um valor em radianos entre -Π / 2 e Π / 2. 

      Por exemplo:

      Math.toDegrees (Math.PI / 2) retorna 90,0

      Math.toRadians (30) retorna Π / 6

      Math.sin (0) retorna 0,0

      Math.sin (Math.toRadians (270)) retorna -1,0

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

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

      Math.cos (0) retorna 1.0

      Math.asin (0,5) retorna Π / 6

      (2) Método da função exponencial

     Existem cinco métodos relacionados a funções exponenciais na classe Math:

      public static double exp (double x) retorna e à potência de x

      log duplo estático público (duplo x) 返回 ln (x)

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

      público estático duplo pow (duplo a, duplo b) retorna a à potência b

      public static double sqrt (double x) retorna o número raiz x

      3.min max e método abs

      Os métodos min e max sobrecarregados retornam o mínimo e o máximo de dois números, e o abs sobrecarregado retorna o valor absoluto de um número. Math.abs (-2) retorna 2

      4. método aleatório

      Usamos o método aleatório para gerar números aleatórios duplos maiores ou iguais a 0,0 e menores que 1,0. Podemos usá-lo para escrever expressões simples para gerar números aleatórios em qualquer intervalo.

      int (Math.random () * 10) retorna um número aleatório entre 0 e 9.

      50+ ( int) (Math.random () * 10) retorna um número aleatório entre 50 e 59.

      a + (int) (Math.random () * b) retorna um número aleatório entre a e a + b, mas não inclui a + b

      5. Método de arredondamento

       public static double ceil (double x) retorna o número inteiro mais próximo maior que este número

       public static double floor (double x) retorna o número inteiro mais próximo menor que este

       public static double rint (double x)   retorna o valor duplo cujo valor é o mais próximo do parâmetro e é um inteiro . Se os valores duplos de dois inteiros forem igualmente próximos, o resultado é um número par


Acho que você gosta

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