2.1. sintaxis básica - upm18/01/12 1 sintaxis&básica,&variables&y& pos...
Post on 16-Feb-2021
13 Views
Preview:
TRANSCRIPT
-
18/01/12
1
Sintaxis básica, variables y 7pos
Curso de Programación en Java
Jesús Montes Sánchez jmontes@fi.upm.es
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 (jmontes@fi.upm.es)
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 (jmontes@fi.upm.es)
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 (jmontes@fi.upm.es)
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 (jmontes@fi.upm.es)
-
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 (jmontes@fi.upm.es)
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 (jmontes@fi.upm.es)
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 (jmontes@fi.upm.es)
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 (jmontes@fi.upm.es)
Tipo y valor
Sintaxis básica, variables y 7pos -‐ Jesús Montes Sánchez (jmontes@fi.upm.es)
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 (jmontes@fi.upm.es)
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 (jmontes@fi.upm.es)
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 (jmontes@fi.upm.es)
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 (jmontes@fi.upm.es)
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 (jmontes@fi.upm.es)
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 (jmontes@fi.upm.es)
-
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 (jmontes@fi.upm.es)
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 (jmontes@fi.upm.es)
¿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 (jmontes@fi.upm.es)
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 (jmontes@fi.upm.es)
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 (jmontes@fi.upm.es)
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 (jmontes@fi.upm.es)
-
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 (jmontes@fi.upm.es)
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 (jmontes@fi.upm.es)
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 (jmontes@fi.upm.es)
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 (jmontes@fi.upm.es)
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 (jmontes@fi.upm.es)
-
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 (jmontes@fi.upm.es)
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 (jmontes@fi.upm.es)
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 (jmontes@fi.upm.es)
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 (jmontes@fi.upm.es)
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 (jmontes@fi.upm.es)
-
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 (jmontes@fi.upm.es)
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 (jmontes@fi.upm.es)
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 (jmontes@fi.upm.es)
top related