Tipos de datos Java
Java es de tipo estático y también es un lenguaje fuertemente tipado porque, en Java, cada tipo de datos (como enteros, caracteres, hexadecimales, decimales empaquetados, etc.) está predefinido como parte del lenguaje de programación y todas las constantes o variables definidas para un programa determinado debe describirse con uno de los tipos de datos de Java.
Tipos de datos en Java
Tipos de datos en Java son de diferentes tamaños y valores que se pueden almacenar en la variable que se realiza según la conveniencia y las circunstancias para cubrir todos los casos de prueba. Java tiene dos categorías en las que se segregan los tipos de datos.
- Tipo de datos primitivo: como booleano, char, int, short, byte, long, float y double
- Tipo de datos no primitivo o tipo de datos de objeto: como cadena, matriz, etc.
Tipos de datos primitivos en Java
Los datos primitivos son sólo valores únicos y no tienen capacidades especiales. Hay 8 tipos de datos primitivos. Se muestran a continuación en formato tabular de la siguiente manera:
| Tipo | Descripción | Por defecto | Tamaño | Literales de ejemplo | Rango de valores |
|---|---|---|---|---|---|
| booleano | verdadero o falso | FALSO | 1 poco | verdadero Falso | verdadero Falso |
| byte | entero en complemento a dos | 0 | 8 bits | (ninguno) | -128 a 127 |
| carbonizarse | Carácter Unicode | u0000 | 16 bits | 'a', 'u0041', '101', '', '', ' ', 'b' | representación de caracteres de valores ASCII 0 a 255 |
| corto | entero en complemento a dos | 0 | 16 bits | (ninguno) | -32.768 a 32.767 |
| En t | entero en complemento a dos | 0 | 32 bits | -2,-1,0,1,2 | -2,147,483,648 a 2,147,483,647 |
| largo | entero en complemento a dos | 0 | 64 bits | -2L,-1L,0L,1L,2L | -9,223,372,036,854,775,808 a 9,223,372,036,854,775,807 |
| flotar | Punto flotante IEEE 754 | 0.0 | 32 bits | 1.23e100f, -1.23e-100f, .3f, 3.14F | hasta 7 dígitos decimales |
| doble | Punto flotante IEEE 754 | 0.0 | 64 bits | 1.23456e300d, -123456e-300d, 1e1d | hasta 16 dígitos decimales |
Analicemos e implementemos cada uno de los siguientes tipos de datos, que son los siguientes:
1. Tipo de datos booleanos
El tipo de datos booleano representa solo un bit de información. ya sea verdadero o falso que pretende representar los dos valores de verdad de la lógica y el álgebra booleana, pero el tamaño del tipo de datos booleanos es dependiente de la máquina virtual . Los valores de tipo booleano no se convierten implícita o explícitamente (con conversiones) a ningún otro tipo. Pero el programador puede escribir fácilmente código de conversión.
Sintaxis:
boolean booleanVar;
Tamaño: Depende de la máquina virtual
2. Tipo de datos de bytes
El tipo de datos de byte es un entero en complemento a dos con signo de 8 bits. El tipo de datos byte es útil para ahorrar memoria en matrices grandes.
Sintaxis:
byte byteVar;
Tamaño: 1 byte (8 bits)
3. Tipo de datos cortos
El tipo de datos cortos es un entero en complemento a dos con signo de 16 bits. De forma similar al byte, utilice un short para ahorrar memoria en matrices grandes, en situaciones en las que el ahorro de memoria realmente importa.
Sintaxis:
short shortVar;
Tamaño: 2 bytes (16 bits)
4. Tipo de datos enteros
Es un entero en complemento a dos con signo de 32 bits.
Sintaxis:
int intVar;
Tamaño: 4 bytes (32 bits)
Recordar: En Java SE 8 y posteriores, podemos usar el tipo de datos int para representar un entero de 32 bits sin signo, que tiene un valor en el rango [0, 2 32 -1]. Utilice la clase Integer para utilizar el tipo de datos int como un entero sin signo.
5. Tipo de datos largos
El alcance de un largo es bastante grande. El tipo de datos long es un entero en complemento a dos de 64 bits y es útil para aquellas ocasiones en las que un tipo int no es lo suficientemente grande para contener el valor deseado. El tamaño del tipo de datos largo es de 8 bytes (64 bits).
Sintaxis:
long longVar;
Recordar: En Java SE 8 y versiones posteriores, puede utilizar el tipo de datos largo para representar una longitud de 64 bits sin firmar, que tiene un valor mínimo de 0 y un valor máximo de 2. 64 -1. La clase Long también contiene métodos como comparar sin firmar, dividir sin firmar, etc. para admitir operaciones aritméticas durante largos sin firmar.
6. Tipo de datos flotantes
El tipo de datos flotante es un punto flotante IEEE 754 de 32 bits de precisión simple. Utilice un flotante (en lugar de un doble) si necesita ahorrar memoria en grandes matrices de números de punto flotante. El tamaño del tipo de datos flotante es de 4 bytes (32 bits).
Sintaxis:
float floatVar;
7. Tipo de datos doble
El tipo de datos doble es un punto flotante IEEE 754 de 64 bits de doble precisión. Para valores decimales, este tipo de datos suele ser la opción predeterminada. El tamaño del tipo de datos doble es de 8 bytes o 64 bits.
Sintaxis:
double doubleVar;
Nota: Tanto los tipos de datos flotantes como los dobles fueron diseñados especialmente para cálculos científicos, donde los errores de aproximación son aceptables. Si la precisión es la preocupación más importante, se recomienda no utilizar estos tipos de datos y utilizar la clase BigDecimal en su lugar.
Se recomienda pasar errores de redondeo en java.
8. Tipo de datos de caracteres
El tipo de datos char es un único carácter Unicode de 16 bits con un tamaño de 2 bytes (16 bits).
Sintaxis:
char charVar;
¿Por qué el tamaño del carácter es de 2 bytes en Java?
Por lo tanto, otros lenguajes como C/C++ usan solo caracteres ASCII, y para representar todos los caracteres ASCII son suficientes 8 bits. Pero Java usa el Sistema Unicode, no el sistema de código ASCII y para representar el sistema Unicode, 8 bits no son suficientes para representar todos los caracteres, por lo que Java usa 2 bytes para los caracteres. Unicódigo define un conjunto de caracteres totalmente internacional que puede representar la mayoría de los idiomas escritos del mundo. Es una unificación de docenas de conjuntos de caracteres, como el latín, el griego, el cirílico, el katakana, el árabe y muchos más.
Ejemplo:
Java
// Java Program to Demonstrate Char Primitive Data Type> // Class> class> GFG {> > // Main driver method> > public> static> void> main(String args[])> > {> > // Creating and initializing custom character> > char> a => 'G'> ;> > // Integer data type is generally> > // used for numeric values> > int> i => 89> ;> > // use byte and short> > // if memory is a constraint> > byte> b => 4> ;> > // this will give error as number is> > // larger than byte range> > // byte b1 = 7888888955;> > short> s => 56> ;> > // this will give error as number is> > // larger than short range> > // short s1 = 87878787878;> > // by default fraction value> > // is double in java> > double> d => 4.355453532> ;> > // for float use 'f' as suffix as standard> > float> f => 4> .7333434f;> > // need to hold big range of numbers then we need> > // this data type> > long> l => 12121> ;> > System.out.println(> 'char: '> + a);> > System.out.println(> 'integer: '> + i);> > System.out.println(> 'byte: '> + b);> > System.out.println(> 'short: '> + s);> > System.out.println(> 'float: '> + f);> > System.out.println(> 'double: '> + d);> > System.out.println(> 'long: '> + l);> > }> }> |
Producción
char: G integer: 89 byte: 4 short: 56 float: 4.7333436 double: 4.355453532 long: 12121
Tipos de datos no primitivos o tipos de datos de referencia
El Tipos de datos de referencia contendrá una dirección de memoria de valores variables porque los tipos de referencia no almacenarán el valor de la variable directamente en la memoria. Son cadenas, objetos, matrices, etc.
1. Cuerdas
Instrumentos de cuerda se definen como una serie de caracteres. La diferencia entre una matriz de caracteres y una cadena en Java es que la cadena está diseñada para contener una secuencia de caracteres en una sola variable, mientras que una matriz de caracteres es una colección de entidades separadas de tipo char. A diferencia de C/C++, las cadenas de Java no terminan con un carácter nulo.
Sintaxis: Declarando una cadena
= ;
Ejemplo:
// Declare String without using new operator String s = 'techcodeview.com'; // Declare String using new operator String s1 = new String('techcodeview.com'); 2. clase
A clase Es un plano o prototipo definido por el usuario a partir del cual se crean los objetos. Representa el conjunto de propiedades o métodos que son comunes a todos los objetos de un tipo. En general, las declaraciones de clases pueden incluir estos componentes, en orden:
- Modificadores : Una clase puede ser pública o tener acceso predeterminado. Referirse a especificadores de acceso para clases o interfaces en Java
- Nombre de la clase: El nombre debe comenzar con una letra inicial (en mayúscula por convención).
- Superclase (si corresponde): El nombre del padre de la clase (superclase), si lo hay, precedido por la palabra clave extend. Una clase solo puede extender (subclase) a un padre.
- Interfaces (si las hay): Una lista separada por comas de interfaces implementadas por la clase, si corresponde, precedida por la palabra clave implements. Una clase puede implementar más de una interfaz.
- Cuerpo: El cuerpo de la clase está rodeado por llaves, { }.
3. Objeto
Un Objeto es una unidad básica de programación orientada a objetos y representa entidades de la vida real. Un programa Java típico crea muchos objetos que, como usted sabe, interactúan invocando métodos. Un objeto consta de:
- Estado : Está representado por los atributos de un objeto. También refleja las propiedades de un objeto.
- Comportamiento : Está representado por los métodos de un objeto. También refleja la respuesta de un objeto a otros objetos.
- Identidad : Da un nombre único a un objeto y permite que un objeto interactúe con otros objetos.
4. Interfaz
Como una clase, una interfaz Puede tener métodos y variables, pero los métodos declarados en una interfaz son abstractos por defecto (solo firma del método, sin cuerpo).
- Las interfaces especifican qué debe hacer una clase y no cómo. Es el modelo de la clase.
- Una interfaz se trata de capacidades como un jugador puede ser una interfaz y cualquier clase que implemente el jugador debe poder (o debe implementar) mover(). Entonces especifica un conjunto de métodos que la clase debe implementar.
- Si una clase implementa una interfaz y no proporciona cuerpos de métodos para todas las funciones especificadas en la interfaz, entonces la clase debe declararse abstracta.
- Un ejemplo de biblioteca Java es Interfaz del comparador . Si una clase implementa esta interfaz, se puede utilizar para ordenar una colección.
5. matriz
Un Formación es un grupo de variables de tipo similar a las que se hace referencia con un nombre común. Las matrices en Java funcionan de manera diferente que en C/C++. Los siguientes son algunos puntos importantes sobre las matrices Java.
- En Java, todas las matrices se asignan dinámicamente. (se discute más adelante)
- Dado que las matrices son objetos en Java, podemos encontrar su longitud utilizando la longitud del miembro. Esto es diferente de C/C++ donde encontramos la longitud usando el tamaño.
- Una variable de matriz Java también se puede declarar como otras variables con [] después del tipo de datos.
- Las variables de la matriz están ordenadas y cada una tiene un índice que comienza con 0.
- La matriz Java también se puede utilizar como campo estático, variable local o parámetro de método.
- El tamaño de una matriz debe especificarse mediante un valor int y no largo ni corto.
- La superclase directa de un tipo de matriz es Objeto.
- Cada tipo de matriz implementa las interfaces. Clonable y java.io.Serializable .
Preguntas frecuentes sobre tipos de datos en Java
1. ¿Qué son los tipos de datos en Java?
Los tipos de datos son de diferentes tamaños y valores que se pueden almacenar en la variable que se crea según la conveniencia y las circunstancias para cubrir todos los casos de prueba.
2. ¿Cuáles son los 8 tipos de datos que se utilizan en Java?
Hay 8 tipos de datos primitivos principales en Java, como se menciona a continuación:
- booleano
- byte
- carbonizarse
- corto
- En t
- largo
- flotar
- doble
3. ¿Cuál es un tipo primitivo en Java?
Los tipos de datos primitivos son los tipos en Java que pueden almacenar un valor único y no proporcionan ninguna capacidad especial.
4. ¿Por qué char usa 2 bytes en Java y qué es u0000?
Char usa 2 bytes en Java porque usa el sistema Unicode en lugar del sistema ASCII. u000 es el rango más bajo del sistema Unicode.
Verificar: Cuestionario sobre tipos de datos en Java