Sei sulla pagina 1di 10

ICI341 Principios de Lenguajes de

Programacin

Java: Introduccin y una Aplicacin Simple Seccin 1

Claudio Cubillos
Generalidades de Java
Material original del Prof. Franco Guidi Polanco
Escuela de Ingeniera Industrial-PUCV

Qu es JAVA? Para qu sirve JAVA?

Java es: Java permite:


 un lenguaje de programacin orientado a objetos;  Construir aplicaciones: programas computacionales
y que apoyan el trabajo o resuelven problemas
 una plataforma de ejecucin para programas especficos de usuarios (funcionan stand-alone).
escritos en lenguaje Java
 Construir applets: programas de menor envergadura
Java fue desarrollado por un equipo de que se ejecutan al momento de cargar una pgina
WEB (son ejecutados por un browser).
investigadores de SUN Microsystems.
Ejemplo de applet:
http://java.sun.com/applets/jdk/1.4/demo/applets/DrawTest/example1.html

3 4
Desarrollo y ejecucin de aplicaciones en otros
Desarrollo y ejecucin de aplicaciones en JAVA
lenguajes

Compilador 111000 1 Compilador Intrprete


1110001000111111111
para 00011101111011010 Java Java
Windows Windows Windows
111000 1
1110001000111111111
00011101111011010

public class
Program Hola; Hola { Intrprete
0000110101100 00111 111100001
Compilador public static Compilador
begin 00011100010001000 1110000 Java
i :=1; para 0001110 ... Java 000011110
i=1; Linux
writeln( i ) Linux Linux 0001111
end. System.out.. 0000110101100 00111
00011100010001000
}
}
Bytecode 0001110

Cdigo fuente
Cdigo fuente
11100000101100 00111 Compilador Intrprete
Compilador 00000101000 Java
para 0001111110111111010 Java
Solaris Solaris
Solaris
11100000101100 00111
00000101000
Cdigo objeto 0001111110111111010

5 6

Intrprete Java: Java Virtual Machine (JVM) Componentes de Java

Java se compone de:


101001010
Bytecode  Compilador (Java-compiler)
001001001
 Intrprete (Java)
 Biblioteca de clases (Java API o Application
Programmer Interface)
JVM Windows JVM Linux JVM Solaris
 Utilitarios de desarrollo (para debug, documentacin,
etc.)
101011 001010 111111
1 11 1011 1 1101
1 011 1001
0 1 1
Lo anterior se encuentra en el SDK (Software
Development Kit) distribuido por SUN-
Microsystems

7 8
Java en distintos tamaos

Seccin 2

J2ME: Java 2
Micro Edition Elementos de una aplicacin simple en
J2SE: Java 2 Java
Standard Edition

J2EE: Java 2
Enterprise Edition
9

Cmo es una aplicacin en Java? Desarrollo y ejecucin e aplicacin en Java


public class Saluda{
public static void main (String[] arg) {
El programa Hola Mundo: Cdigo System.out.println( hello world ); Saluda.java
fuente }
public class Saluda{ }
Cdigo fuente
public static void main (String[] arg) {
System.out.println( hello world ); Compilador Java
}
}
Bytecode 101001010 Saluda.class
001001001
Compilacin c:\>javac Saluda.java

c:\> JVM Windows JVM Linux JVM Solaris


101011 001010 111111
Ejecucin c:\>java Saluda 1 11 1011 1 1101
1 011 1001
hello world 0 hello 1 hello 1 hello
world world world
c:\>

11 12
Tipos de datos en Java Tipos de datos primitivos

Los tipos de datos utilizados por programas en Java soporta los siguientes tipos de datos
Java se clasifican en dos categoras: primitivos:

 Primitivos: sirven para definir variables que guardan  Entero


valores numricos, lgicos y caracteres unitarios.  Punto flotante
 Lgico
 Clases e interfaces: sirven para definir variables que
almacenan tipos de datos estructurados y las funciones  Caracter
asociadas.

13 14

Tipos de datos primitivos (cont.) Tipos de datos primitivos (cont.)

Familia de datos enteros: byte, short, int y long. Familia de datos punto flotante: float y double.

Tipo Almacena Rango Tipo Almacena Rango


byte Entero de 8 bit -128 hasta 127 float Punto flotante 32 bit 7 dgitos significativos (10-46, 1038)
short Entero de 16 bit -32.768 hasta 32.767 double Punto flotante 64 bit 15 dgitos significativos (10-324, 10308)
int Entero de 32 bit -2.147.483.648 hasta 2.147.483.647
-9.223.372.036.854.755.808 hasta
long Entero de 64 bit
9.223.372.036.854.755.807

15 16
Tipos de datos primitivos (cont.) Tipo de dato String

Tipo caracter: char. El String es un tipo de dato que permite trabajar
con cadenas de caracteres, por ejemplo:
Tipo Almacena Rango
Hola mundo, Mario Mora, 12/10/99, A, .
char Carcter Unicode

Es una clase, no un tipo primitivo, pero se utiliza


Tipo lgico: boolean. en forma muy similar a estos ltimos.
Tipo Almacena Rango
boolean Lgico false y true

17 18

Operadores bsicos para tipos primitivos Operadores bsicos para tipos primitivos (cont.)

Operador de asignacin: Operadores relacionales:


= == (igual a)
!= (distinto de)
Operadores numricos: < (menor que), <= (menor o igual que),
> (mayor que), >= (mayor o igual que).
 Binarios:
+ (suma), - (resta), * (multiplicacin), / (divisin),
% (mdulo o resto de la divisin entera) Operadores lgicos:
&& (AND)
 Unarios: || (OR)
++ (autoincremento), -- (autodecremento) ! (NOT)

19 20
Estructuras de control Estructuras de control (cont.)

Decisin Iteracin
 Simple:  Compleja:  Mientras - repetir:  Hacer - mientras:
do
while ( condicin )
if ( condicin ) if ( condicin ) { instruccin
instruccin
instruccin instruccin 1-1 while ( condicin )
instruccin 1-2
... }
if ( condicin ) while ( condicin ) { do {
else {
instruccin 1 instruccin 1 instruccin 1
instruccin 2-1
else instruccin 2 instruccin 2
instruccin 2-2
... ...
instruccin 2 ... }
} } while ( condicin )

21 22

Comentarios y documentacin Identificadores

 Se pueden incluir comentarios en el cdigo usando JAVA es sensible a maysculas y minsculas.


los siguientes marcadores: Es decir, JAVA considera distinto Nombre y nombre
// comentario hasta fin de lnea
/* comentario Un identificador vlido consiste en una combinacin
de mltiples lneas
de de letras, dgitos y el carcter underscore. No
*/
/** comentario de documentacin
puede comenzar por un dgito.
@author
@exception Ejemplo:
@see - Vlidos: edad, nota_Alumno, _peso, estadoSalud
@param
- No vlidos: 1ero, km/hora, Alumno(s), peso total
@return
@version
*/
23 24
Declaracin de variables Algunos mtodos (funciones) de utilidad

 Una variable se declara segn el formato: Despliegue de datos (escribir):


tipo identificador [=valor] [, identificador [ = valor ] ] System.out.print()
Por ejemplo: int a, b, c System.out.println()
double peso = 7.05
char letra = T Por ejemplo:
System.out.println( Hola )
byte edad = 20, veces = 3
System.out.println( Hola + nombre )

 Convencin: el identificador de una variable de tipo


primitivo comenzar en minsculas.
Por ejemplo: edad, edadAlumno, estadoCivil, esElUltimo

25 26

Algunos mtodos (funciones) de utilidad (cont.) Estructura de una aplicacin simple

Convertir de String a nmero :


Byte.parseByte() /** Definicin
Short.parseShort() Ejemplo de una aplicacin de la
Integer.parseInt() */ aplicacin (clase)
Float.parseFloat() public class IdentificadorClase {
Double.parseDouble() public static void main (String[ ] idArreglo ) {

Por ejemplo: ...


x = Integer.parseInt( 50 )
y = Integer.parseInt( dato ) + 40 } // Fin mtodo main
} // Fin clase

Mtodo main

27 28
Ejemplo: programa no interactivo Estructura de la aplicacin

/** /**
Programa ejemplo para clculo del Factorial de un nmero especfico. Programa ejemplo para clculo del Factorial de un nmero especfico.
@author Franco Guidi @author Franco Guidi Clase
*/ */
public class Factorial1 {
Identificador public class Factorial1 {
public static void main( String arg[] ) {de la clase (programa)
public static void main( String arg[] ) {
int nmero, i=1, fact=1;
nmero = 3; int nmero, i=1, fact=1;
while( i <= nmero ) { Identificadores nmero = 3;
fact = fact * i; Mtodo main de variables while( i <= nmero ) {
i++; fact = fact * i;
} i++;
System.out.println( "El factorial de " + nmero + " es " + fact ); }
System.out.println( "El factorial de " + nmero + " es " + fact );
} // Fin mtodo main
} // Fin mtodo main
} // Fin clase
} // Fin clase Mtodo main
29 30

Valores literales Valores literales

/**
Son valores que aparecen explcitamente en Programa ejemplo para clculo del Factorial de un nmero especfico.
@author Franco Guidi
el cdigo fuente. Por ejemplo: */
literal
S : tipo char public class Factorial1 {

S, Juan, 100 : tipo String public static void main( String arg[] ) {
150 : tipo int
int nmero, i=1, fact=1;
150.0 : tipo double literal
nmero = 3;
150.0f : tipo float while( i <= nmero ) {
fact = fact * i; literal
0150: tipo int octal literal i++;
0x150: tipo int hexadecimal }
System.out.println( "El factorial de " + nmero + " es " + fact );

} // Fin mtodo main

} // Fin clase
literal

31 32
Caractersticas generales de una aplicacin simple Caractersticas generales de una aplicacin simple

Se estructura como una clase que tiene un mtodo El programa puede ser invocado desde la lnea de
main. comandos, invocando al intrprete Java junto con
el nombre de la aplicacin. Ejemplo:
El nombre de la clase debe ser el mismo que el del
archivo que la contiene.
c:\tmp>java Factorial1
La aplicacin se compila invocando al compilador
Java junto con el nombre del archivo. Ejemplo:
Intrprete Programa

c:\tmp>javac Factorial1.java

Compilador Archivo
33 34

Traspaso de datos por parmetro Traspaso de datos por parmetro

El mtodo main puede recibir parmetros desde la  Un arreglo es una coleccin de datos de un mismo tipo,
lnea de comandos del intrprete. Estos se referenciada por un nombre. Cada dato ocupa una posicin
dentro de la coleccin. La cantidad total de posiciones es
almacenan en las posiciones del arreglo de String
fija, y son accesibles por medio de un subndice, que se
indicado en la declaracin del mtodo. inicia en cero (0).
 Ejemplo: un arreglo de Strings llamado textos, de largo 4:
Parmetro textos
hola 23 luis 2rwr
c:\tmp>java Factorial2 3
0 1 2 3
textos[0] contiene hola
textos[1] contiene 23
textos[4] se encuentra indefinido (error al tratar de acceder)

35 36
Ejemplo: programa que acepta datos por
Consideraciones importantes
parmetro
/** Java requiere la declaracin de variables antes de
Programa ejemplo para clculo del Factorial de un nmero especfico,
acepta el nmero proporcionado por parmetro. que sean utilizadas. El tipo de una variable no
@author Franco Guidi
*/
puede ser modificado. Se dice que es un lenguaje
public class Factorial2 { fuertemente tipificado.
public static void main( String arg[] ) {

int nmero, i=1, fact=1;


nmero = Integer.parseInt( arg[0] );
Java distingue entre maysculas y minsculas.
while( i <= nmero ) {
fact = fact * i;
i++;
} Las expresiones matemticas se evalan con
System.out.println( "El factorial de " + nmero + " es " + fact );
precedencia de * y / sobre + y -.
} // Fin mtodo main

} // Fin clase

37 38

Caractersticas generales de una aplicacin simple


Recomendaciones generales
(cont.)
 Las instrucciones se organizan de acuerdo con las Documentar los programas.
estructuras de control:
 secuencia
 decisin : if( cond ) ... else ... Adoptar convencin para definicin de
 Iteracin: do ... while( cond ) o while( cond ) ... identificadores:
 Las instrucciones se separan mediante un punto y coma  Variables: primeraLetraEnMinscula
( ; ).
 Clases: PrimeraLetraEnMayscula
 Los bloques son instrucciones agrupadas mediante  Mtodos: primeraLetraEnMinscula
parntesis de llave ( { y } ). Se utilizan en decisiones e
iteraciones, y no llevan punto y coma al final (despus
de la llave de cierre).

39 40

Potrebbero piacerti anche