Manual de Java
Manual de Java
Una razón por la que a la gente le encanta Java es la máquina virtual de Java, que
garantiza que el mismo código de Java se pueda ejecutar en diferentes sistemas
operativos y plataformas. El eslogan de Sun Microsystems para Java era "escribir
una vez, ejecutar en todas partes".
Estás interactuando con un sistema usando Java varias veces al día . A partir de
2019, el 88% de los teléfonos inteligentes funcionan con Android, ¡el sistema
operativo móvil escrito en Java!
}
Hablaremos más sobre las clases en el futuro, pero por ahora
consideremos que son un concepto único .
Al igual que las clases, utilizamos llaves para marcar el principio y el final
de un método.
Código de comentarios
Escribir código es un proceso emocionante de instruir a la computadora
para completar tareas fantásticas.
/ *
Elegimos almacenar información en varias bases de datos
para
minimizar la posibilidad de pérdida de datos. ¡Tendremos
que tener cuidado
para asegurarnos de que no se desincronice!
* /
Así es como se vería un comentario en un programa completo:
2.
Adentro main(), agregue una nueva declaración que muestre cómo se
siente con respecto a la codificación.
1.
El programa
Tenemos el texto de un programa dentro del archivo
llamado HelloWorld.java .
Mayúsculas y minúsculas
Java es un lenguaje que distingue entre mayúsculas y minúsculas. La
sensibilidad a mayúsculas y minúsculas significa que la sintaxis , las
palabras que entiende nuestra computadora, deben coincidir con el
caso. Por ejemplo, el comando de Java para enviar texto a la pantalla
es System.out.println(). Si tuviera que
escribir system.out.println()o System.Out.println(), el compilador no sabría
que su intención era usar Systemo out.
Comentarios
// Este programa muestra el mensaje "¡Hola mundo!" al
monitor
Este es un comentario de una sola línea que documenta el código. El
compilador ignorará todo después //hasta el final de la línea. Los
comentarios proporcionan información fuera de la sintaxis del
lenguaje.
Las clases
clase pública HelloWorld { // código de clase }
Métodos
public static void main ( String [ ] args ) { //
Statements }
Declaraciones
Sistema . a cabo . println ( "Hello World!" ) ;
Este código utiliza el método println()para enviar el texto "Hello
World!" Al terminal como salida. println()proviene de
un objeto llamado out, que es responsable de varios tipos de
salida. Los objetos son paquetes de estado y comportamiento, y a
menudo se modelan en cosas del mundo real.
Espacio en blanco
Los programas Java permiten el uso juicioso de los espacios en
blanco (pestañas, espacios, nuevas líneas) para crear un código que
sea más fácil de leer. El compilador ignora los espacios en blanco,
¡pero los humanos lo necesitan! Use espacios en blanco para sangrar
y separar líneas de código. Los espacios en blanco aumentan la
legibilidad de su código.
Práctica
La estructura de un programa Java le resultará familiar cuanto más
trabaje con este lenguaje. ¡Continúa aprendiendo en Codecademy y
serás un profesional de Java en poco tiempo!
¿Qué es un IDE?
Un IDE, o entorno de desarrollo integrado, permite a los
programadores consolidar los diferentes aspectos de la escritura de
un programa de computadora.
Resaltado de sintaxis
Un IDE que conoce la sintaxis de su idioma puede proporcionar
señales visuales. Las palabras clave, palabras que tienen un
significado especial como classen Java, se resaltan con diferentes
colores.
Autocompletar
Cuando el IDE conoce su lenguaje de programación, ¡puede anticipar
qué escribirá a continuación!
Depuración
Ningún programador evita escribir errores y programas con errores.
Codificación en su computadora
El mayor beneficio de usar un IDE es que le permite codificar y
ejecutar programas Java en su propia computadora. Recomendamos
IntelliJ IDEA , que puede descargar para macOS , Windows o Linux .
APRENDER JAVA: VARIABLES
Introducción
Digamos que necesitamos un programa que conecte a un usuario con nuevos
trabajos. Necesitamos el nombre del usuario, su salario y su situación laboral. Toda
esta información se almacena en nuestro programa.
Nombrar una parte de la información nos permite usar ese nombre más tarde,
accediendo a la información que almacenamos.
Las variables también dan contexto y significado a los datos que estamos
almacenando. El valor 42podría ser la edad de alguien, un peso en libras o el
número de pedidos realizados. Con un nombre, que conocemos el
valor 42es age, weightInPoundso numOrdersPlaced.
// datatype variableName
int age ; Requerimiento de doble salario ; boolean isEmployed ;
Los tipos de estas variables son int, doubley boolean. Esta lección introducirá estos
tipos incorporados y más.
Estas variables no tienen ningún valor asociado. Para asignar un valor a una
variable, usamos el operador de asignación =:
edad = 85 ;
¡Es común declarar una variable y asignar el valor en una línea!
ints
El primer tipo de datos que almacenaremos es el número entero. Los números
enteros son muy comunes en la programación. Con frecuencia, los utiliza para
almacenar edades, tamaños máximos o la cantidad de veces que se ha ejecutado
algún código, entre muchos otros usos.
Para declarar una variable de tipo int, usamos la intpalabra clave antes del nombre
de la variable:
dobles
Los números enteros no logran lo que necesitamos para cada programa. ¿Y si
quisiéramos almacenar el precio de algo? Necesitamos un punto decimal. ¿Y si
quisiéramos almacenar la población mundial? Ese número sería mayor que
el inttipo que puede contener.
booleanos
A menudo, nuestros programas se enfrentan a preguntas que solo se pueden
responder con un sí o un no.
Estas preguntas se responden con un valor booleano , un tipo que hace referencia a
uno de dos valores: trueo false.
Char
¿Cómo respondemos preguntas como: ¿Qué grado obtuviste en el examen? ¿Con
qué letra comienza tu nombre?
El chartipo de datos puede contener cualquier carácter, como una letra, un espacio
o un signo de puntuación.
Debe ser rodeado por comillas simples, '.
Por ejemplo:
String
Hasta ahora, hemos aprendido tipos de datos primitivos, que son los tipos de
datos más simples sin comportamiento incorporado. Nuestros programas también
usarán Strings, que son objetos , en lugar de primitivos. Los objetos tienen un
comportamiento incorporado.
Comprobación estática
El lenguaje de programación Java tiene tipificación estática . Los programas Java no
se compilarán si a una variable se le asigna un valor de un tipo incorrecto. Este es
un error , específicamente un error de declaración de tipo.
Nombrar
Imaginemos que estamos almacenando el nombre de un usuario para su
perfil. ¿Qué ejemplo de código crees que es mejor?
// buen estilo
booleano es Humano ; // malos estilos // sin mayúsculas para la
nueva palabra boolean ishuman ; // la primera palabra debe ser
minúscula booleana IsHuman ; // los guiones bajos no separan las
palabras boolean is_human ;
revisión
Crear y completar variables es un concepto poderoso que nos permite realizar un
seguimiento de todos los tipos de datos en nuestro programa.
En esta lección, aprendimos cómo crear e imprimir varios tipos de datos diferentes
en Java, que utilizará al crear programas más grandes y complejos.
Cubrimos
Introducción
Digamos que estamos escribiendo un programa que representa la cuenta bancaria
de un usuario.
Depositar:
Adición y sustracción
En nuestro ejemplo de cuenta bancaria del último ejercicio, ¡solíamos +añadir!
int numPicturesOfCats = 60 + 24 ;
Si usted tenía 60 imágenes de gatos en su teléfono, y que tomó más de 24, se
puede utilizar la línea de código anterior para almacenar 84en numPicturesOfCats.
Multiplicación y división
Digamos que nuestro empleador está calculando nuestro cheque de pago y
depositándolo en nuestra cuenta bancaria. La semana pasada trabajamos 40 horas,
a una velocidad de 15,50 por hora. Java puede calcular esto con el operador de
multiplicación *:
La división tiene diferentes resultados con enteros. El /operador hace una división
entera , lo que significa que cualquier resto se pierde.
Modulo
Si cocináramos 10 galletas y las repartiéramos en lotes de 3, ¿cuántos nos
quedarían después de repartir todos los lotes completos que pudiéramos?
¡Te queda 1 cookie después de repartir todos los lotes de 3 que pudiste!
Módulo puede ser un concepto complicado, así que probemos otro ejemplo.
Imagina que necesitamos saber si un número es par o impar. Un número par es
divisible por 2.
Modulo puede ayudar! Dividir un número par por 2 tendrá un resto de 0. Dividir un
número impar por 2 tendrá un resto de 1.
7 % 2
// 1, impar!
8 % 2
// 0, incluso!
9 % 2
// 1, impar!
Puede guardar el resultado de una comparación como una boolean, que aprendió
en la última lección.
Podemos usar otro operador relacional para hacer esto. ==nos dirá si dos variables
son iguales:
.equals ()
Hasta ahora, solo hemos estado usando operaciones en tipos primitivos. No tiene
mucho sentido multiplicar cadenas, o ver si una cadena es menor que la otra. Pero,
¿y si tuviéramos dos usuarios iniciando sesión en un sitio y quisiéramos ver si sus
nombres de usuario eran iguales?
Concatenación de Strings
Hemos cubierto muchas funcionalidades integradas en Java a lo largo de esta
lección. Hemos visto +, -, <, ==, y muchos otros operadores. La mayoría de estos
solo funcionan con primitivos, pero algunos también funcionan con cadenas.
Digamos que queremos imprimir una variable, y queremos describirla a medida
que la imprimimos. Para nuestro ejemplo de cuenta bancaria, imaginemos que
queremos decirle al usuario:
Su equilibrio es : 10000
revisión
¿De qué sirve tener variables si no puedes hacer nada con ellas? Ahora hemos visto
algunas formas en que puedes operar con variables y compararlas. ¡Las
posibilidades son infinitas!
Cubrimos
¡Practica algunos de estos conceptos aquí, para asegurarte de tener una base
sólida para aprender conceptos Java más complicados y emocionantes!
Depositar dinero.
Retirar dinero.
Imagina que dos personas tienen cuentas que son instancias de
la SavingsAccountclase. Comparten el comportamiento (cómo depositan y retiran)
pero tienen un estado individual (sus saldos), e incluso con el mismo monto de
saldo, estas cuentas son entidades separadas.
Clases: Sintaxis
El concepto fundamental de la programación orientada a objetos es la clase. Una
clase es el conjunto de instrucciones que describen cómo se puede comportar una
instancia y qué información contiene.
Java tiene clases predefinidas como las Systemque hemos usado para registrar texto
en nuestra pantalla, pero también necesitamos escribir nuestras propias clases para
las necesidades personalizadas de un programa.
Aquí hay una definición de una clase de Java:
Esta clase tiene un main()método, que enumera las tareas realizadas por el
programa. main()Se ejecuta cuando ejecutamos el archivo compilado Car.class .
Clases: Constructores
Creamos instancias con un método constructor definido dentro de la clase.
Los campos son un tipo de estado que cada instancia poseerá. Una instancia puede
tener "red"como su color, otra "blue", etc. Aprenderemos cómo asignar valores en
el próximo ejercicio.
Necesitamos alterar el método del constructor porque ahora necesita acceder a los
datos que estamos asignando a la instancia.
Los campos de instancia están disponibles para asignación dentro del constructor
porque los declaramos dentro de la clase.
Clases: Asignación de valores a campos
de instancia
Ahora que nuestro constructor tiene un parámetro, debemos pasar valores al
método de llamada. Estos valores se convierten en el estado de la instancia.
Pasamos por el valor de cadena "red"a nuestro llamado método constructor: new
Car("red");.
El tipo del valor dado a la invocación debe coincidir conel tipo declarado por el
parámetro.
/ *
accediendo a un campo:
objectName.fieldName
* /
Agregaremos una boolean isRunning, que indica que el motor del automóvil está
encendido y una int velocity, que indica la velocidad a la que el automóvil está
viajando.
El constructor ahora tiene múltiples parámetros para recibir valores para los nuevos
campos. Seguimos especificando el tipo y el nombre de cada parámetro.
¡Ordenar los asuntos! Debemos pasar los valores a la invocación del constructor en
el mismo orden en que aparecen en los parámetros.
Clases: Revisión
Java es un lenguaje de programación orientado a objetos donde cada programa
tiene al menos una clase. Los programas a menudo se construyen a partir de
muchas clases y objetos, que son las instancias de una clase.
Las clases se basan en las cosas del mundo real que queremos representar en
nuestro programa. Más adelante exploraremos cómo se puede hacer un programa
desde varias clases. Por ahora, nuestros programas son de una sola clase.
público de clase Perro { // campo de instancia Cadena raza ; //
método del constructor public Dog ( String dogBreed ) { / * valor
del parámetro dogBreed asignado al campo de instancia de raza * /
breed = dogBreed ; } public static void main ( String [ ] args ) {
/ * create instance: usa el operador 'nuevo' e invoca al
constructor * / Dog fido = new
Metodos
Introducción
En la última lección, creamos una instancia de la Storeclase en el método
principal. Aprendimos que los objetos tienen estado y comportamiento.
Hemos visto cómo dar estado a los objetos a través de campos de instancia. Ahora,
vamos a aprender sobre el comportamiento. Recuerda nuestro ejemplo de una
cuenta de ahorro.
Depositando
o Aumentar la cantidad disponible.
Retirando
o Disminuyendo el importe disponible.
Comprobando el saldo
o Viendo la cantidad disponible.
Ha definido y llamado métodos de construcción, que crean una instancia de una
clase. También ha definido los métodos principales, que son las tareas que se
ejecutan cuando se ejecuta el programa. Estos son ejemplos específicos de
métodos. También podemos definir el nuestro que tendrá entrada, haga algo con
él y devuelva el tipo de salida que queremos.
Definiendo metodos
¿Recuerdas nuestro Carejemplo de la última lección? Agreguemos un método a
este Carllamado startEngine()que se imprima:
¡Arrancando el coche !
Vroom !
Este método se ve como:
Métodos de llamada
¡Genial! Cuando agregamos el startEngine()método a la Carclase, queda disponible
para usar en cualquier Carobjeto. Podemos hacerlo llamando al método en
el Carobjeto que creamos, por ejemplo.
Alcance
Un método es una tarea que realiza un objeto de una clase.
Marcamos el dominio de esta tarea usando llaves:, {y }. Todo dentro de las llaves
es parte de la tarea. Este dominio se llama el alcance de un método.
Añadiendo parametros
Vimos cómo el alcance de un método nos impide utilizar variables declaradas en
un método en otro método. ¿Qué pasaría si tuviéramos alguna información en un
método que debíamos pasar a otro método?
Cadena [ ] args ) { } }
Estos métodos cambiarían el valor de la variable balance. Podemos reasignar
el saldo para que sea un nuevo valor utilizando nuestro operador de asignación =,
nuevamente.
Devoluciones
Recuerde, las variables solo pueden existir en el ámbitoen el que se declararon.
Podemos usar un valor fuera del método en el que se creó si lo devolvemos desde
el método.
La palabra clave void (que significa "completamente vacío") indica al método que
no se devuelve ningún valor después de llamar a ese método.
Alternativamente, podemos usar palabras clave de tipo de datos (como int, char,
etc.) para especificar que un método debe devolver un valor de ese tipo.
El método toString ()
Cuando imprimimos Objetos, a menudo vemos una Cadena que no es muy útil
para determinar qué representa el Objeto. En la última lección, vimos que cuando
imprimimos nuestros Storeobjetos, veríamos resultados como:
Tienda @ 6bc7c054
donde Storees el nombre del objeto y 6bc7c054es su posición en la memoria.
Esto no nos dice nada sobre lo que Storevende, el precio o los otros campos de
instancia que hemos definido. Podemos agregar un método a nuestras clases que
hace que esta impresión sea más descriptiva.
revisión
¡Buen trabajo! Los métodos son una forma poderosa de abstraer tareas y hacerlas
repetibles. Nos permiten definir el comportamiento de las clases, de modo que los
Objetos que creamos puedan hacer las cosas que esperamos que
hagan. Repasemos todo lo que hemos aprendido acerca de los métodos hasta
ahora.
A medida que avance a través de más material Java, será útil enmarcar las tareas
que cree en términos de métodos. Esto le ayudará a pensar qué entradas puede
necesitar y qué salida espera.
También podemos escribir programas Java que pueden seguir diferentes conjuntos
de instrucciones dependiendo de los valores que les proporcionemos. Esto se
llama flujo de control . En esta lección, aprenderemos cómo usar el flujo de
control en nuestros programas.
Por ejemplo, el siguiente código muestra un resultado del operador booleano &&:
Operadores Booleanos: ||
¡Genial! El segundo operador booleano que exploraremos se llama o .
El siguiente código muestra todos los resultados del operador booleano ||:
Sin embargo, al igual que los operadores numéricos, los operadores booleanos
siguen reglas que especifican el orden en el que se evalúan. Este orden se
llama precedencia del operador booleano .
1. ! se evalúa primero
2. && es evaluado segundo
3. || es evaluado tercero
Al igual que las expresiones numéricas, cada expresión entre paréntesis se evalúa
primero. Las expresiones también se leen de izquierda a derecha.
Declaración If
Familiarizémonos con cómo se pueden usar los operadores relacionales, de
igualdad y booleanos para controlar el flujo de nuestro código.
En el ejemplo anterior, 9 > 2es la expresión booleana que se comprueba. Dado que
la expresión booleana " 9es mayor que 2" es true, Control flow rocks!se imprimirá
en la consola.
La ifdeclaración no es seguida por un punto y coma ( ;). En su lugar, utiliza llaves
( {y }) para rodear el bloque de código que se ejecuta cuando la expresión
booleana es true.
Declaración If-Else
A veces ejecutamos un bloque de código cuando la expresión booleana después
de la ifpalabra clave es true. Otras veces podemos querer ejecutar un bloque de
código diferente cuando la expresión booleana es false.
Podríamos escribir una segunda ifdeclaración con una expresión booleana que sea
opuesta a la primera, pero Java proporciona un acceso directo
llamado if/ elsecondicional.
En el ejemplo anterior, la expresión booleana " 1es menor que 3" y " 5es menor
que 4" se evalúa false. El código dentro del ifbloque se omitirá y el código dentro
del elsebloque se ejecutará en su lugar. El texto "You can thank George Boole!"se
imprimirá en la consola.
Declaración If-ElseIf-Else
¡Buen trabajo! En algunos casos, necesitamos ejecutar un bloque de código
separado dependiendo de las diferentes expresiones booleanas. Para ese caso,
podemos usar la declaración if/ else if/ elseen Java.
Aquí hay un ejemplo de flujo de control con la declaración if/ else if/ else:
Condicional Ternario
ifLas elsedeclaraciones / pueden volverse largas incluso cuando simplemente
desea devolver un valor dependiendo de una expresión
booleana. Afortunadamente, Java proporciona un acceso directo que le permite
escribir if/ elsedeclaraciones en una sola línea de código. Se llama
la declaración condicional ternaria .
La expresión booleana es (pointsScored > 20), que se evalúa como true. Esto
devolverá el valor de 'W', que se asigna a la variable gameResult. El valor 'W'se
imprime en la consola.
Declaración Switch
Las declaraciones condicionales que hemos cubierto hasta ahora requieren
expresiones booleanas para determinar qué bloque de código se ejecutará. Java
también proporciona una forma de ejecutar bloques de código en función de si un
bloque es igual a un valor específico. Para esos casos específicos, podemos usar
la switchdeclaración, que ayuda a mantener el código organizado y con menos
palabras.
Generalizaciones
¡Buen trabajo! El flujo de control permite que los programas Java ejecuten bloques
de código en función de expresiones booleanas. ¿Qué aprendimos sobre el flujo de
control hasta ahora?
Los operadores booleanos : &&, ||y !se utilizan para construir expresiones
booleanas y tienen un orden definido de operaciones
Declaraciones : if, if/ else, y if/ else if/ elsedeclaraciones se utilizan para
ejecutar condicionalmente bloques de código
Condicional ternario : una versión abreviada de una declaración if/ elseque
devuelve un valor basado en el valor de una expresión booleana
Switch : nos permite verificar la igualdad de una variable o expresión con un
valor que no necesita ser booleano.