Java
Java es un lenguaje de programación y una plataforma informática que fue comercializada por primera vez en 1995 por Sun Microsystems.23
El lenguaje de programación Java fue desarrollado originalmente por James Gosling, de Sun Microsystems (constituida en 1983 y posteriormente adquirida el 27 de enero de 2010 por la compañía Oracle),4 y publicado en 1995 como un componente fundamental de la plataforma Java de Sun Microsystems. Su sintaxis deriva en gran medida de C y C++, pero tiene menos utilidades de bajo nivel que cualquiera de ellos. Las aplicaciones de Java son compiladas a bytecode (clase Java), que puede ejecutarse en cualquier máquina virtual Java (JVM) sin importar la arquitectura de la computadora subyacente.
La compañía Sun desarrolló la implementación de referencia original para los compiladores de Java, máquinas virtuales y librerías de clases en 1991, y las publicó por primera vez en 1995. A partir de mayo de 2007, en cumplimiento de las especificaciones del Proceso de la Comunidad Java, Sun volvió a licenciar la mayoría de sus tecnologías de Java bajo la Licencia Pública General de GNU. Otros han desarrollado también implementaciones alternas a estas tecnologías de Sun, tales como el Compilador de Java de GNU y el GNU Classpath.
Extensiones comunes | java, class, jar, jad y jmod | |
---|---|---|
Paradigma | Orientado a objetos, imperativo | |
Apareció en | 1996 | |
Diseñado por | Sun Microsystems (Oracle Corporation) | |
Sistema de tipos | Fuerte, estático | |
Implementaciones | OpenJDK, HotSpot y muchas otras | |
Dialectos | Generic Java, Pizza | |
Influido por | Pascal, C++, Objective-C | |
Ha influido a | C#, J#, JavaScript, PHP, Python | |
Sistema operativo | Multiplataforma | |
Licencia | GNU GPL / Java Community Process |
- Variables y constantes:
Lista de tipos de datos primitivos
Tipo | Tamaño | Valor mínimo | Valor máximo |
---|---|---|---|
byte | 8 bits | -128 | 127 |
short | 16 bits | -32768 | 32767 |
int | 32 bits | -2147483648 | 2147483647 |
long | 64 bits | -9223372036854775808 | 9223372036854775807 |
float | 32 bits | -3.402823e38 | 3.402823e38 |
double | 64 bits | -1.79769313486232e308 | 1.79769313486232e308 |
chart | 16 bits | \u000 | \ufff |
Lista de tipos de de objeto
- Tipos de la biblioteca estándar de Java: String, Scanner, ArrayList, etc.
- Tipos definidos por el programador: Cliente, Estudiante, Carro, etc.
- arrays: elementos tipo vector o matriz.
- Tipos envoltorio o wrapper: Byte, Short, Integer, Long, Float, Double, Character, Boolean.
Operadores Aritméticos:
Operador | Descripción |
---|---|
+ | Suma |
– | Resta |
* | Multiplicación |
/ | División |
% | Resto de la división |
Operadores de Asignación:
Operador | Descripción |
---|---|
= | Asignación |
+= | += var2 === var1 = var1 + var2 |
-= | -= var2 === var1 = var1 – var2 |
*= | *= var2 === var1 = var1 * var2 |
/= | /= var2 === var1 = var1 / var2 |
%= | %= var2 === var1 = var1 % var2 |
Operadores Unarios: El mas (+) y el menos (-). Para cambiar el signo del operando.
Operador Instanceof: Nos permite saber si un objeto pertenece a una clase o no.
- Nombre_Objeto instanceof Nombre_Clase
Operadores Incrementales: Son los operadores que nos permiten incrementar las variables en una unidad. Se pueden usar delante y detrás de la variable dependiendo de lo que queramos, es decir, si queremos que incremente o viceversa antes de utilizar o despues.
- ‘++’
- ‘–‘
Operadores Relacionales: Permiten comparar variables según la relación de igualdad/desigualdad o relacción mayor/menor. Devuelven siempre un valor boolean.
Operador | Descripción |
---|---|
> | Mayor que |
< | Menor que |
== | Igual que |
¡= | Distinto que |
>= | Mayor o igual que |
<= | Menor o igual que |
Operadores Lógicos: Nos permiten construir expresiones lógicas.
Operador | Descripción |
---|---|
&& | True si ambos operandos son verdaderos |
|| | True si algún operando es true |
! | Niega el operando que se le pasa |
& | True si ambos operandos son true |
| | True si un operando de los dos es true |
Operador de concatenación con cadena de caracteres ‘+’:
- Por Ejemplo: System.out.println(«El total es»+ result +»unidades»);
Operadores que actúan a nivel de bits:
Operador | Descripción |
---|---|
>> | desplazamiento a la derecha de los bits del operando. |
<< | desplazamiento a la izquierda de los bits de operando. |
& | operador and a nivel de bit. |
| | operador or a nivel de bit. |
Palabras que no se pueden usar porque están reservadas por el sistema.
abstract |
continue |
for |
new |
switch |
assert |
default |
goto |
package |
synchronized |
boolean |
do |
if |
private |
this |
break |
double |
implements |
protected |
throw |
byte |
else |
import |
public |
throws |
case |
enum |
instanceof |
return |
transient |
catch |
extends |
int |
short |
try |
char |
final |
interface |
static |
void |
class |
finally |
long |
strictfp |
volatile |
const |
float |
native |
super |
while |
- Métodos y funciones :
Declaración:
Acceso:
Como su nombre indica, los modificadores de acceso en Java ayudan a restringir el alcance de una clase, constructor, variable, método o miembro de datos. Hay cuatro tipos de modificadores de acceso disponibles en Java:
Cada uno de ellos muestra si es posible el acceso desde la propia clase, paquete, subclase o en todos los lados. En caso de no ponerlo se entenderá que es el defaul.
Acceso | Clase | Paquete | Subclase | Todos |
---|---|---|---|---|
public | sí | sí | sí | sí |
protected | sí | sí | sí | no |
defaul | sí | sí | no | no |
private | sí | no | no | no |
Modificador:
final o static o ambas, tampoco es necesario declararlo.
- final:
- No puede ser anulado u oculto por subclases.
- se usa para evitar el comportamiento inesperado de una subclase que altera un método que puede ser crucial para el método o la consistencia de la clase.
- No se puede redefinirlo en la clase hija, no se puede hacer un override.
- Impide que le asignemos un valor.
- No se impide modificar su estado
- static:
- El método o función pasa a formar parte de la clase.
- Solo se puede llamar directamente a otros métodos estáticos.
- Se puede acceder a él sin necesidad de generar una instancia.
Tipo:
Dentro de los tipos de métodos o funciones en java podemos aquellas que son de tipo void (que no devuelven nada) o aquellas que devuelven un valor (en éstas ultimas, utilizaremos la cláusula return).
- void: Son métodos que no devuelven ningún tipo de valor. Solo ejecutan código que tengan en su interior cuando son llamados. Este tipo de métodos pueden recibir o no parámetros o argumentos de forma opcional.
- Si no le ponemos el void ha de ponerse el tipo de valor u objeto que devuelve, por ejemplo: int, String, boolean, etc.
Nombre_funcion:
Cualquier nombre, a ser posible, identificativo que empiece por minúscula y preferiblemente que sea un verbo.
Parámetros: Pueden ser uno, varios o ninguno. Cada uno con su tipo y su nombre. Normalmente son variables, objetos, etc. que se necesitan dentro de la función.
Ejemplos:
Declaración:
La sobrecarga es usar el mismo nombre de función para trabajar de maneras diferente con ella:
Ejemplo:
En el ejemplo podemos ver que a la función «numero» le damos tres usos diferentes dependiendo de sus parámetros.
- Clases y objetos:
Declaración:
Para crear una nueva clase, lo primero que tenemos que hacer es crear un archivo que se llame exactamente igual que la clase y con extensión .java.
Ejemplo: pc.java
Abriremos el archivo y dentro debe contener la siguiente sintaxis:
Atributos:
Son las variables que pertenecen a un objeto y que se representan con diferentes tipos de datos, definen el estado del objeto y son características que varían de uno a otro.
Constructor:
Es un tipo de método especial que nos permite construir un objeto de determinada clase, se utiliza para inicializar un objeto. Nunca tiene tipo de retorno.
En el constructor es recomendable inicializar todos los atributos de una clase, aunque su valor sea nulo o vacío.
El método constructor recibe una serie de parámetros, como cualquier otro, también es probable que no reciba parámetros, entonces tenemos un constructor vacío o constructor general, que permitirá crear objetos sin asignar valores a los atributos.
El constructor tiene algunas particularidades, su nombre es especial porque debe empezar con mayúsculas y va a ser el mismo nombre de la clase (de ese modo se identifica al método constructor). Puede haber más de un constructor dentro de la clase.
Métodos:
Son equivalentes a las funciones o procedimientos en otros lenguajes de programación, se utilizan para modificar el estado de un objeto. Siempre tienen un tipo de retorno.
Son un conjunto de instrucciones (comportamientos) que llevará a cabo el objeto de una clase (por ejemplo clase Humano, método comer).
Ejemplo:
Declaración:
Un objeto es una instancia de una clase, por ejemplo una fabrica de coches puede ser una clase, un coche fabricado allí seria una instancia de la fábrica o lo que llamamos un objeto.
Para crear un objeto simplemente se le pone un nombre y se iguala a la clase de esta forma:
Ejemplo:
Declaración:
De esta forma heredamos todos los atributos y métodos del padre.
Ejemplo:
Definicion:
Cuando necesitamos cambiar los parámetros del constructor de una clase padre, no hace falta volver a duplicar código pasando estos con this.parametro. Para ello utilizamos la palabra reservada super:
Ejemplo:
Clase padre:
Clase hijo:
Declaración:
Ejemplos:
Clase padre:
Clase hija:
Clase Main:
Salida:
Se puede ver como se ha multiplicado la potencia 10 que le hemos introducido por 2 y por 4.