[JAVA] 1. Tipos de dados do conhecimento básico em Java [tipos padrão em Java]

Em primeiro lugar mencionar que, na linguagem JAVA, quando temos a declarar um inteiro longo ou de precisão simples tipos numéricos de variáveis, muitas vezes eles vêm para trás para ver aparecer em um digitais F/f, L/l. Então, por que esses logotipos devem ser adicionados?

Isso ocorre porque: em Java, quando o desenvolvedor digita um número, como :, 25o tipo padrão desse número é o inttipo e o intervalo de dados suportado é o seguinte: Quando o tamanho do nosso número excede o inttamanho suportado pelo tipo, o tipo int suporta O tamanho da memória não pode ser satisfeito, portanto, o compilador relatará um erro de compilação. Para declarar um número inteiro longo, você precisa adicionar no final L/l, com um compilador de alta velocidade, este é um número inteiro longo. ,

É o mesmo que 0bidentificar dados binários em Python , 0ooctal e 0xhexadecimal

Da mesma forma, no compilador java, o valor decimal é padronizado para doubleduplicar o tipo de precisão.Quando escolhemos a precisão única para economizar memória, precisamos usar a F/fidentificação.

Intervalo suportado pelo tipo de dados

1.1 Tipo de dados original:


public class Main {

    public static void main(String[] args) {
        long testLong = 2_234_123_123L;
        float testFloat = 2.34F;
    }
}

1.2 Tipos de referência

import java.util.Date;

public class Main {

    public static void main(String[] args) {
        byte age = 30;
        Date now = new Date();
        System.out.println(now);
    }
}

A atribuição do tipo original alocará nova memória e apontará para um endereço diferente.

A atribuição do tipo de referência apenas atribui o endereço a outra variável, a memória para a qual ele aponta é a mesma, portanto, todas as alterações serão alteradas.

import java.awt.*;

public class Main {

    public static void main(String[] args) {
        Point point1 = new Point(1, 1);
        Point point2 = point1; //java.awt.Point[x=1,y=1]
        point1.x = 2;
        System.out.println(point2); //java.awt.Point[x=2,y=1]
    }
}

1.3 Dois métodos de geração de matriz, matriz (comprimento fixo)

import java.util.Arrays;

public class Main {

    public static void main(String[] args) {
        int[] numbers = new int[3];
        numbers[0] = 1;
        numbers[2] = 2;

        int[] numbers2 = {1, 2, 3, 4, 5};
        System.out.println(Arrays.toString(numbers));
        System.out.println(numbers2.length);
    }
}

Observe que, para a entrada da matriz, é necessário apresentar o pacote Arrays e chamar o método toString.Para matrizes de alta dimensão, é necessário usar deepToString

1.4 números de formato java

import java.text.NumberFormat;

public class Main {

    public static void main(String[] args) {
        NumberFormat percent = NumberFormat.getPercentInstance();
        String res = percent.format(0.456);
        System.out.println(res);
    }
}

Por padrão, existem conversões para porcentagens e moedas.

1.5 Lendo o fluxo de entrada

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("姓名:");
        String res = scanner.nextLine().trim();
        System.out.println("你是:" + res);
        ;
    }
}

Projeto: Calcular a oferta de empréstimo mensal:

import java.text.NumberFormat;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        //计算贷款
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入本金: ");
        float PrincipalAmount = scanner.nextFloat();
        System.out.print("请输入年利率: ");
        float interestRateOfYear = scanner.nextFloat();
        System.out.print("请输入贷款年份: ");
        int numberOfPaymentsByYear = scanner.nextInt();
        float P = PrincipalAmount;
        float i = interestRateOfYear / 12 / 100;
        int n = numberOfPaymentsByYear * 12;
        double M = P * i * Math.pow(1 + i, n) / (Math.pow(1 + i, n) - 1);
        System.out.println("您每月需还贷: " + NumberFormat.getCurrencyInstance().format(M));
    }
}

Funciona direito, mas um ~ o (  ̄ ▽  ̄ ) o, é muito ingênuo, veja como o grandalhão escreve

import java.text.NumberFormat;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        //计算贷款
        final byte MONTHS_IN_YEAR = 12;
        final byte PERCENT = 100;

        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入本金: ");
        float principal = scanner.nextFloat();
        System.out.print("请输入年利率: ");
        float interestRateOfYear = scanner.nextFloat();
        System.out.print("请输入贷款年份: ");
        byte numberOfPaymentsByYear = scanner.nextByte();
        float monthlyInterest = interestRateOfYear / MONTHS_IN_YEAR / PERCENT;
        int numberOfPayments = numberOfPaymentsByYear * MONTHS_IN_YEAR;
        double mortgage = principal
                * monthlyInterest * Math.pow(1 + monthlyInterest, numberOfPayments)
                / (Math.pow(1 + monthlyInterest, numberOfPayments) - 1);
        System.out.println("您每月需还贷: " + NumberFormat.getCurrencyInstance().format(mortgage));
    }
}

O grandalhão considerou 魔法数字o efeito, então ele o declarou com uma constante.

Acho que você gosta

Origin www.cnblogs.com/modai/p/12655036.html
Recomendado
Clasificación