Está en la página 1de 20

Clase 01.

Sintaxis y
Variables
Variables

Una variable es un contenedor (un recipiente) de


datos que guarda los valores de los datos durante
la ejecución del programa.

¿Cómo se usan las variables?

Las variables siempre tienen que tener un tipo y un nombre

Fuente: Variables Java y Tipo de Datos | Guru99

La asignación de valores a las variables tiene muchas formas, a continuación se


detallan las más usadas:

Asignar el valor después del signo =


● x = 33
● esFeriado = false
Asignar el valor de una variable a otra
● y= x
Usar una expresión cómo combinación de dos
● x = y + 100

Ejemplos de declaración con asignación de variables primitivas


Convención de nombres

Las variables necesitan un nombre, ¿se pueden usar todas las palabras
para nombrar una variable?

Debemos seguir las siguientes reglas para nombrar variables:

● Empezar con una letra, underscore ( _ ) o signo de dolar($)


● No se puede empezar con números
● Después del primer carácter está permitido el uso de números (Ej: byte
a1234;)
● No se pueden usar palabras reservadas de Java

Listado de palabras claves en Java


Fuente: Palabras Reservadas| TechVidVan
¿Por qué usar una convención?

● Se usa como standard de mercado.


● El respetar la convención de nombres a la hora de definir los nombres de
las variables hace que los programas sean más entendibles haciendo que
sean más fáciles de leer.
● El uso de esta convención brinda información acerca de la función que va
a cumplir dicha variable.

Ej: Si se necesita una variable para contar los alumnos del curso ¿que opción es
más entendible?
int x = 100 o int cantidadAlumnos = 100

Componentes

¿Dónde se usa la convención? La convención aplica a distintos tipos de


componentes del lenguaje:

● Package
● Classes
● Interfaces
● Métodos
● Variables
● Constantes

PACKAGE
Se escribe siempre en minúscula usando ASCII.
El prefijo debe ser algún nombre del nivel superior del dominio, en la actualidad
se usa com, edu, gov, gob, net, org, etc.
Los siguientes componentes se asignan de acuerdo a la convención de cada
organización.

Ejemplos de paquetes posibles para coderhouse:


edu.coderhouse.utils
edu.coderhouse.controller
edu.coderhouse.service

CLASSES E INTERFACES
● Los nombres deberían ser sustantivos, con la primer letra de cada palabra
que forman el nombre en mayúscula.
● Tienen que ser simples y descriptivos
● No usar acrónimos y abreviaturas.

MÉTODOS
● Los nombres deberían ser verbos, escritos en formato camel case.
● Tienen que ser simples y descriptivos
● No usar acrónimos y abreviaturas.

VARIABLES
● Los nombres deberían ser escritos en formato camel case.
● Deben tener nombres cortos y representativos de la función que cumplen.
● No usar underscore ( _ ) o signo dolar ( $ ), a pesar de estar permitido
(recordar que es una convención no una restricción del lenguaje)
● Para variables temporales de tipo entero (int) se recomienda
i, j, k, m, n
● Para caracteres se usa c, d , e

CONSTANTES
Las constantes se deberían escribir en mayúscula y usar el underscore ( _ )
cómo separador.

Tipos

Java es un lenguaje fuertemente tipado.


¿Qué significa esto?

El compilador de Java se encarga de verificar que a una variable que fue definida
para almacenar un tipo de datos no se le esté asignando un tipo que no
corresponda.

TIPOS

Por ejemplo, si se declara una variable primitiva (primitive) de tipo entero (int) no
puede recibir un valor de tipo boolean, double, etc.

La misma regla aplica para las variables definidas de tipo objeto, en una variable
tipo Cuenta Corriente no se puede guardar una referencia (Non-Primitive) a una
Casa o a un Elefante
TIPOS

Fuente: Tipos de datos | Tutorial Cup


TIPO DE DATO
PRIMITIVO
NO- PRIMITIVO

¡PARA PENSAR!
¿Para qué usa la JVM los distintos tipos de variable?

CONTESTA EN EL CHAT DE ZOOM


Para chequear que los valores asignados sean los que corresponden al tipo de
variable declarado. Recordar que Java es un lenguaje fuertemente tipado


BREAK

¡5/10 MINUTOS Y VOLVEMOS!

Obligatoria siempre. A la hora del Break, entre 5 y 10 minutos. Considerar ubicar


este espacio en un momento adecuado de la clase. Al volver, mostrar los
resultados de la pregunta del anterior slide y generar un breve intercambio.

Los tipos de las variables le permiten a la JVM saber qué valores puede
almacenar.

Cada tipo tiene un valor fijo de bits y de aquí se desprenden los valores que se
pueden asignar.

TIPOS

Fuente: Tipos de datos primitivos| Facing Issues on IT


Explicar que los tipos de datos no primitivos se explican en la siguiente clase del
curso

¡VAMOS A PRACTICAR LO VISTO!


Profe: Es momento de compartir pantalla y llevar a la práctica lo que vienen
viendo.

Una variable de tipo byte ocupa 8 bits por la tanto puede almacenar 256 (2^8)
números que van desde el -128 al 127.
public static void main(String[] args) {
byte minimo = -129;

System.out.println("El valor de la variable es: " + minimo);

}
Probemos asignar un valor negativo más grande del permitido
ALGUNOS EJEMPLOS

Entonces, ¿qué sucede cuando asignamos un valor negativo más alto que el
permitido?
El programa nos devolverá el siguiente mensaje

public static void main(String[] args) {

byte minimo = -128;

System.out.println("El valor de la variable es: " + minimo);

}
El valor de la variable es: -128
Pero si, en cambio asignamos el valor negativo máximo posible y el programa
corre satisfactoriamente

public static void main(String[] args) {

byte maximo = 128;

System.out.println("El valor de la variable es: " + maximo);

}
Ahora probemos asignar un valor positivo más grande del permitido

Entonces, podemos ver como si asignamos un valor positivo más alto, nos dará el
siguiente mensaje:

public static void main(String[] args) {

byte maximo = 127;


System.out.println("El valor de la variable es: " + maximo);

El valor de la variable es: 127

Por tanto, si asignamos el valor positivo máximo posible , el programa correrá


satisfactoriamente.

¡PARA PENSAR!

¿Este código funciona?

CONTESTA EN EL CHAT DE ZOOM


public static void main(String[] args) {

int x = 24;

byte b = x;

System.out.println("El valor de la variable es: " + b);


}

Explicar que si bien 24 es un valor dentro del rango aceptado por el tipo byte
esta asignación no es posible porque las variables x e y son de distinto tipo

Operadores básicos

Operadores Aritméticos

Los operadores aritméticos se usan para realizar operaciones


aritméticas/matemáticas entre operandos.
¿Qué son?

Suma de enteros

Suma de String

public static void main(String[] args) {


int x = 1;
int y = 1;
int z = x + y;
System.out.println("El valor de la suma es: " + z);
}

El valor de la suma es: 2


public static void main(String[] args) {
String x = "abc_";
String y = "def";
String z = x + y;
System.out.println("El valor de la suma es: " + z);
}

El valor de la suma es: abc_def


SUMA (+)
Realiza la suma de dos operandos
Realiza la sustracción de dos operandos

Sustracción de enteros

public static void main(String[] args) {


int x = 1;
int y = 1;
int z = x - y;
System.out.println("El valor de la sustracción es: " + z);
}

El valor de la sustracción es: 0


SUSTRACCIÓN (+)

Realiza la multiplicación de dos operandos

Multiplicación de enteros
public static void main(String[] args) {
int x = 123;
int y = 145;
int z = x * y;
System.out.println("El valor de la multiplication es: " + z);
}

El valor de la multiplication es: 17835


MULTIPLICACIÓN (x)

Divide el primer operando por el segundo

Division de enteros

public static void main(String[] args) {


int x = 1200;
int y = 100;
int z = x / y;
System.out.println("El valor de la división es: " + z);
}

El valor de la división es: 12

DIVISIÓN (/)
Devuelve el resto cuando el primer operando es dividido
por el segundo.

Módulo

public static void main(String[] args) {


int x = 145;
int y = 4;
int z = x % y;
System.out.println("El valor del módulo es: " + z);
}

El valor del módulo es: 1

MÓDULO (%)

Incrementa en 1 el valor del entero.


Tiene dos formas: preincremento ++x o postincremento (x++)
public static void main(String[] args) {
int x = 0;
x++;
System.out.println("El valor de la variable es: " + x);
++x;
System.out.println("El valor de la variable es: " + x);
}

El valor de la variable es: 1


El valor de la variable es: 2

INCREMENTO (++)

Decrementa en 1 el valor del entero.


Tiene dos formas: predecremento --x o postdecremento(x--)

public static void main(String[] args) {


int x = 2;
x--;
System.out.println("El valor de la variable es: " + x);
--x;
System.out.println("El valor de la variable es: " + x);
}

El valor de la variable es: 1


El valor de la variable es: 0

MÓDULO (%)

Operadores Relacionales

Los operadores relacionales determinan la relación entre dos operandos.

Evalúan la relación entre dos operadores y devuelve true si la relación existe,


caso contrario devuelve false
¿Qué son?

Operador == : verifica si dos operandos son iguales o no. Si cumple la condición


devuelve true si no false

Operador != : verifica si dos operandos son distintos o no. Si cumple la condición


devuelve true si no false

Operador > : verifica si el primer operando es mayor que el segundo operando. Si


cumple la condición devuelve true si no false
Operadores Relacionales

public static void main(String[] args) {

int a = 10, b = 4;

// Operadores relacionales
// Mayor que
if (a > b)
System.out.println("a es mayor que b");
else System.out.println("a es menor o igual que b");

// Mayor o igual
if (a >= b)
System.out.println("a es mayor o igual que b");
else System.out.println("a es menor que b");

// Menor que
if (a < b)
System.out.println("a es menor que b");
else System.out.println("a es mayor o igual que b");

Operador < : verifica si el primer operando es menor que el segundo operando. Si


cumple la condición devuelve true si no false

Operador >= : verifica si el primer operando es mayor o igual que el segundo


operando. Si cumple la condición devuelve true si no false

Operador <= : verifica si el primer operando es menor o igual que el segundo


operando. Si cumple la condición devuelve true si no false
Operadores Relacionales

// Menor o igual que


if (a <= b)
System.out.println("a es menor o igual que b");
else System.out.println("a es mayor que b");

// Igual que
if (a == b)
System.out.println("a es igual que b");
else System.out.println("a y b no son iguales");

// No igual que
if (a != b)
System.out.println("a y b no son iguales");
else System.out.println("a es igual que b\"");
}

a es mayor que b
a es mayor o igual que b
a es mayor o igual que b
a es mayor que b
a y b no son iguales
a y b no son iguales

Buenas prácticas
Evitar nombres sin sentido
No usar variable cómo abc, temp, data.
De esta manera no se revela la intención

Dar nombres significativos, cómo complemento al punto anterior.


Debe brindar información sobre lo que hace.
Ej: getFechaPago() es mejor que gfp()

Es preferible un nombre corto sobre uno largo


Ej: getFechaPago() es mejor que devolverFechaPago()

Evitar nombres similares.


No deberían existir dos variables que se llamen empleado y empleados.
En caso de necesitar representar una lista se puede usar listaEmpleados

Preferible usar nombre descriptivo sobre nombre corto.


En el punto 3 recomendamos un nombre corto pero si no es descriptivo de la
intención entonces usar uno largo
Ej: getAApr() es corto pero no indica intención, es mejor getAlumnosAprobados()

Seguir la convención de nombres de java.


Se explicó en esta clase anteriormente

Usar nomenclatura consistente, evitar sinónimos


No usar nombres cómo destroy(), kill() o finish() si realizan tareas parecidas

Seguir la convención clásica de programación


Para las variables usadas en iteradores se debería usar i, j, k
En este punto se acepta no respetar el punto 1
Evitar el uso de caracteres no ASCII
Los caracteres no ASCII pueden no ser soportados por todas las plataformas

Hacer buen uso de verbos comunes


En nombres de variables y métodos booleanos se recomienda usar isAlive(),
hasNext(), canExecute()
Es fácil de leer y denota la intención

EJEMPLO EN VIVO

1-Uso de variables simples con valores primitivos int, long y double. Mostrar los
valores en consola. Explicar que es System.out.println
2-Mostrar la guía de buenas prácticas. Crear un método main y escribir una
variable con un nombre complejo y porque se debe empezar con minúscula y
cada palabra nueva van con mayúscula.
3-Crear un método main donde se muestran los operadores aritméticos sobre
variables de tipo int y double. Mostrar un ejemplo con el operador + y una o más
variables de tipo String.
4-Operador % y operador / mostrar en una metodo main ejemplos prácticos de
cuándo utilizarlo.

Profe: Deberá crear un método main por cada punto

¡HANDS ON!
ACTIVIDAD EN CLASE
¡Llevemos lo visto hasta el momento a la acción!
Les proponemos que puedan realizar la siguiente actividad.

Tiempo estimado 20 minutos


IMPORTANTE: Si los/as estudiantes no cuentan con los recursos para realizar la
actividad, el/la profe deberá compartir pantalla y realizar el ejercicio en vivo.

Prestamo

Pago de préstamo al banco con intereses


Tiempo estimado: 20 minutos

Usar para challenges genéricos.

Calcular el monto total del prestamo


Generar un programa que retorne por consola el monto total que se pagará al
banco.
El monto total es Capital Solicitado + intereses a pagar.
La fórmula para calcular "cuánto interés se pagará" por un préstamo pedido al
banco es:
Interés a pagar = Capital solicitado x Interés x periodo en meses.
El objetivo es que los alumnos realicen su primer programa Java, entender el uso
de variables, aprender a ver problemas de compilación y el uso de la consola.
El desafío tiene un tiempo estimado de 20 minutos

Usar para las subsiguientes slides de challenges genéricos.

Préstamo
Formato: Se debe entregar un archivo en formato .java.
Sugerencia: Se recomienda comentar el código para explicar qué hace cada
parte del código. Cómo en la diapositiva de Operadores Relacionales

>> Consigna: Generar un programa que retorne por consola el monto total que se
pagará al banco.
El monto total es Capital Solicitado + intereses a pagar.
La fórmula para calcular "cuánto interés se pagará" por un préstamo pedido al
banco es:
Interés a pagar = Capital solicitado x Interés x periodo en meses.
>>Objetivos de la actividad:
Se espera que los cálculos se desarrollen en métodos separados
Una buena elección de tipo de variable para el monto
Código bien documentado
>>Tiempo estimado: 20 minutos

>>Ejemplo:
Desarrollo de un desafío genérico

ACTIVIDAD EN CLASE
Puesta en común del ejercicio

Manejo de tipo de datos float


Separación parte entera de decimal
1

Manejo número flotante


Formato: Se debe entregar un archivo en formato .java.
El formato del nombre debe ser “NumeroFlotante+Apellido.java”
Sugerencia: Se recomienda comentar el código para explicar qué hace cada
parte del código. Cómo en la diapositiva de Operadores Relacionales

>> Consigna: Crear un método main que permita mostrar la parte entera y
separado la parte decimal de un tipo de dato float

>>Aspectos a incluir en el entregable:


Entregar la clase que ejecute sin errores y deje el resultado en consola

>>Ejemplo:
Desarrollo de un desafío entregable
¿PREGUNTAS?

¡MUCHAS GRACIAS!
Resumen de lo visto en clase hoy:
Variables: definición y uso
Sintaxis: convención de nombres
Tipos de variables
Buenas prácticas

¿QUIERES SABER MÁS? TE DEJAMOS MATERIAL AMPLIADO DE LA CLASE

Google Java Style Guide | google.github.io

Disponible en nuestro repositorio.

OPINA Y VALORA ESTA CLASE

#DEMOCRATIZANDOLAEDUCACIÓN

También podría gustarte