-
18/01/12
1
Sintaxis básica, variables y 7pos
Curso de Programación en Java
Jesús Montes Sánchez [email protected]
Contenidos
! Sintaxis básica
! Variables y 7pos
! Entrada/Salida básica
! Operadores y expresiones
Sintaxis básica, variables y 7pos
-‐ Jesús Montes Sánchez
([email protected])
Sintaxis básica
Estructura de un programa Java
! Un programa en Java es un
conjunto de archivos .java que
con7enen la implementación de una
o mas clases java
! El programa debe tener una
clase principal, que defina un
punto de entrada
! Cuando se ejecuta el programa,
la JVM ejecuta el punto de
entrada de la clase principal
Sintaxis básica, variables y 7pos
-‐ Jesús Montes Sánchez
([email protected])
Clase principal
! Se indica como parámetro cuando
se ejecuta la JVM
! Debe haber sido compilada y su
fichero .class debe exis7r dentro
del CLASSPATH
! Posee un punto de entrada !
Comienza con las palabras reservadas
public static void main (String[] args)
! Seguido de esto hay un bloque
{ } que con7ene el código
que se ejecuta al comenzar el
programa.
Sintaxis básica, variables y 7pos
-‐ Jesús Montes Sánchez
([email protected])
Programa de ejemplo
// Esto es un comentario de una linea /* Esto es un comentario
de multiples lineas */ // Clase holaMundo public class holaMundo {
/* El metodo main es el punto de comienzo del programa */ public
static void main(String[] args) { System.out.println("Hola mundo");
} }
Clase principal
Punto de entrada
Comentarios
Sintaxis básica, variables y 7pos
-‐ Jesús Montes Sánchez
([email protected])
-
18/01/12
2
Comentarios
! Sirven para explicar porciones del
código a nosotros mismos (para
el futuro) y a otros
! Muy ú7l en zonas complejas
! Tan importante como escribir buen
código
! Ignorado por el compilador
! De una línea: precedido por //
! Múl7ples líneas: entre /* y */
Sintaxis básica, variables y 7pos
-‐ Jesús Montes Sánchez
([email protected])
Bloques de código
! Zonas de texto entre { }
! Sucesión de sentencias
! Las sentencias terminan en ;
! Preferiblemente una sentencia por
línea
! Se pueden anidar bloques
{
sentencia1;
sentencia2;
{
// Comentario
sentencia3;
}
}
Sintaxis básica, variables y 7pos
-‐ Jesús Montes Sánchez
([email protected])
Otros elementos del lenguaje
! Palabras reservadas ! Palabras propias
del lenguaje Java ! Con significado
específico ! El resaltado de
sintaxis las iden7fica ! class,
public, void, int…
! Sensibilidad a mayúsculas y
minúsculas (case sensi4ve) ! Java
hace dis7nción entre mayúsculas y
minúsculas ! Importante tanto para
palabras reservadas como para
iden7ficadores
Sintaxis básica, variables y 7pos
-‐ Jesús Montes Sánchez
([email protected])
Variables y 7pos
Variables
! Representan can7dades, cualidades y/o
objetos del programa
! Es una región de memoria donde
se guarda un valor que
posteriormente será u7lizado por el
programa
! Antes de usarlas debemos declararlas
para que el compilador conozca:
! Su nombre ! Su ámbito de
vida ! Su visibilidad ! Su 7po
asociado
Sintaxis básica, variables y 7pos
-‐ Jesús Montes Sánchez
([email protected])
Tipo y valor
Sintaxis básica, variables y 7pos
-‐ Jesús Montes Sánchez
([email protected])
Tipo: Zapatos Valor: El par de
zapatos concreto
que contenga
Tipo: Líquido Valor: El líquido
concreto que
contenga
-
18/01/12
3
Declaración de variables
! Simple
tipo identificador;
! Múl7ple
tipo identificador1, identificador2;
! Con asignación
tipo identificador = valor;
Sintaxis básica, variables y 7pos
-‐ Jesús Montes Sánchez
([email protected])
Tipos básicos
! Booleano: verdadero, falso
! Carácter: a, A, z, Z,
1, 9, #, ?, …
! Número entero: -‐1, 33
! Número real: 3.14, 5E-‐10
Sintaxis básica, variables y 7pos
-‐ Jesús Montes Sánchez
([email protected])
Booleano
! Para representar valores lógicos:
cierto o falso
! Se u7liza para representar el
resultado de las operaciones lógicas
y de comparación
! Tipo boolean
! Valores true o false
Sintaxis básica, variables y 7pos
-‐ Jesús Montes Sánchez
([email protected])
Carácter
! Valores numéricos que se usan
para representar caracteres (letras,
números, símbolos) usando la tabla
ACII o La7n 1
! Tipo char
! Se expresan entre comillas simples:
‘a’, ‘4’, ‘#’
Sintaxis básica, variables y 7pos
-‐ Jesús Montes Sánchez
([email protected])
Número entero
! Para contar o numerar
! Diferentes bases de representación
Decimal (10): 0, -‐1, 65184
Octal (8): 00, -‐01,
0177240 Hexadecimal (16): 0x0,
-‐0x1, 0xFEA0
! Tres niveles de precisión: short,
int y long
Sintaxis básica, variables y 7pos
-‐ Jesús Montes Sánchez
([email protected])
Número real
! Números reales, posi7vos o nega7vos
y con o sin decimales
! Coma flotante ! Representación interna
dis7nta a la de los enteros
! Notación decimal o cienqfica
! Dos niveles de precisión: float
y double
Sintaxis básica, variables y 7pos
-‐ Jesús Montes Sánchez
([email protected])
-
18/01/12
4
Tipos básicos
Tipo Tamaño en bits Valores
boolean true o false
char 16 De \u0000 a \uFFFF
byte 8 De -‐128 a 127
short 16 Número entero de -‐32768
a 32767
int 32 Número entero de -‐231 a
231 -‐ 1
long 64 Número entero de -‐263 a
263 -‐ 1
float 32 Número real en coma
flotante
double 64 Numero real en coma
flotante
Sintaxis básica, variables y 7pos
-‐ Jesús Montes Sánchez
([email protected])
Declaraciones de ejemplo
int i;
float i, j, k;
char a = ‘x’, b = ‘4’, c = a;
boolean b = false;
double k = -0.25;
Sintaxis básica, variables y 7pos
-‐ Jesús Montes Sánchez
([email protected])
¿Son a y b iguales?
! Caso 1 int a = 1; char b = ‘1’;
! Caso 2 int a = 1; long b = 1;
! Caso 3 int a = 1; double b = 1.0;
Sintaxis básica, variables y 7pos
-‐ Jesús Montes Sánchez
([email protected])
Conversión de 7pos
! ¿Qué pasa cuando combinamos 7pos
diferentes? ! Tipos compa7bles: Aquellos
que almacenan información similar !
Tipos incompa7bles: Aquellos que almacenan
información
diferente
! 2 mecanismos ! Conversión automá7ca
! Conversión explícita
Sintaxis básica, variables y 7pos
-‐ Jesús Montes Sánchez
([email protected])
Conversión automá7ca
! La hace automá7camente el compilador
! Es segura
! Solo entre 7pos compa7bles
! Se realiza por promoción: de
un 7po “menor” a uno “mayor”
int a = 2;
float valor = a;
Sintaxis básica, variables y 7pos
-‐ Jesús Montes Sánchez
([email protected])
Conversión explícita
! Cas7ng: mecanismo para explicitar el
cambio de 7po de una expresión
o variable
! Le indicamos al compilador que
asumimos la responsabilidad
! Sintaxis:
(tipo nuevo) expresión
Sintaxis básica, variables y 7pos
-‐ Jesús Montes Sánchez
([email protected])
-
18/01/12
5
Conversión de 7pos
long a = 1; int b = a;
! Forma correcta: long a = 1; int b = (int)a;
Sintaxis básica, variables y 7pos
-‐ Jesús Montes Sánchez
([email protected])
Entrada/salida básica
Entrada/salida estándar
! Mecanismos sencillos para leer y
escribir información por la terminal
! La clase String: ! Representa una
cadena de caracteres ! Ser verá
en profundidad más adelante ! Se
pueden definir y usar variables
(objetos) de clase String:
String cadena = “mi cadena de texto”;
Sintaxis básica, variables y 7pos
-‐ Jesús Montes Sánchez
([email protected])
Salida de datos básica
! Para mostrar una línea de
texto por la terminal se usa:
System.out.print(expr)
System.out.println(expr)
! Donde expr es una expresión de
Java que queramos mostrar.
! Ejemplo: int a = 0;
String cadena = “Hola”;
System.out.println(a);
System.out.print(cadena);
Sintaxis básica, variables y 7pos
-‐ Jesús Montes Sánchez
([email protected])
Secuencias de escape
! Sirven para tener mayor control
sobre el formato de la salida
de los datos
! Secuencias especiales de caracteres
en las cadenas de texto
\n Salto de línea
\t Tabulador
\r retorno de carro
\\ Barra inver7da
\” Comillas dobles
Sintaxis básica, variables y 7pos
-‐ Jesús Montes Sánchez
([email protected])
Entrada de datos básica
! Clase de biblioteca java.u7l.Scanner
import java.util.Scanner; public class
EntradaInteractiva {
public static void main(String [] args) { /∗ stdIn es un
identificador, puede llamarse como queramos. Recordad llamarlo
igual después ∗/ Scanner stdIn = new Scanner(System.in);
System.out.print(”Escribe un número:”); int num =
stdIn.nextInt();
System.out.println(num);
} }
Sintaxis básica, variables y 7pos
-‐ Jesús Montes Sánchez
([email protected])
-
18/01/12
6
Entrada de datos básica
! Leyendo cadenas de caracteres con
java.u7l.Scanner import java.util.Scanner;
public class EntradaInteractiva {
public static void main(String [] args) {
Scanner stdIn = new Scanner(System.in); System.out.print(”Dime
tu nombre:”); String nombre = stdIn.next();
System.out.println(nombre);
} }
Sintaxis básica, variables y 7pos
-‐ Jesús Montes Sánchez
([email protected])
Operadores y expresiones
Operadores
! Permiten realizar operaciones sobre
las variables y su valor
! Operador de asignación = variable =
valor
! Asigna el valor a una variable
! Se puede usar en la
declaración de una variable
int a = 0, b;
b = 10;
a = b;
Sintaxis básica, variables y 7pos
-‐ Jesús Montes Sánchez
([email protected])
Operadores aritmé7cos
! Se usan para calcular operaciones
matemá7cas entre datos y variables
del mismo 7po
! El resultado se puede almacenar
en otra variable del mismo 7po
! Expresión: Uso conjunto de uno
o mas valores, variables y/o
operadores que se evalúa para
obtener su valor final
+
suma
-
resta
*
multiplicación
/
división
%
módulo (resto)
++
auto-incremento
(pre ó post)
--
auto-decremento
(pre ó post)
Sintaxis básica, variables y 7pos
-‐ Jesús Montes Sánchez
([email protected])
Expresiones aritmé7cas
! int a = 5 - (2 * 2);
! a++;
/* a = a + 1 */
! a=3; b=a++;
/* a=4
b=3 */
! a=3; b=++a;
/* a=4
b=4 */
! a=3; b=a--;
/* a=2
b=3 */
! f=4/3;
/* == 1 Div. entera */
! b=4%3;
/* == 1 == (4 – (4/3)*3) */
! f=4.0/3;
/* == 1.333 Div. real */
! f=(float)4/3;
/* == 1.333 Div. real */
Sintaxis básica, variables y 7pos
-‐ Jesús Montes Sánchez
([email protected])
Auto-‐incremento y auto-‐decremento
! Son operadores unarios (se aplican
sobre una única variable)
! Suman o restan 1 al valor
de la variable
! Los ‘pre’ se aplican antes de
evaluar la expresión y los
‘post’ después
int a = 0; a++; // Ahora a vale 1 a--; // Ahora a vale 0 int b =
(2*a++) // b vale 0 y a 1 int c = 2*(++a) // c vale 4 y a 2
Sintaxis básica, variables y 7pos
-‐ Jesús Montes Sánchez
([email protected])
-
18/01/12
7
Precedencia de operador
! Tiene preferencia *, /, %
frente a +, -‐
! Se evalúa de izquierda a
derecha
! Se pueden usar paréntesis
num = 2 * 10 + 5; // num = 25 num = 2 * (10 + 5); // num = 30
Sintaxis básica, variables y 7pos
-‐ Jesús Montes Sánchez
([email protected])
Asignación combinada
! Se combina un operador aritmé7co
binario con una asignación
variable op= expresión; // op es +,-,*,/,%
! Equivale a
variable = variable op expresión;
! Ejemplos int a = 10; a += 10; // a = a + 10 a /= 5;
// a = a / 5 a %= 6; // a = a % 6
Sintaxis básica, variables y 7pos
-‐ Jesús Montes Sánchez
([email protected])
Operadores de comparación
! Se usan para comparar datos y
variables de 7pos compa7bles
! Producen expresiones de 7po
boolean
== igual
!= dis7nto
> Mayor
< menor
>= mayor o igual
b); // d es false e = (b
-
18/01/12
8
Operador condicional
! A ? B : C
! Si (A) entonces vale B, si
no vale C
int a = 10; int b = 20, c; char d;
c = a > b ? 5 : 6;
d = c < a ? ‘X’ : ‘Y’;
Sintaxis básica, variables y 7pos
-‐ Jesús Montes Sánchez
([email protected])