SlideShare una empresa de Scribd logo
Lenguaje de programación
JAVA - Conceptos
FERNANDO SOLIS
Variables
 Sirven para referirse tanto a objetos como a tipos primitivos.
 Tienen que declararse antes de usarse:
tipo identificador;
int posicion;
 Se puede inicializar mediante una asignación:
tipo identificador = valor;
int posicion = 0;
 Definición de constantes:
static final float PI = 3.14159f;
El lenguaje de programación Java
2
Tipos primitivos de datos en JAVA
 enteros: int, long, short, byte
Const. 1, -1, 1024, 1L
 reales: float, double
Const. 1.0, -3.14159, 1.5e4, 1.0f
 caracter: char
Const. ‘a’, ‘X’, ‘@’
 lógico: boolean
Const. true, false
Constantes de String: “Hola“,“12 de Abril“
3
Operadores
El lenguaje de programación Java
4
Operadores Asociatividad Tipo
() izquierda a derecha paréntesis
++ -- + - ! derecha a izquierda unarios
* / % izquierda a derecha multiplicativos
+ - izquierda a derecha aditivos
< <= > >= izquierda a derecha relacionales
== != izquierda a derecha de igualdad
& izquierda a derecha AND lógico booleano
^ izquierda a derecha OR exclusivo lógico booleano
| izquierda a derecha OR inclusivo lógico booleano
&& izquierda a derecha AND lógico
| | izquierda a derecha OR lógico
?: derecha a izquierda condicional
expresion ? sentencia1 : sentencia2
= += -= *= /= %= derecha a izquierda asignación ej. x += y  x = x + y;
• En orden de precedencia:
Expresiones y asignación
 Aritmeticas: suma + 20 * c / (mod % 3)
 Relacionales: a > b, b >= c, c != 4, a == 0
 De String: “hola “+ nombre + “ hoy es “+
dia + “de”+mes
 Casts: (int) pi (pi = 3.1) (int) (Math.random()*100)+1)
 Otros: a == 1 ? a+1 : a-1
 Asignacion: a = 1;
 Asignación como operador: a = b = c = d = 0;
boolean cero = ( b = c - 10) == 0;
5
Declaraciones
int i;
int i = 1;
double pi = 3.14159;
char c = ‘a’;
boolean estamos_bien = true;
Las declaraciones de variables pueden ir en cualquier parte del programa pero
siempre antes de que la variable sea usada.Hay que tener cuidado con el
rango de validez (scope) de la declaración
6
Ejemplos
 int i = 1;
 long l = i; //ok
 l = 1000000000000;
 float f = l; //ok
 double d= 1.0e24; int i = d; // Error
 float f = 1.0f; int i = f; //
Error
 short s = i; //Error
 double d = 1.0; int i = (int)d; //ok
 int i = 256;
 byte b = (byte)i; //ok pero b ==0;
7
Control de flujo
El lenguaje de programación Java
8
if( expresión-booleana )
{
sentencias;
}
[else {
sentencias;
}]
switch(expresión) {
case valor1:
sentencias;
break;
case valor2:
sentencias;
break;
[default:
sentencias;]
}
• Control de saltos:
Ejemplos
1) int saldo;
…
if (saldo<0)
System.out.println(“Cuenta en números rojos”);
2) int dia;
…
switch (dia){
case 1: System.out.println(“Lunes”); break;
case 2: System.out.println(“Martes”); break;
…
case 7: System.out.println(“Domingo”); break;
}
El lenguaje de programación Java
9
Bucles10
[inicialización;]
do {
sentencias;
[iteración;]
}while(expresión-booleana );
for( inicialización; exp-booleana; iteración ) {
sentencias;
}
[inicialización;]
while( expresión-booleana ) {
sentencias;
[iteración;]
}
Instrucciones de Control
 Instrucción condicional: if (cond) instr;
if(cond) instr; else instr;
 Ciclos: while (cond) instr;
 Ciclos: do instr; while (cond);
 Ciclos for (instr1; i<10; instr2)
instr;
 Selección switch/case
 Agrupación de instrucciones bajo un if, else, while, for, etc. se realiza con
paréntesis crespo { }
11
Un primer programa en JAVA
public class Hello {
public static void main(String args[ ]) {
System.out.println(“Hola Mundo“);
}
}
 Todo programa es escrito como el método estático llamado main en una clase
cualquiera
 Este método se empieza a ejecutar cuando se invoca el intérprete de java para una
clase dada
 args es un arreglo de Strings que contiene los parámetros
 con los que fué invocado el programa.
12
Conversiones de tipo
 Java no reclama si un tipo de menor rango se convierte as uno de
mayor rango.
byte < short < int < long < float < double
13
Tipo Bits Rango
int 32 -2**31 .. 2**31-1
short 16 -2**15 .. 2**15-1
byte 8 -2**7 .. 2**7-1
long 64 -2**63 .. 2**63-1
float 32 -10**32 .. 10**32
double 64 -10**300 .. 10**300
Programa Ejemplo
public class MCD {
//calculo del maximo comun divisor entre 15 y
24
public static void main(String args[ ]) {
int x = 15, y = 24;
while (x != y) {
if (x < y)
y = y - x;
else
x = x - y;
}
System.out.println(“el MCD entre 15 y 24
es “ + x);
}
}
14
15
Los argumentos de un programa
 Si se invoca al programa P1 de ka siguiente manera: java P1
estos son parametros entonces en el programa se tendrá
args[0] = “estos”, args[1] = “son”, args[2] = “parametros”.
 Se reciben como un arreglo de strings en la variable declarada
como parámetro del programa String args[]
public class Parametros {
public static void main(String args[]) {
for(int i=0; i < args.length; i++)
System.out.pritnln(args[i]);
}
}
16
Exceptions
 Una Exeption es un evento que rompe la ejecución normal de un
programa (debido a un error). Cuando ocurre un evento como este un
objeto de la clase Exception es generado o “lanzado” (throw).
 Existen varios tipos de clases derivadas Exception dependiendo de que
fue lo que originó el evento: IOException, IndexOutOfBoundsException,
UnknownHostException, etc.
 Cuando esto sucede, el intérprete de JAVA busca un exception handler
adecuado para esta exception, que ejecuta un pedazo de código
(programado por el usuario) que debería reaccionar en forma adecuada
a esta falla del programa. Esto se llama “atrapar una exception” (catch).
 Cuando no se ha escrito ningún ningún handler que atrape esta
exception, el programa se detiene (se cae). La razón para introducir
exceptions es que la programación para reaccionar ante fallas se hace
más fácil (no hay que preverlas todas).
17
Cómo programar Exception Handlers ?
Forma general: en un bloque try-catch
try {
lista de instrucciones que pueden generar un error
}
catch (ExceptionTipo1 e) {
lista de instrucciones para enmendar el error de Tipo1
{
catch (ExceptionTipo2 e) {
lista de instrucciones para enmendar el error de Tipo1
}
catch (ExceptionTipo3 e) {
lista de instrucciones para enmendar el error de Tipo1
}
 Si no se conoce o no importa el tipo de exception
 específico se puede poner Exception y se atrapan todos
 (basta un solo bloque cach). Si hay más de un bloque se
 ejecuta sólo un bloque catch según el tipo de error.
18
Ejemplo de Exception I/O
 Muchas veces el compilador OBLIGA a programar el código de modo
 de atrapar exceptions cuando estas pueden suceder con cierta probabilidad.
 Las más frecuentes son las de IO.
import java.io.*; //importa clases de la biblioteca IO
public class ProgrmaÍO{
public static void main(String args[]) {
BufferedReader in; PrintWriter out; String line;
try { in = new BufferedReader(new FileReader(“Origen.txt”))};
catch (IOException e) {
System.out.println(“error en apertura”); System.exit(1);}
try { out = new PrintWriter( new FileWriter(“Destino.txt”))};
catch (IOException e) {
System.out.println(“error en creacion”); System.exit(1);}
try {
while( (line = in.readLine()) != null)
out.println(line);
catch (IOException e) { System.out.println(“problemas”);}
}
}
19
Ejemplo de Exception I/O (2)
 Se puede omitir poner tantos try-catch si no importa donde sucedió
import java.io.*; //importa clases de la biblioteca IO
public class ProgrmaÍO2{
public static void main(String args[]) {
BufferedReader in; PrintWriter out; String line;
try {
in = new BufferedReader(
new InputStreamReader(System.in));
out = new PrintWriter( new FileWriter(“Destino.txt”));
System.out.println(“ingrese linea”);
while( (line = in.readLine()) != “”){
out.println(line);
System.out.println(“ingrese linea”);
}
catch (Exception e) { System.out.println(“problemas”);
}
}
}
20
Ejemplo de Exception I/O (3)
 También se puede evitar tener que preocuparse de las exceptions
 siempre y cuando el método que la pordría generar se declare
 como que “lanza” una excepción:
import java.io.*; //importa clases de la biblioteca IO
public class ProgrmaÍO3{
public static void main(String args[]) throws IOException{
BufferedReader in; PrintWriter out; String line;
in = new BufferedReader(new FileReader(“Origen.txt”));
out = new PrintWriter( new FileWriter(“Destino.txt”));
while( (line = in.readLine()) != null)
out.println(line);
}
}
 Esto implica que el programa se caerá si hay una excepción
 durante la generación del programa. En otros casos se
 puede declarar que uno o más métodos lanzan una
 IOException y el programa o método principal se preocupa
 de escribir el Exception handler.

Más contenido relacionado

DOCX
Mas sobre excepciones
jbersosa
 
DOCX
Las excepciones standar
jbersosa
 
PPT
Tema V: Funciones
rasave
 
DOCX
TEMA Nº 8: CONTROL DE EJECUCIÓN Y MANTENIMIENTO DE SESIÓN
Anyeni Garay
 
PPTX
Estructura de un programa
Felipe Romano
 
PPTX
La estructura basica_para_c_
GamePlayer35
 
PPT
Unidad 2
UTP, TA
 
PPTX
Instrucciones para c_
GamePlayer35
 
Mas sobre excepciones
jbersosa
 
Las excepciones standar
jbersosa
 
Tema V: Funciones
rasave
 
TEMA Nº 8: CONTROL DE EJECUCIÓN Y MANTENIMIENTO DE SESIÓN
Anyeni Garay
 
Estructura de un programa
Felipe Romano
 
La estructura basica_para_c_
GamePlayer35
 
Unidad 2
UTP, TA
 
Instrucciones para c_
GamePlayer35
 

La actualidad más candente (18)

PPT
Excepciones
Ronny Parra
 
PPTX
Comenzando a programar
Rubén Loredo
 
PPT
Operadores
Fernando Solis
 
DOCX
Comandos c#
Heidiie Hdz
 
PDF
Clase 5
diego MC
 
PDF
Lenguaje c ++ guía para programadores
Aldo Hernán Zanabria Gálvez
 
PDF
3...3 manejo de excepciones y la clase string
Jacqui Venegas
 
PPTX
Funciones
Fernando Solis
 
DOCX
Clase string y manejo de excepciones
AliciaSandovalCamacho
 
PPT
Estructuras de control
Fernando Solis
 
PPT
Clase lenguaje c
Mar15marian
 
PDF
Semana 3 Fundamentos de Python(Funciones y Métodos)
Richard Eliseo Mendoza Gafaro
 
PPSX
Lenguaje java5 (presentación2)
programadorjavablog
 
PPTX
Por que java
reivax
 
DOCX
FUNCIONES EN LENGUAJE C
flaquita_dany
 
PPT
Javadoc
Fernando Solis
 
DOCX
Apuntes1 elementos del lenguaje c
Zalimanunezc
 
DOCX
15. quispe coyla, juan
IESTPTECNOTRONIC
 
Excepciones
Ronny Parra
 
Comenzando a programar
Rubén Loredo
 
Operadores
Fernando Solis
 
Comandos c#
Heidiie Hdz
 
Clase 5
diego MC
 
Lenguaje c ++ guía para programadores
Aldo Hernán Zanabria Gálvez
 
3...3 manejo de excepciones y la clase string
Jacqui Venegas
 
Funciones
Fernando Solis
 
Clase string y manejo de excepciones
AliciaSandovalCamacho
 
Estructuras de control
Fernando Solis
 
Clase lenguaje c
Mar15marian
 
Semana 3 Fundamentos de Python(Funciones y Métodos)
Richard Eliseo Mendoza Gafaro
 
Lenguaje java5 (presentación2)
programadorjavablog
 
Por que java
reivax
 
FUNCIONES EN LENGUAJE C
flaquita_dany
 
Apuntes1 elementos del lenguaje c
Zalimanunezc
 
15. quispe coyla, juan
IESTPTECNOTRONIC
 
Publicidad

Similar a Lenguaje de programacion java, conceptos (20)

PPT
TUTORIAL JAVA
denis ticona condori
 
PPT
JAVA (1).PPT
DanielHidalgo92
 
PPT
JAVA.PPT
GalvanGR
 
PPT
JAVA (1).PPT
miguel checa
 
PPT
JAVA BASICO PARA PRINCIPIANTES ESPECIALMENTE
ismaeldiazmiranda
 
PPTX
Clase 1 y 2 teodoro wickel de la ciudad de angol
oscarpacheco589929
 
PPS
Clase n°2 3-4 java
jbersosa
 
PPT
Java
cursoticst
 
PDF
Programación java1
jbersosa
 
PDF
Java apesteguia
tonytenorio2
 
PDF
Java
cursoticst
 
PPTX
ENTORNO DE DESARROLLO, ESTRUTURA GENERAL DE UN PROGRAMA
mellcv
 
PPSX
Clase n°1 java
jbersosa
 
PPT
Java world
Christian Jonathan
 
PDF
Ejercicios de evaluación de fundametnos de programacion en JAva
Martha Beatriz Coronado Rosales
 
PPT
Scjp Jug Section 2 Flow Control
Jose Selman
 
PDF
Fund progbd 3_u1_lenguajeprogramacionjava1
armando_cardenas
 
PPTX
Unidad 2 Sintaxis en java
Cindy Adriana Bohórquez Santana
 
PDF
Sintaxisenjava
Victor Zapata
 
PDF
Presentacion sobre JAVA, elementos principales a comprender
Cristian Olivera
 
TUTORIAL JAVA
denis ticona condori
 
JAVA (1).PPT
DanielHidalgo92
 
JAVA.PPT
GalvanGR
 
JAVA (1).PPT
miguel checa
 
JAVA BASICO PARA PRINCIPIANTES ESPECIALMENTE
ismaeldiazmiranda
 
Clase 1 y 2 teodoro wickel de la ciudad de angol
oscarpacheco589929
 
Clase n°2 3-4 java
jbersosa
 
Programación java1
jbersosa
 
Java apesteguia
tonytenorio2
 
ENTORNO DE DESARROLLO, ESTRUTURA GENERAL DE UN PROGRAMA
mellcv
 
Clase n°1 java
jbersosa
 
Java world
Christian Jonathan
 
Ejercicios de evaluación de fundametnos de programacion en JAva
Martha Beatriz Coronado Rosales
 
Scjp Jug Section 2 Flow Control
Jose Selman
 
Fund progbd 3_u1_lenguajeprogramacionjava1
armando_cardenas
 
Unidad 2 Sintaxis en java
Cindy Adriana Bohórquez Santana
 
Sintaxisenjava
Victor Zapata
 
Presentacion sobre JAVA, elementos principales a comprender
Cristian Olivera
 
Publicidad

Más de mellcv (20)

PPT
INTERACCIÓN ENTRE CLASES, GENERALIZACIÓN
mellcv
 
PPTX
INTERACCIÓN ENTRE CLASES, HERENCIAS
mellcv
 
PPT
Asp .net
mellcv
 
PPTX
Asp
mellcv
 
PPTX
Eventos
mellcv
 
PPTX
ARREGLOS EN JAVA, VECTORES Y MATRICES
mellcv
 
PPTX
Arquitectura basada en componentes
mellcv
 
PPT
Poc 2
mellcv
 
PPTX
Desarrollo de software basado en componentes
mellcv
 
PPTX
Poc
mellcv
 
PPTX
Programacion orientada a componentes
mellcv
 
PPTX
PAQUETES EN JAVA
mellcv
 
PPT
EXCEPCIONES JAVA
mellcv
 
PPTX
Programacion orientada a objetos 2
mellcv
 
PPTX
Programacion orientada a objetos 1
mellcv
 
PPTX
MODIFICADORES Y METODOS DE ACCESO
mellcv
 
PPTX
INSTANCIAS Y CONSTRUCTORES EN JAVA
mellcv
 
PPT
Principios fundamentales de la programación orientado a objetos
mellcv
 
PPTX
Introduccion al lenguage java
mellcv
 
PPTX
Programar aplicaciones windows forms
mellcv
 
INTERACCIÓN ENTRE CLASES, GENERALIZACIÓN
mellcv
 
INTERACCIÓN ENTRE CLASES, HERENCIAS
mellcv
 
Asp .net
mellcv
 
Asp
mellcv
 
Eventos
mellcv
 
ARREGLOS EN JAVA, VECTORES Y MATRICES
mellcv
 
Arquitectura basada en componentes
mellcv
 
Poc 2
mellcv
 
Desarrollo de software basado en componentes
mellcv
 
Poc
mellcv
 
Programacion orientada a componentes
mellcv
 
PAQUETES EN JAVA
mellcv
 
EXCEPCIONES JAVA
mellcv
 
Programacion orientada a objetos 2
mellcv
 
Programacion orientada a objetos 1
mellcv
 
MODIFICADORES Y METODOS DE ACCESO
mellcv
 
INSTANCIAS Y CONSTRUCTORES EN JAVA
mellcv
 
Principios fundamentales de la programación orientado a objetos
mellcv
 
Introduccion al lenguage java
mellcv
 
Programar aplicaciones windows forms
mellcv
 

Último (20)

PDF
Trabajo grupal segundo periodo Tecnología .pdf
edepemanuelflechas
 
PDF
Distribución de Frecuencias Excel Eleazar Muñoz
Eleazar88
 
PDF
Bulon ([Principal]).pdf kjihlkgjkjgjgghjgj
AlejandroAlonsoPajaJ
 
PDF
Distribución de frecuencias y Diagrama de Pareto en Exce (2).pdf
samuelcuaran
 
PPTX
Ingeniería Genética y Obtención de Insulina por Escherichia.pptx
ElbaCristinaMendoza
 
PDF
Conceptos básicos de programación - Paula Obando
edeppaulaobando
 
PDF
Trabajo Tecnología #2 Periodo (2).pdfjdjfjf
ssuser57b6e41
 
PDF
Conceptos básicos de programación trabajo grupal
darcyrobayo2007
 
PPTX
JuarezGonzalez_Maria_M1S3AI6.docs https://docs.google.com/presentation/d/1-
susana0271
 
PDF
actividad tecnologia (1).pdflksjksIUQWDIUWEGDHI
anavallejo2323
 
PDF
Conceptos Básicos de programación- Paula Obando
edeppaulaobando
 
PDF
actividad tecnologia periodo 1 2025 (1).pdf
jjfch3110
 
PDF
DIAGRAMA DE PARETO M. Camila Duque Loaiz
MariacamilaDuqueloai
 
PDF
Distribución de frecuencias y diagrama de pareto en Excel
Eleazar88
 
PDF
Excel Avanzado ..........................
Alejo857214
 
PDF
Estructuras básicas Conceptos básicos de programación.pdf
sdbdsamuel
 
PDF
Trabajo Tecnología Diagrama De Pareto.pdf
srsantiagof09
 
PDF
Tecnología. Programación pseint 10-7 Sol Riaño Támara
edepsolriano
 
PDF
Problema de pareto resuelto iandanielpdf
IanDanielGiraldoRami
 
PDF
DIAGRAMA DE PARETO M Camila Duque Loaiza
MariacamilaDuqueloai
 
Trabajo grupal segundo periodo Tecnología .pdf
edepemanuelflechas
 
Distribución de Frecuencias Excel Eleazar Muñoz
Eleazar88
 
Bulon ([Principal]).pdf kjihlkgjkjgjgghjgj
AlejandroAlonsoPajaJ
 
Distribución de frecuencias y Diagrama de Pareto en Exce (2).pdf
samuelcuaran
 
Ingeniería Genética y Obtención de Insulina por Escherichia.pptx
ElbaCristinaMendoza
 
Conceptos básicos de programación - Paula Obando
edeppaulaobando
 
Trabajo Tecnología #2 Periodo (2).pdfjdjfjf
ssuser57b6e41
 
Conceptos básicos de programación trabajo grupal
darcyrobayo2007
 
JuarezGonzalez_Maria_M1S3AI6.docs https://docs.google.com/presentation/d/1-
susana0271
 
actividad tecnologia (1).pdflksjksIUQWDIUWEGDHI
anavallejo2323
 
Conceptos Básicos de programación- Paula Obando
edeppaulaobando
 
actividad tecnologia periodo 1 2025 (1).pdf
jjfch3110
 
DIAGRAMA DE PARETO M. Camila Duque Loaiz
MariacamilaDuqueloai
 
Distribución de frecuencias y diagrama de pareto en Excel
Eleazar88
 
Excel Avanzado ..........................
Alejo857214
 
Estructuras básicas Conceptos básicos de programación.pdf
sdbdsamuel
 
Trabajo Tecnología Diagrama De Pareto.pdf
srsantiagof09
 
Tecnología. Programación pseint 10-7 Sol Riaño Támara
edepsolriano
 
Problema de pareto resuelto iandanielpdf
IanDanielGiraldoRami
 
DIAGRAMA DE PARETO M Camila Duque Loaiza
MariacamilaDuqueloai
 

Lenguaje de programacion java, conceptos

  • 1. Lenguaje de programación JAVA - Conceptos FERNANDO SOLIS
  • 2. Variables  Sirven para referirse tanto a objetos como a tipos primitivos.  Tienen que declararse antes de usarse: tipo identificador; int posicion;  Se puede inicializar mediante una asignación: tipo identificador = valor; int posicion = 0;  Definición de constantes: static final float PI = 3.14159f; El lenguaje de programación Java 2
  • 3. Tipos primitivos de datos en JAVA  enteros: int, long, short, byte Const. 1, -1, 1024, 1L  reales: float, double Const. 1.0, -3.14159, 1.5e4, 1.0f  caracter: char Const. ‘a’, ‘X’, ‘@’  lógico: boolean Const. true, false Constantes de String: “Hola“,“12 de Abril“ 3
  • 4. Operadores El lenguaje de programación Java 4 Operadores Asociatividad Tipo () izquierda a derecha paréntesis ++ -- + - ! derecha a izquierda unarios * / % izquierda a derecha multiplicativos + - izquierda a derecha aditivos < <= > >= izquierda a derecha relacionales == != izquierda a derecha de igualdad & izquierda a derecha AND lógico booleano ^ izquierda a derecha OR exclusivo lógico booleano | izquierda a derecha OR inclusivo lógico booleano && izquierda a derecha AND lógico | | izquierda a derecha OR lógico ?: derecha a izquierda condicional expresion ? sentencia1 : sentencia2 = += -= *= /= %= derecha a izquierda asignación ej. x += y  x = x + y; • En orden de precedencia:
  • 5. Expresiones y asignación  Aritmeticas: suma + 20 * c / (mod % 3)  Relacionales: a > b, b >= c, c != 4, a == 0  De String: “hola “+ nombre + “ hoy es “+ dia + “de”+mes  Casts: (int) pi (pi = 3.1) (int) (Math.random()*100)+1)  Otros: a == 1 ? a+1 : a-1  Asignacion: a = 1;  Asignación como operador: a = b = c = d = 0; boolean cero = ( b = c - 10) == 0; 5
  • 6. Declaraciones int i; int i = 1; double pi = 3.14159; char c = ‘a’; boolean estamos_bien = true; Las declaraciones de variables pueden ir en cualquier parte del programa pero siempre antes de que la variable sea usada.Hay que tener cuidado con el rango de validez (scope) de la declaración 6
  • 7. Ejemplos  int i = 1;  long l = i; //ok  l = 1000000000000;  float f = l; //ok  double d= 1.0e24; int i = d; // Error  float f = 1.0f; int i = f; // Error  short s = i; //Error  double d = 1.0; int i = (int)d; //ok  int i = 256;  byte b = (byte)i; //ok pero b ==0; 7
  • 8. Control de flujo El lenguaje de programación Java 8 if( expresión-booleana ) { sentencias; } [else { sentencias; }] switch(expresión) { case valor1: sentencias; break; case valor2: sentencias; break; [default: sentencias;] } • Control de saltos:
  • 9. Ejemplos 1) int saldo; … if (saldo<0) System.out.println(“Cuenta en números rojos”); 2) int dia; … switch (dia){ case 1: System.out.println(“Lunes”); break; case 2: System.out.println(“Martes”); break; … case 7: System.out.println(“Domingo”); break; } El lenguaje de programación Java 9
  • 10. Bucles10 [inicialización;] do { sentencias; [iteración;] }while(expresión-booleana ); for( inicialización; exp-booleana; iteración ) { sentencias; } [inicialización;] while( expresión-booleana ) { sentencias; [iteración;] }
  • 11. Instrucciones de Control  Instrucción condicional: if (cond) instr; if(cond) instr; else instr;  Ciclos: while (cond) instr;  Ciclos: do instr; while (cond);  Ciclos for (instr1; i<10; instr2) instr;  Selección switch/case  Agrupación de instrucciones bajo un if, else, while, for, etc. se realiza con paréntesis crespo { } 11
  • 12. Un primer programa en JAVA public class Hello { public static void main(String args[ ]) { System.out.println(“Hola Mundo“); } }  Todo programa es escrito como el método estático llamado main en una clase cualquiera  Este método se empieza a ejecutar cuando se invoca el intérprete de java para una clase dada  args es un arreglo de Strings que contiene los parámetros  con los que fué invocado el programa. 12
  • 13. Conversiones de tipo  Java no reclama si un tipo de menor rango se convierte as uno de mayor rango. byte < short < int < long < float < double 13 Tipo Bits Rango int 32 -2**31 .. 2**31-1 short 16 -2**15 .. 2**15-1 byte 8 -2**7 .. 2**7-1 long 64 -2**63 .. 2**63-1 float 32 -10**32 .. 10**32 double 64 -10**300 .. 10**300
  • 14. Programa Ejemplo public class MCD { //calculo del maximo comun divisor entre 15 y 24 public static void main(String args[ ]) { int x = 15, y = 24; while (x != y) { if (x < y) y = y - x; else x = x - y; } System.out.println(“el MCD entre 15 y 24 es “ + x); } } 14
  • 15. 15 Los argumentos de un programa  Si se invoca al programa P1 de ka siguiente manera: java P1 estos son parametros entonces en el programa se tendrá args[0] = “estos”, args[1] = “son”, args[2] = “parametros”.  Se reciben como un arreglo de strings en la variable declarada como parámetro del programa String args[] public class Parametros { public static void main(String args[]) { for(int i=0; i < args.length; i++) System.out.pritnln(args[i]); } }
  • 16. 16 Exceptions  Una Exeption es un evento que rompe la ejecución normal de un programa (debido a un error). Cuando ocurre un evento como este un objeto de la clase Exception es generado o “lanzado” (throw).  Existen varios tipos de clases derivadas Exception dependiendo de que fue lo que originó el evento: IOException, IndexOutOfBoundsException, UnknownHostException, etc.  Cuando esto sucede, el intérprete de JAVA busca un exception handler adecuado para esta exception, que ejecuta un pedazo de código (programado por el usuario) que debería reaccionar en forma adecuada a esta falla del programa. Esto se llama “atrapar una exception” (catch).  Cuando no se ha escrito ningún ningún handler que atrape esta exception, el programa se detiene (se cae). La razón para introducir exceptions es que la programación para reaccionar ante fallas se hace más fácil (no hay que preverlas todas).
  • 17. 17 Cómo programar Exception Handlers ? Forma general: en un bloque try-catch try { lista de instrucciones que pueden generar un error } catch (ExceptionTipo1 e) { lista de instrucciones para enmendar el error de Tipo1 { catch (ExceptionTipo2 e) { lista de instrucciones para enmendar el error de Tipo1 } catch (ExceptionTipo3 e) { lista de instrucciones para enmendar el error de Tipo1 }  Si no se conoce o no importa el tipo de exception  específico se puede poner Exception y se atrapan todos  (basta un solo bloque cach). Si hay más de un bloque se  ejecuta sólo un bloque catch según el tipo de error.
  • 18. 18 Ejemplo de Exception I/O  Muchas veces el compilador OBLIGA a programar el código de modo  de atrapar exceptions cuando estas pueden suceder con cierta probabilidad.  Las más frecuentes son las de IO. import java.io.*; //importa clases de la biblioteca IO public class ProgrmaÍO{ public static void main(String args[]) { BufferedReader in; PrintWriter out; String line; try { in = new BufferedReader(new FileReader(“Origen.txt”))}; catch (IOException e) { System.out.println(“error en apertura”); System.exit(1);} try { out = new PrintWriter( new FileWriter(“Destino.txt”))}; catch (IOException e) { System.out.println(“error en creacion”); System.exit(1);} try { while( (line = in.readLine()) != null) out.println(line); catch (IOException e) { System.out.println(“problemas”);} } }
  • 19. 19 Ejemplo de Exception I/O (2)  Se puede omitir poner tantos try-catch si no importa donde sucedió import java.io.*; //importa clases de la biblioteca IO public class ProgrmaÍO2{ public static void main(String args[]) { BufferedReader in; PrintWriter out; String line; try { in = new BufferedReader( new InputStreamReader(System.in)); out = new PrintWriter( new FileWriter(“Destino.txt”)); System.out.println(“ingrese linea”); while( (line = in.readLine()) != “”){ out.println(line); System.out.println(“ingrese linea”); } catch (Exception e) { System.out.println(“problemas”); } } }
  • 20. 20 Ejemplo de Exception I/O (3)  También se puede evitar tener que preocuparse de las exceptions  siempre y cuando el método que la pordría generar se declare  como que “lanza” una excepción: import java.io.*; //importa clases de la biblioteca IO public class ProgrmaÍO3{ public static void main(String args[]) throws IOException{ BufferedReader in; PrintWriter out; String line; in = new BufferedReader(new FileReader(“Origen.txt”)); out = new PrintWriter( new FileWriter(“Destino.txt”)); while( (line = in.readLine()) != null) out.println(line); } }  Esto implica que el programa se caerá si hay una excepción  durante la generación del programa. En otros casos se  puede declarar que uno o más métodos lanzan una  IOException y el programa o método principal se preocupa  de escribir el Exception handler.