JAVA
Java es un lenguaje multiplataforma, es de los lenguajes más demandados en el mercado.
Al ser multiplataforma, se puede desarrollar en cualquier plataforma, sistema operativo y tambien lo
puedes ejecutar/desplegar en cualquier lugar. Es independiente del sistema operativo con un entorno
de ejecucion llamado JVM (maquina virtual de Java).
Todo codigo java se compila en un lenguaje intermedio que no es 100% binario, está justo
entremedio de la maquina y el codigo fuente y se le conoce como Bytecode
Caracteristicas:
-Se puede desarrollar muchos tipos de aplicaciones (consola, ventanas, web, distribuidas etc)
-Multiplataforma
-Programacion Orientada a Objetos
-Recolector de Basura (Proceso de bajo nivel que se ejecuta por detras de escena (por background,
no lo vemos) que va eliminando los objetos que no se están utilizando de la memoria de forma
automatica, con esto es mucho mas estable y evitamos fugas de memoria.
-Polimorfismo (Muchas formas mediante la herencia, una clase puede heredar metodos, atributos de
otra clase padre, implementacion de interfaces para contratos, sobrecarga de metodos,
sobreescritura de metodos...)
-Modularidad (La capacidad de crear grandes aplicaciones a partir de pequeños módulos (a partir de
pequeñas aplicaciones más chicas) eso hace que nuestra aplicación sea mucho mas mantenible, mas
facil de escribir, mas facil de mantener, mas facil de escalar, pequeñas piezas que forman una gran
aplicación)
-Principio de Ocultacion (Permite ocultar cierta información, datos de los objetos)
-Fuertemente tipado
TEORIA
Las clases en Java siempre deben comenzar con mayuscula, click derecho src, new class
Cuando se crea una clase, el archivo que contenga esa clase se debe de llamar igual
Todo en Java es una clase y objeto, excepto los tipos primitivos que no son objetos,
representan un valor
Hay que crear una clase principal, que contiene un metodo, una funcion que es la puerta de
entrada a nuestra aplicación, es ella arranque, cualquier clase que contenga este metodo
principal o main, se ejecuta como una aplicación autonoma
Public es un modificador de acceso que indica que este metodo o clase se puede llamar,
ejecutar desde cualquier parte de la aplicación
Public static void, void significa el tipo de retorno, este metodo no retorna nada(no tiene un
return), es vacio, es un metodo que no devuelve ningun valor, solamente ejecuta un proceso,
alguna tarea
En hola mundo, este metodo public static void main() recibe argumentos o parametros del
tipo arreglo de String o cadena, con los corchetes se define el tipo arreglo de cadena
public static void main(String[] args){
}
Las llaves en Java limitan el contexto o el alcance del metodo, y en caso de la clase es el
cuerpo de la clase, es el contexto o el alcance de una clase
En una clase tenemos la cabecera o el encabezado, donde se define la clase
public class HolaMundo{
Los metodos tambien se pueden llamar de forma publica, desde cualquier parte de la
aplicación
Dentro de el contexto, dentro del metodo va a estar nuestra aplicación, la tarea que
queramos implementar, en este caso es mostrar en consola un texto, un holamundo
Para imprimir usamos la clase System, la clase System de Java, del sistema, esta clase se
puede llamar o invocar el atributo .out
out es un atributo estatico de forma directa, no es necesario tener que instanciar la clase para
invocar el metodo de la clase, o el atributo en este caso
println es printline, imprimir en una linea de la consola. Y luego un string, algun texto, las
instrucciones terminan siempre con ;
[Link](“Hola Mundo Desde Java”);
(System explicacion por ChatGPT: En Java, "System" es una clase predefinida que proporciona
un conjunto de propiedades y métodos relacionados con el sistema en el que se está ejecutando una
aplicación. Algunos de los métodos más comunes de la clase System son:
• currentTimeMillis(): devuelve el número de milisegundos transcurridos desde el 1
de enero de 1970, 00:00:00 GMT, conocido como "epoch".
• exit(int status): detiene la ejecución del programa y devuelve un estado de salida al
sistema operativo.
• getProperty(String key): devuelve el valor de una propiedad del sistema, como la
ruta de acceso al directorio de inicio o la versión de Java que se está ejecutando.
La clase System también tiene campos públicos estáticos útiles, como in, out y err, que
representan las corrientes de entrada, salida y error estándar del sistema.
La clase System es útil en muchos casos, por ejemplo, para obtener información del sistema, medir
el tiempo de ejecución, interactuar con el usuario a través de la consola, etc. También se utiliza a
menudo en la depuración y el registro de mensajes de error.
En resumen, la clase System es una parte importante de la API de Java y es esencial en muchos
programas Java. Al proporcionar acceso a las propiedades y métodos del sistema, permite a los
programadores interactuar con el entorno en el que se está ejecutando su aplicación.)
(Metodo explicado por ChatGPT: En Java, un método es una sección de código que se utiliza
para realizar una tarea específica. Un método está compuesto por una o más instrucciones que se
ejecutan en secuencia cuando se llama al método.
Cada método en Java tiene un nombre y un conjunto de parámetros que se utilizan para pasar
información a la función. El nombre del método se utiliza para llamar al método desde otro lugar en
el programa. Los parámetros especifican los datos que se necesitan para que el método funcione
correctamente.
Además, cada método en Java puede tener un tipo de retorno, que especifica el tipo de valor que
devuelve el método cuando se completa su ejecución. Si un método no devuelve ningún valor, su
tipo de retorno se especifica como void.
La sintaxis básica para definir un método en Java es la siguiente:
php
<modificadores> <tipo de retorno> <nombre del método>(<lista de parámetros>) {
// Cuerpo del método
}
Los modificadores se utilizan para controlar el acceso al método y otros aspectos de su
comportamiento. El tipo de retorno especifica el tipo de valor que devuelve el método, o void si
no devuelve ningún valor. El nombre del método es el identificador utilizado para llamar al método
desde otro lugar en el programa. La lista de parámetros especifica los datos que se necesitan para
que el método funcione correctamente.
En resumen, un método en Java es una sección de código que realiza una tarea específica y puede
recibir parámetros y devolver un valor. Los métodos son fundamentales en la programación en Java
y se utilizan en muchos aspectos de la programación orientada a objetos, como la encapsulación, la
abstracción y la modularidad del código.)
Out es una instancia de printstream
SI en main pusieramos main2, ya no nos dejaria correrlo, ya que no es una aplicación de
java, no es una clase autonoma que represente una aplicación
Si quitamos el static, esta palabra clave, reservada, a pesar de que se llama public void main,
no dejaria, porque el metodo main debe ser publico, estatico y void, es el requisito, debe
tener esa estructura
con main ENTER tambien lo podriamos hacer, automaticamente lo haria, o con las iniciales,
psvm y con tab lo genera
-------------------------------------------------------------------------------------------------------------
En el ejercicio de hacerlo yo fallé porque al escribir public static void main(String[] args) no
puse la llave de inicio del metodo { y luego al escribir println, se me olvidó poner
[Link].
Codigo final del ejercicio:
public class MiNombre {
public static void main(String[] args){
[Link]("Mi Nombre Es Jose Manuel");
}
}
8: Introduccion a las variables
Es lo mas importante de un lenguaje, son las entidades, contienen valores o datos, una
declaracion de variable siempre contiene dos partes, el tipo de dato de la variable y su
nombre, el tipo de la variable determina los valores que la variable puede contener y las
operaciones que se pueden realizar con ella.
Una variable se asocia a un tipo de dato, y un tipo de dato asociado a esta variable determina
que cosa o que valor o que objeto puede contener esa variable, variable tipo texto, string, ahi
no podria guardar un numero, de tipo integer
Un numero lo podemos sumar, restar, dividir, multiplicar, operaciones aritmeticas, pero por
ejemplo no podemos concatenar un numero, pero si podemos concatenar cadenas o strings
Hay dos tipos de datos, primitivos y referencia, los primitivos contienen un solo valor e
incluyen los tipos como los enteros ([Link]...) , flotantes (1.45, decimales), los caracteres
(Representan una sola letra, un digito, 'E'), boleanos, etc (Los boleanos eran True o False)
Como tipos de datos referenciados tenemos los arreglos, las clases y las interfaces.
Ejemplos: String, representa una cadena de caracteres.
ArrayList: clase representa una lista de elementos y es un tipo de dato referenciado porque
almacena una referencia a un objeto que contiene la lista de elementos en lugar de los
elementos en sí.
Un objeto es una instancia de una clase, es un tipo de referencia, tiene una estructura de
datos mas compleja, ya que no solo representa un valor, representa una identidad completa,.
Con caracteristicas, atributos, con comportamientos, funciones (que son los metodos)
atributos son las variables o caracteristicas
La interfaz tambien es un tipo de dato para indicar un comportamiento de un objeto en
particular, por ejemplo un objeto está asociado a una interfaz y esa interfaz va a decir que
cosa o que operaciones va a realizar ese objeto
Int es primitivo, integer es de referencia
con new se crea una instancia
REGLAS PARA DEFINIR NOMBRES DE VARIABLES
-Por conveccion empiezan con letra minuscula, las clases con mayúscula
-Debe ser un juego de caracteres comprendido en la codificacion Unicode (sin eñes, sin
acentos, sin espacios, sin simbolos... el unico signo que se acepta es el dólar y guion bajo,
pero hay que evitar utilizarlos), alfabeticos y numeros, con una excepcion, un nombre de
variable no puede empezar con un numero, y despues con una letra de la a la z pueden tener
un numero
-No puede ser una palabra reservada del lenguaje, o palabra clave, por ejemplo class, es
reservada, o if o for, o null, o void, o true o false
-Tampoco puede tener un nombre que ya exista, pueden ocurrir errores
-Si está compuesta por mas de una palabra, las palabras se ponen juntas y se pone
mayuscula, nombreDato
-Pueden comenzar por un subrayado, una letra, un simbolo de dólar siendo los siguientes
caracteres letras o digitos
9: Ejemplos de Variables
Hay excepciones en Java, hay clases como String y la clase Integer, que se le pueden asignar
valores, en el caso de un string con doble comilla, en el caso de un integer, un numero, y
java por detras de escena se encarga de crear esa instancia, se crea una referencia de ese
objeto
String saludar = "Hola Mundo Desde Java";
sout es un atajo a [Link] y con soutv imprime la primera variable que encuentra
en nuestro programa
[Link]("saludar = " + saludar);
Saludar es un objeto, tiene metodo, para concatenar, pero tambien tiene metodos como para
convertir todo a mayuscula, minuscula...
[Link]("[Link]() = " + [Link]());
''[Link] () = '' + es un string que concatena este otro string, esta variable
[Link]());
------
int numero = 10;
En este caso, como numero. Es un valor, no tiene atributo, no tiene metodo, mientras que el
String que es un objeto, hay varios metodos que podemos trabajar, se ve que int representa
solo un numero, un valor, no es una instancia
Pero Integer. que es el tipo de la clase, inicia en mayuscula, si que tiene metodos para
convertir a un byte, para comparar...
Integer se conoce como una clase que envuelve al primitivo, le da una funcionalidad extra al
primitivo int, metodos...
Hecho en Ejemplos:
public class HolaMundo {
public static void main(String[] args){
String saludar = "Hola Mundo Desde Java";
[Link](saludar);
[Link]("[Link]() = " +
[Link]());
int numero = 10;
[Link]("numero = " + numero);
}
}
10: Reglas para definir una variable
Cuando Hola Mundo sale en verde, es porque no se reconoce en el diccionario del IDE,
entonces tenemos que agregar el lenguaje español, settings proofreading Español
String nombre;
nombre = "Andres";
if(numero >10){
nombre = "Juan;"
}
}
}
En este ejemplo, si numero es mayor que 10, escribe Juan, si no, Andres, para poder usar
esta variable tiene que estar asignado un valor, si comentasemos Andres, daria error, porque
la variable no está inicializada, está inicializada en el contexto del if, pero no en el contexto
del metodo donde fue definida String nombre;
Ejemplo:
String nombre;
// nombre = "Andres";
if(numero >10){
nombre = "Juan;"
}
}
}
Para poder utilizar, imprimirla en la consola se tiene que definir siempre, si lo
comentasemos estaria definida como tal pero SIN VALOR, el valor es nombre = “Andres”
Si en el valor de int numero pusiesemos 11, si pondria Juan porque es mayor que 10
int numero = 11;
[Link]("numero = " + numero);
String nombre;
nombre = "Andres";
if(numero >10){
nombre = "Juan;";
}
[Link]("nombre = " + nombre);
En if se realiza un operador de relacion o condicional, retorna un valor de verdad, true o
false
Nombres de variables no pueden ser palabras clave, class, void, public, if, boolean, integer...
Control Z para dejar todo como estaba
Definicion de metodo por CHATGPT: En Java, un método es un bloque de código que realiza
una tarea específica y puede ser llamado por otros programas o métodos dentro de un programa.
Los métodos en Java están asociados con una clase o un objeto y se definen dentro de la definición
de clase.
La sintaxis básica de un método en Java es la siguiente:
php
<modificador de acceso> <tipo de retorno> <nombre del método>(<lista de
parámetros>) {
// cuerpo del método
}
• El modificador de acceso define quién puede acceder al método (por ejemplo, público,
privado, protegido).
• El tipo de retorno especifica el tipo de valor que devuelve el método (por ejemplo, void para
un método que no devuelve nada, int para un método que devuelve un valor entero, etc.).
• El nombre del método es el identificador único que se utiliza para llamar al método.
• La lista de parámetros son los valores que se pasan al método para que los use en su
ejecución.
Por ejemplo, un método que calcule la suma de dos números enteros se podría definir así:
arduino
public int sumar(int num1, int num2) {
int resultado = num1 + num2;
return resultado;
}
Este método se puede llamar desde otro lugar del programa utilizando su nombre y pasando dos
valores enteros como argumentos:
csharp
int x = 5;
int y = 7;
int resultado = sumar(x, y);
[Link](resultado); // muestra "12" en la consola
En resumen, los métodos en Java son una forma de modularizar y reutilizar el código, lo que hace
que el desarrollo de software sea más eficiente y fácil de mantener.
11: Introduccion a los Primitivos
Primitivos: Solo representan valor
De tipo entero:
byte: 8 bits
short: 16 bits
int: 32 bits
long: 64 bits
de tipo flotante:
precision simple: float
precision doble: double
Tipado estricto y estático, todo en java está asociado a un tipo de dato, y todo se escribe en
minuscula, los tipos de referencia no (clases...)
Boolean: Más simple,un solo bit, true or false
Char: Un caracter, codigo unicode, cada caracter ocupa 16 bit, entre comillas simples '', un
string entre "", puede tener dos caracteres si se trata de un codigo Unicode
Primitivos numeros enteros:
byte: entre -128 a 127
short: entre -32768 y 32767
int: entre -2147483648 a 2147483647
long: entre -92233372036854775808 a 92233372036854775807 hay que poner una L al
final
Los enteros no tienen precision, es un numero del conjunto Z y pueden ser positivos o
negativos
Primitivos numeros reales:
Tipo de dato para guardar numeros reales en coma flotante con precision simple (float) y
doble (mayor precision)
Float: entre 1.4E-45 a 3.4028235E38 3.14434f La f pequeña hay que ponerla,
puede llevara en mayus o minus
Double: entre -4.9E-324 a 1.797693134863157E3080 en double no hace falta,
se asocia automaticamente al tipo de dato double y no float
Todo primitivo tiene su clase que envuelve al primitivo, que se conoce como clase Wrapper,
para darle funcionalidad extra, metodos, convertir a diferentes tipos de datos dentro de sus
propios tipos, si es numericos o enteros que pueda convertir a byte, long, short... siempre y
cuando estén dentro de los rangos, un long si lo convertimos en un byte, se rompe y
perderiamos informacion
Valor por defecto boolean: false
Primitivos nombres de variables: Las palabras reservadas son las siguientes (meter pdf)
---------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------
12: Primitivos numéricos enteros
Saber el tamaño de un byte: A traves de la clase BYTE que maneja constantes, estas
constantes entregan informacion sobre este tipo de dato
Var es para definir una variable flexible, dinámica, el tipo de dato se asigna de forma
automatica deacuerdo al valor que asignemos en la literal (solo se soporta var a partir de
java 8)
Var numeroVar = 127;
public class Main {
public static void main(String[] args) {
byte numeroByte = 127;
[Link]("numerobyte = " + numeroByte);
[Link]("tipo byte corresponde en byte a" + [Link]);
[Link]("tipo byte corresponde en byte a" + [Link]);
[Link]("valor maximo en byte a" + Byte.MAX_VALUE);
[Link]("valor minimo en byte a" + Byte.MIN_VALUE);
short numeroShort = 30000;
[Link]("numeroShort = " + numeroShort);
[Link]("tipo short corresponde en byte a" + [Link]);
[Link]("tipo short corresponde en byte a" + [Link]);
[Link]("valor maximo de un short" + Short.MAX_VALUE);
[Link]("valor minimo de un short" + Short.MIN_VALUE);
int numeroInt = 214748364;
[Link]("numeroInt = " + numeroInt);
[Link]("tipo int corresponde en byte a" + [Link]);
[Link]("tipo int corresponde en byte a" + [Link]);
[Link]("valor maximo de un int" + Integer.MAX_VALUE);
[Link]("valor minimo de un int" + Integer.MIN_VALUE);
long numeroLong = 2147483648L;
[Link]("numeroLong = " + numeroLong);
[Link]("tipo long corresponde en byte a" + [Link]);
[Link]("tipo long corresponde en byte a" + [Link]);
[Link]("valor maximo de un long" + Long.MAX_VALUE);
[Link]("valor minimo de un long" + Long.MIN_VALUE);
}
}
Var es un tipo de variable que se implementó en Java 8, basicamente acorta todo, en vez de
poner String, o Int, si pones var a = “Rocio”; dará por hecho que es un String
Si pones var b = 23; dará por hecho que es un int, y si añadiese la f o la l, seria float, long...
etc
Es una variable que por defecto identifica lo que se le tenga delante, pero no se pueden
declaras mas variables en una sola linea de codigo, no se podria poner varios valores en un
solo var
Tendria que ser por separado
var blablabla
var blablabla
var blablabla
y asi
Primitivos Float:
Si aquí pusieramos
float realFloat = 1;
[Link]("realFloat = " + realFloat);
una coma sin añadirle la f, nos diria que es un double, pero si queremos indicar que es un
float, debemos de ponerle la f
float realFloat = 1.0f;
[Link]("realFloat = " + realFloat);
Anotacion cientifica de poner esto:
float realFloat = 2120f;
[Link]("realFloat = " + realFloat);
seria
float realFloat = 2.12e3f;//2120f;
[Link]("realFloat = " + realFloat);
e es exponente, el punto se corre 3 veces hacia la derecha
Pero que pasa si el exponente es negativo? Si es negativo se corre hacia la izquierda
1.5e4 multiplicamos 1.5 por 10 elevado a 4, seria 15000f, asi seria positivo
pero
1.5e-10f seria 0.00000000015f
Lo que va a la izquierda del exponente se le conoce como Mantisa
Leccion 14: Primitivos numericos de punto flotante y sus constantes
en double realDouble = 3.4028235E38 no es necesario poner 3.4028235E38d
ya que al poner el punto, cuando se indica, la literal toma el tipo o el valor como un doble,
por defecto es un doble, pero si queremos especificar un float, por defecto es double, asi
que hay que ponerle f
El punto equivale a una coma, a un decimal
Los valores por defecto de un primitivo es 0, y en tipo flotante, 0.0, double y float son tipo
flotante, el valor por defecto solo se atribuye a variables
Leccion 15: Primitivo char o character
Para definir un carácter se usa la palabra char, palabra clave
Con un String se usan comillas dobles, con un char, comillas simples, un string es una
secuencia de caracteres
Char o carácter es un solo carácter, más da error
Se pueden tener caracteres numericos, del 0 al 9, 10 no porque serian dos caracteres, y los
caracteres de java estan basados en UNICODE
Los caracteres unicode se ponen con \ Ejemplo: \u0040
A pesar de que colocamos en la literal un entero del tipo int, automaticamente se convierte
en un tipo char al tener su codigo equivalente en decimal, char decimal = 64; seria el
decimal HTML de @
[Link]("caracter = decimal: " + (decimal == caracter));
Con los parentesis se le da prioridad a la concatenacion, primero se resuelve y luego
concatena
//Se puede imprimir de las 3 formas, con codigo unicode, codigo decimal
y con el simbolo
Si ponemos var, el motor de java automaticamente detecta que la literal corresponde a un
char con su codigo correspondiente
Pero si ponemos var decimal = 64; lo considera un valor entero, y no un char
Cada tipo primitivo tiene su clase equivalente, char tiene su clase equivalente carácter
Char a pesar de que representa un carácter, la informacion que guarda en esta variable debe
ser un poco mas grande, por ejemplo cuando queremos almacenar un char pero del tipo
decimal, que corresponde a un entero, por eso este entero podria corresponder al tamaño de
un short, y tambien a los caracteres unicode
El min value es un espacio en blanco y el max value corresponde a un carácter especial, que
depende de sistema operativo
6 de Junio
Leccion 16: Char y caracteres especiales
Notas en Codigo
Si no tiene el \ seria simplemente la letra que haya, no seria un carácter especial
Leccion 17: Primitivo Boolean o logico binario:
Representa un valor de verdad, true o false
Se puede colocar de forma directa en la literal
boolean datoLogico = true;
Esta es una forma de escribirlo directamente en la literal, automaticamente se representa
como un tipo booleano, pero otra forma es mediante la constante de la clase boolean
boolean datoLogico = [Link]
La diferencia es que retorna una instancia de la clase boolean, es decir, un objeto del tipo
boolean
Al seleccionar False en boolean datoLogico = [Link] y pulsar ctrl click, sale toda la
info
El booleano sirve para flujos de control, el if, while, for, sirve para evaluar una condicion, y
esa condicion va a retornar verdadero o falso, y de acuerdo a esta expresion, este valor va a
ejecutar un fragmento de codigo
Leccion 18: Sistemas numericos: decimal, binario, octal y hexadecimal
Ya vimos sobre el sistema decimal que es el por defecto en Java con el tipo int o integer y
los tipos numericos, pero java puedo operar con mas cosas que con el sistema decimal,
binario, octal, y hexadecimal
Para representar un Binario, se pone 0b y se pone el numero binario
Para representar un Octal, se pone 0
Para representar un Hexadecimal, se pone 0x, se representa como numeros y letras
Siempre se pone el tipo int