Generalmente, usaremos los tipos de datos básicos: byte, int, short, long, double, float, boolean, char;
También hay ocho tipos de empaquetado correspondientes: byte, entero, corto, largo, doble, flotante, carácter, booleano;
Los tipos de empaquetado se declaran con final y no pueden anularse por herencia; en situaciones reales, el compilador encuadrará automáticamente el tipo de datos básico en un tipo de objeto o desempaquetará el tipo de objeto en un tipo de datos básico de la siguiente manera:
público estático vacío principal (String [] argumentos) { int número1 = 1; //Encuadre los tipos de datos básicos en tipos de empaquetado de objetos Integer num2 = num1; Número entero3 = 3; // Desempaqueta la clase de datos del objeto int num4 = num3; }
La clase Number es una clase abstracta del paquete java.lang. Proporciona un método para desempaquetar tipos empaquetados en tipos básicos. Todos los tipos empaquetados de tipos básicos (tipos de datos) heredan esta clase abstracta y su declaración final no se puede heredar ni cambiar. .
paquete java.lang; Número de clase abstracta pública implementa java.io.Serializable { resumen público int intValue(); resumen público largo longValue(); flotador abstracto público floatValue(); resumen público doble valor doble(); byte público byteValue() { devolver (byte)intValue(); } público corto valorcorto() { retorno (corto)intValue(); } serialVersionUID largo final estático privado = -8742448824652078965L; }
Embalaje | Tipos de datos básicos |
---|---|
Booleano | booleano |
Byte | byte |
Corto | corto |
Entero | entero |
Largo | largo |
Personaje | carbonizarse |
Flotar | flotar |
Doble | doble |
Este tipo de empaquetado que es especialmente compatible con el compilador se llama boxeo, por lo que cuando un tipo de datos integrado se utiliza como objeto, el compilador encuadrará el tipo integrado en una clase contenedora. De manera similar, el compilador puede desempaquetar un objeto en un tipo integrado. La clase numérica pertenece al paquete java.lang.
A continuación se muestra un ejemplo de boxeo y unboxing:
prueba de clase pública{
publicstaticvoidmain(Stringargs[]){
Integerx=5;//boxesinttoanIntegerobject
x=x+10;//descomprime el entero para convertirlo en único
System.out.println(x);
}
}
Los resultados de compilación y ejecución del ejemplo anterior son los siguientes:
15
Cuando x se asigna a un valor entero, el compilador tiene que encuadrar x porque x es un objeto. Luego, para poder agregar x, se desempaqueta x.
Java's Math contiene propiedades y métodos para realizar operaciones matemáticas básicas, como exponenciales elementales, logaritmos, raíces cuadradas y funciones trigonométricas.
Todos los métodos matemáticos están definidos en forma estática y se pueden llamar directamente en la función principal a través de la clase Math.
Ejemplo
Prueba de clase pública {
principal vacío estático público (String []args)
{
System.out.println("Seno de 90 grados: " + Math.sin(Math.PI/2));
System.out.println("Coseno de 0 grados: " + Math.cos(0));
System.out.println("tangente de 60 grados: " + Math.tan(Math.PI/3));
System.out.println("Arctangente de 1: " + Math.atan(1));
System.out.println("El valor del ángulo de π/2: " + Math.toDegrees(Math.PI/2));
System.out.println(Math.PI);
}
}
Los resultados de compilación y ejecución del ejemplo anterior son los siguientes:
Seno de 90 grados: 1,0
Coseno de 0 grados: 1,0
Valor tangente de 60 grados: 1.7320508075688767
Arctangente de 1: 0.7853981633974483
El valor del ángulo de π/2: 90,0
3.141592653589793
Métodos de clase de números y matemáticas
En la siguiente tabla se enumeran los métodos de clase Número y Matemática más utilizados:
número de serie | Métodos y descripción | |||||
---|---|---|---|---|---|---|
1 | xxxValue() convierte el objeto numérico en un valor de tipo de datos xxx y lo devuelve. | |||||
2 | compareTo() compara el objeto numérico con el parámetro. | |||||
3 | igual () determina si el objeto numérico es igual al parámetro. | |||||
4 | valueOf() devuelve un objeto Integer que especifica el tipo de datos incorporado | |||||
5 | toString() devuelve el valor en forma de cadena. | |||||
6 | parseInt() analiza una cadena en tipo int. | |||||
7 | abs() devuelve el valor absoluto del argumento. | |||||
8 | ceil() devuelve el entero más pequeño mayor o igual a (>=) el parámetro dado, el tipo es punto flotante de doble precisión. | |||||
9 | Floor() devuelve el número entero más grande menor o igual a (<=) el argumento dado. | |||||
10 | rint() devuelve el número entero más cercano al argumento. El tipo de devolución es doble. | |||||
11 | round() devuelve el valor int o long más cercano. | |||||
12 | min() devuelve el valor mínimo de los dos parámetros. | |||||
13 | max() devuelve el valor máximo de los dos parámetros. | |||||
14 | exp() devuelve la potencia del parámetro de la base numérica natural e. | |||||
15 | log() devuelve el logaritmo de la base numérica natural del argumento. | |||||
16 | pow() devuelve el primer parámetro elevado a la potencia del segundo parámetro. | |||||
17 | sqrt() encuentra la raíz cuadrada aritmética del argumento. | |||||
18 | sin() encuentra el valor seno del parámetro de tipo doble especificado. | |||||
19 | cos() encuentra el valor del coseno del parámetro de tipo doble especificado. | |||||
20 | tan() encuentra el valor tangente del parámetro de tipo doble especificado. | |||||
veintiuno | asin() encuentra el valor de arcoseno del parámetro de tipo doble especificado. | |||||
Veintidós | acos() encuentra el valor del arco coseno del parámetro de tipo doble especificado. | |||||
veintitrés | atan() encuentra el valor arcotangente del parámetro de tipo doble especificado. | |||||
veinticuatro | atan2() convierte coordenadas cartesianas en coordenadas polares y devuelve el valor del ángulo de las coordenadas polares. | |||||
25 | toDegrees() convierte parámetros en ángulos. | |||||
26 | toRadians() convierte ángulos a radianes. | |||||
27 | random() devuelve un número aleatorio. |