Sei sulla pagina 1di 39

ESCUELA

DE

INGENIERA DE SISTEMAS INFORMTICA

PROGRAMACIN BSICA
PROF. ING. CESAR TAMARIZ FIGUEROA

SEGUNDA UNIDAD
PROGRAMACION EN JAVA

Introduccin a Java

INTRODUCCIN AL LENGUAJE JAVA QU ES JAVA?


La plataforma Java es fundamentalmente una nueva va de programacin. Fue desarrollado por Sun MicroSystem con la intencin de competir con Microsoft en el mercado de las redes. Se basa en la idea de que el mismo software debe correr en diferentes sistemas y dispositivos. Java nace como un lenguaje derivado de C++ que intentaba eliminar las deficiencias del mismo.

DNDE TRABAJA JAVA?


Con la tecnologa Java se puede usar la misma aplicacin sobre cualquier tipo de hardware PC, Macintosh, ordenadores de red, con cualquier sistema operativo o incluso en otro tipo de dispositivos como telfonos mviles, televisores. Es decir, funciona sobre cualquier tipo de dispositivo compatible que soporte la plataforma Java.

UN POCO DE HISTORIA..

En 1991, James Gosling cre un lenguaje denominado Oak (roble) el cual fue el predecesor de Java. Su objetivo era establecer un lenguaje comn para los dispositivos.
Se baso en C++ tratando de sacarle la complejidad y la inseguridad que presentaba Sun descubri que este nombre estaba ya registrado, y lo tuvieron que cambiar El 23 de mayo de 1995 el lenguaje Java es oficialmente lanzado en la SunWorld Expo 95 con la versin JDK 1.0 alpha.

PRESENCIA COMERCIAL DE JAVA


Ms de 2.500 millones de dispositivos. Ms de 700 millones de ordenadores. 708 millones de telfonos mviles y otros dispositivos de mano. 1000 millones de tarjetas inteligentes, adems de sintonizadores, impresoras,web cams, juegos, sistemas de navegacin para automviles, terminales de lotera, dispositivos mdicos, cajeros de pago en aparcamientos, etc. Hoy en da, puede encontrar la tecnologa Java en redes y dispositivos que comprenden desde Internet y superordenadores cientficos hasta porttiles y telfonos mviles; desde simuladores de mercado en Wall Street hasta juegos de uso domstico y tarjetas de crdito: Java est en todas partes.

CARACTERSTICAS
Orientado a Objetos
encapsulacin, herencia, polimorfismo y ligadura dinmica

Parecido a C++
Elimina las partes confusas ejemplo: punteros Aade nuevas propiedades ej: garbage collector

Robusto
Comprobacin esttica de tipos

maneja la memoria por el programador comprobacin de lmites de arrays y excepciones. Proporciona las libreras y herramientas para programas distribuidos (protocolos http y ftp, interconexin TCP/IP) Adems Java cuenta con:
Chequeo de arreglos. Verificacin de bytecodes Recoleccin de basura automtica.

JAVA EN POCAS PALABRAS

JAVA EN POCAS PALABRAS

COMPONENTES DE JAVA EL PROGRAMA JAVA


Los ficheros fuente de Java tienen la extensin .java. Cada fichero .java define una clase pblica (y, posiblemente, ms de una clase privada usada por la clase pblica).. Los ficheros bytecodes generados por la compilacin tienen la extensin .class. Un fichero .java puede generar ms de un fichero .class, si en el fichero .java se define ms de una clase. El nombre del fichero .java debe corresponder con el nombre de una clase definida en l.

LA MAQUINA VIRTUAL JAVA


JVM es una mquina imaginaria que se implementa mediante una emulacin en software sobre una mquina real Es tarea del interpretador desarrollarlo para cada plataforma, asegurar la correcta ejecucin del cdigo compilado.

COMPONENTES DE JAVA EL INTERPRETE JAVA


Leer el cdigo Class Loader
Lee todas las clases necesarias para la ejecucin Separa las clases locales de las de red Se crea el esquema de memoria y se asignan las direcciones vlidas

Verificar el cdigo Verificador de bytecodes


Revisa los fragmentos del cdigo y aplica algoritmos (clculos) para detectar la existencia de fragmentos ilegales: apuntadores falsos, violaciones en los derechos de acceso a los objetos, etc...

Se realizan cuatro revisiones en el cdigo. Esto asegura que:


El cdigo se adhiere a las especificaciones de la JVM. No hay violaciones en las restricciones de acceso. Los tipos de los parmetros son correctos. No hay conversiones ilegales de datos, entre otros.

Ejecutar el cdigo Intrprete de ejecucin

COMO FUNCIONA JAVA?

ALGUNAS BIBLIOTECAS EN JAVA

ENTORNO DE DESARROLLO JDK

El kit contiene bsicamente:


El compilador: javac.exe El depurador: jdb.exe El intrprete: java.exe y javaw.exe El visualizador: appletviewer.exe El generador de documentacin: javadoc.exe Un desensamblador de clases: javap.exe El generador de archivos fuentes y de cabecera (.c y .h) para clases nativas en C: javah.exe

ESTRUCTURAS BSICAS EN JAVA


COMENTARIOS
En Java hay 3 tipos de Comentarios: Comentario en una lnea: //Comenta una lnea Comentar una o ms lneas /*Estas dos lneas estn comentadas */ Comentarios usados para documentacin automtica (javadoc) /** Este comentario es usado por javadoc para generar documentacin automtica */ Los dos primeros tipos de comentarios son los que todo programador conoce y se utilizan del mismo modo. Los comentarios de documentacin, colocados inmediatamente antes de una declaracin (de variable o funcin), indican que ese comentario ha de ser colocado en la documentacin que se genera automticamente cuando se utiliza la herramienta de Java, javadoc (Genera pginas HTML de documentacin del API a partir de ficheros con cdigo fuente Java), no disponible en otros lenguajes de programacin.

ESTRUCTURAS BSICAS EN JAVA


TIPO DE DATOS
En Java toda variable declarada ha de ser de un tipo, adems, antes de poder utilizarla se ha de inicializar a un valor, si no es as, el compilador no generar el Fichero. En Java se tienen que utilizar las tcnicas de conversin de tipos:

ENTEROS
Almacenan como su propio nombre indica nmeros enteros, sin parte decimal. Por razones de portabilidad todos los datos en Java tienen el mismo tamao y formato. En Java hay cuatro tipos de enteros:

ESTRUCTURAS BSICAS EN JAVA


TIPO DE DATOS REALES
Almacenan nmeros reales, es decir nmeros con una parte fraccionario. Hay dos tipos:

Para indicar que una constante es flotante: ej. 2.3 se ha de escribir: 2.3F, por defecto al escribir 2.3d ser double.

CARCTER: En Java hay un nico tipo de carcter: char. BOOLEAN: Es un tipo de datos que nicamente puede

tomar dos valores: true o false. Se utiliza para realizar chequeos sobre condiciones.

ESTRUCTURAS BSICAS EN JAVA


VARIABLES
Las variables son espacios de memoria en el computador que nos permiten almacenar los valores y parmetros que utilizamos para representar y modelar un problema. Las variables tambin permiten modificaciones de dichos valores con el fin de ir obteniendo paso a paso la solucin de un problema particular. En Java, al igual que en C, es obligatorio declarar los tipos de todas las variables empleadas. La sintaxis de declaracin es la siguiente: int i; double d; foat f; char c; Adems en Java es necesario inicializar todas las variables antes de usarlas, de lo contrario el compilador generar un mensaje de error. Se puede inicializar y asignar un valor a una variable en la misma lnea o en lneas diferentes: int i=0; int i; i = 0; Tambin es posible la declaracin mltiple de variables en una nica lnea: int i,j,k;

ESTRUCTURAS BSICAS EN JAVA


OPERADORES
Operadores Aritmticos: Son operadores binarios que requieren siempre de dos operandos, realizan operaciones del tipo aritmticas, tales como: suma (+), resta (-), multiplicacin (*), divisin (/), resto de una divisin (%). Operadores de Asignacin: Son aquellos que nos permiten asignar un valor a un variable, por excelencia es, sin lugar a dudas el: =, pero existen otros tipos:

Operadores de Incremento: Java tiene operadores de incremento (++) y decremento (- -). El operador (++) incrementa en una unidad la variable a la que se aplica, mientras que (- -) la reduce en una unidad. Estos operadores pueden ser usados de dos formas
Precediendo a la variable (por ej: ++i). En este caso primero se incrementa la variable y luego se utiliza en la expresin en la que aparezca. Siguiendo a la variable (por ej: i++). En este caso primero se utiliza la variable en la expresin y luego se incrementa

ESTRUCTURAS BSICAS EN JAVA


OPERADORES
Operadores Relacionales: Estos sirven para realizar comparaciones de igualdad, desigualdad y relacin mayor o menor. El resultado de estos operadores es siempre un valor boolean (true o false) segn se cumpla o no la relacin considerada. Se ocupan con mucha frecuencia en las bifurcaciones y en los bucles (if, switch, for, while. . . etc). Son:

ESTRUCTURAS BSICAS EN JAVA


OPERADORES
Operadores Relacionales:

EJEMPLO:

ESTRUCTURAS BSICAS EN JAVA


OPERADORES
Operadores Lgicos: Se usan para construir expresiones lgicas, combinando valores lgicos (true y/o false) o los resultados de operaciones relacionadas. Estos son:

EJEMPLO:

CDIGO BSICO EN JAVA


En el lenguaje de programacin java, absolutamente todo es un objeto. As desde el programa principal, las libreras que usemos, y archivos extras que integremos sern clases para crear objetos, un programa bsico en java necesita tener las siguientes lneas: Ejemplo 1: Crearemos nuestra siguiente Aplicacin en Java: Hola Mundo.

CDIGO BSICO EN JAVA


La primera lnea dice: public class HolaMundo es la declaracin de la clase:
public: especifica el nivel de acceso, esto quiere decir que la clase sera accesible por cualquier elemento. Tambin estn los niveles private y protected class: especifica que es una clase. HolaMundo: es el nombre de la clase, tomar en cuenta que el nombre del archivo debe ser igual al nombre de la clase que contiene el mtodo (funcin de clase) principal (main). Deben respetarse maysculas y minsculas.

CDIGO BSICO EN JAVA


La segunda lnea de cdigo public static void main(String[ ] args) es la declaracin de el mtodo principal de la aplicacin de java:
public: especifica el nivel de acceso a la mtodo, esto quiere decir que es accesible por cualquier mtodo que pueda acceder a la clase de objetos. static: especifica que la funcin principal solo ser creada una vez, e invocada desde la clase. void: dice que el retorno de este mtodo ser de tipo genrico (flujo de bits), convertible a cualquier tipo de dato. main: nombre del mtodo, para este caso este nombre se reserva para el mtodo principal y ser usado como punto de inicio de la aplicacin. String[ ] args: arreglo de parmetros al programa (en caso que se invoque por linea de comandos).

CDIGO BSICO EN JAVA


La tercer linea System.out.println(Hola mundo) es el cuerpo del mtodo principal:
System: es una clase estndar java para llamadas al sistema, en esta se encuentras las operaciones bsicas de entrada y salida. out: es una clase declarada dentro de system, y se encarga de manejar las salidas estndar del sistema, por lo general el monitor. println: es un mtodo de la clase out que recoge como argumento el texto que se imprimir en pantalla

CDIGO BSICO EN JAVA


Ejemplo 2: Realice el siguiente cdigo en JAVA. public class variable { public static void main (String[] args){ int i=9,k; float j=47.9f; System.out.println("i: "+ i +"j: "+j); k=(int)j; // empleo de un cast System.out.println("j: "+ j +"k: "+k); k=(int)j; // no emplea un cast System.out.println("j: "+ j +"k: "+k); float m=2.3f; // Debe dar un error al compilar System.out.println("m: "+ m ); } }

CDIGO BSICO EN JAVA


Ejemplo 3: Realice el siguiente cdigo en JAVA. public class incremento { public static void main (String[] args){ int i=1; System.out.println("i: "+i ); System.out.println("++i: "+ ++i ); System.out.println("i++: "+ i++ ); System.out.println("--i: "+ --i ); System.out.println("i--: "+ i-- ); System.out.println("i: "+ i ); } }

ESTRUCTURAS BSICAS EN JAVA


INGRESO DE DATOS EN JAVA
Para el ingreso de datos en Java utilizamos la Clase Scanner que permite crear objetos capaces de leer informacin desde una fuente de datos que puede ser un archivo, una cadena de caracteres, el teclado, etc. Los objetos de esta clase, sern los que utilizaremos para pedir los datos que se requieran para dar solucin a un problema. Con el Ingreso de la Clase Scanner no es suficiente, se debe importar de la librera de Java todos los mtodos que la acompaan. As debemos de declarar al inicio de las clases Public y Static lo siguiente:
import java.util.Scanner; // Se importa la clase Scanner con // todas sus metodos.

ESTRUCTURAS BSICAS EN JAVA


INGRESO DE DATOS EN JAVA
Como los datos se ingresan por teclado debemos tener un mtodo que capture dicho datos, esta funcin es realizada por el mtodo: System.in. De esta manera, Tanto la clase Scanner como el mtodo System.in podrn capturar los datos ingresados por teclado.
A continuacin se muestra la declaracin correspondiente:

Scanner teclado = new Scanner(System.in)


Este cdigo declara una variable llamada teclado. Al ser Scanner una clase, el dato teclado se convierte en Objeto de esta clase y almacena lo ingresado por el usuario. System.in captura lo ingresado y lo convierte en byte. Scanner captura estos byte en la clase y luego lo asigna el valor capturado a la variable teclado.

ESTRUCTURAS BSICAS EN JAVA


INGRESO DE DATOS EN JAVA
Existen varios mtodos de la clase Scanner para convertir los Bytes capturados en valores que sean mas fciles de utilizar. Se muestra una lista de los mtodos ms comunes de clase Scanner para convertir bytes en otros valores.
Mtodo nextByte () Significado Transforma los valores en nmeros rango -128 al +127 Transforma los valores en nmeros Double Transforma los valores en nmeros Transforma los valores en nmeros Transforma los valores en nmeros

dentro del

nextDouble()
nextFloat() nextInt() nextLong()

del Tipo
del Tipo Float del Tipo Int del Tipo Long

CDIGO BSICO EN JAVA


Ejemplo 4: Realice un programa que me permita ingresar el nombre, edad y estatura de una persona, y presentara como salida los mismos datos ordenados.
Ejemplo 5: Realizar un programa que me permita ingresar por teclado un numero entero y decimal Ejemplo 6 Realizar la suma de 2 numero enteros, y el resultado en pantalla se muestre los nmeros ingresados y el total obtenido

Estructuras de Control de Flujo


INSTRUCIONES IF La sentencia IF, se puede emplear de diferentes maneras: a) Simple. b) Doble c) Anidada.

SELECCIN SIMPLE (IF)

if (condicin) { bloque } Condicin, es una expresin booleana

Condicin no

s
Sentencia

EJEMPLO SELECCIN SIMPLE IF


public class ifsimple { public static void main(String [] args) { int a, b; a = 10; b = 5; if (a > b) // if simple, con una instruccion System.out.println("** a es mayor que b ** ");

if (a > b) { // if simple, con un bloque de instrucciones System.out.println("A es mayor que B "); System.out.println("El valor de A es = " + a); System.out.println("El valor de B es = " + b); } }
}

SELECCIN DOBLE (IF)

if (condicin) { Bloque 1 } else { Bloque 2 }

no
sentencia2

condicin

Si
sentencia1

EJEMPLO SELECCIN DOBLE IF


public class ifconcatenado { public static void main(String [] args) { int a, b; a = 7; b = 5; if (a > b) { // por Verdad a = a - b; System.out.println("El valor de A es = " + a); } else { // por Falso b = b*a; System.out.println("El valor de B es = " + b); } } }

SELECCIN ANIDADA (IF)


if (condicin1) { if (condicin2) { bloque1 } else { bloque2 } } else { if (condicin3) { bloque3 } else { bloque4 } }

Bloque 2

Bloque 1

Bloque 4

Bloque 3

EJEMPLO SELECCIN ANIDADA IF


public class ifanidada { public static void main(String [] args) { int edadJuan = 20; int edadJose = 18; if (edadJuan < edadJose) System.out.println("Juan es mas joven que Jose"); else if (edadJuan == edadJose) System.out.println("Juan tiene la misma edad que Jose"); else System.out.println("Juan es mayor que Jose"); } }

Potrebbero piacerti anche