Download Introducción al lenguaje Java - Lógica y Fundamentos de Redes
Document related concepts
no text concepts found
Transcript
Introducción a la Programación Lenguaje de Máquina Lenguaje de Bajo Nivel Lenguaje de Alto Nivel Relación entre lenguajes Faces de la Compilación Intruducción a Java Programar aplicaciones y algoritmos sencillos en JAVA conociendo: El entorno de programación Los tipos de datos primitivos Operadores básicos Instrucciones Manejo de documentación Aspectos generales Java es... Lenguaje alto nivel Simple Orientado objetos Distribuido Interpretado Robusto Neutro en arquitectura Portable Seguro Objetivos de la tecnología Java Proveer un lenguaje estructurado Que facilite la programación y evite errores Orientado a Objetos Proveer un ambiente para Incrementar la velocidad de desarrollo de aplicaciones Portabilidad del código Las metas tecnológicas de Java Permitir ejecutar aplicaciones multi hilos Cargar clases dinámicamente, en el momento que son requeridas Soportar dinámicamente cambios en programas mientras la API se ejecuta Ofrecer una mejor seguridad ¿ Que puedo programar con Java ? Aplicaciones independientes (Como cualquier otro lenguaje de propósito general) Applets (Pequeñas aplicaciones que se ejecutan en un documento HTML) Aplicaciones para intraredes, Cliente/Servidor Aplicaciones Internet. distribuidas en redes locales Las metas principales de Java La JVM (Java Virtual Machine) Recolector automático de memoria (Garbage collector) Seguridad del código Arquitectura Java es compilado e interpretado Se convierte a un bytecode Un intérprete lo ejecuta en la CPU mi_prog.java Compilador Intérprete mi_prog.class La máquina virtual Java Provée las especificaciones de la plataforma de hardware Lee el bytecode compilado que es independiente de la plataforma Puede ser implementada como software ó hardware Puede ser implementada como herramienta de desarrollo de Java ó como un navegador Web La máquina virtual de Java Provée definiciones para: Juego de instrucciones (CPU) Juego de registros El formato de los archivos de clases El colector automático de memoria Espacio de memoria Colector automático de memoria La memoria que no es usada se libera En otros lenguajes esto es responsabilidad del programador Aspectos Revisa y libera memoria no usada Es automático Entorno de desarrollo JDK Herramienta básica JDK (Java Developer´s Kit) El kit contiene básicamente: El compilador: javac.exe El depurador: jdb.exe El intérprete: java.exe y javaw.exe El visualizador: appletviewer.exe El generador de documentación: 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 El ambiente de ejecución Conocido como el JRE (Java Runtime Environment) Realiza las siguiente tareas sobre el código: Carga Verifica Executa El cargador de clases Carga las clases necesarias para la ejecución del programa Distingue por nombre clases del sistema local de archivos de aquellas de la red Ofrece seguridad evitando caballos de Troya Previene el acceso a areas restringidas de código Solo asigna memoria una vez que todas las clases han sido cargadas en el sistema El verificador del bytecode Asegura que el código Sea coherente con la especificación JVM No viola la integridad del sistema No causa desbordamientos de pilas Que todos los tipos de parámetros son correctos Que no hay conversion ilegal de datos Ej. enteros a apuntadores. Comparando C y Java void sort (int a[], int size){ } //main #include <iostream.h> #include <stdlib.h> extern "C" long random(); int main(int argc, char *argv[]){ if (argc =! 2){ cerr <<"error"<<endl; exit (1); } cout << "hola" << endl; return 0; } Sort.C import java.io import java.util.Random Class Sorttest{ static void sort(int a[], int size){ } } public static void main (string argv[]){ if (argv.lenght != 1){ System.out.println("error"); System.exit(1); } System.out.println("hola"); System.exit(0); } Sort.java Declaración de clases [modif_clase] class id_clase {bloque} modif_clase opcional: class Texto indicando declaración de clase id_clase public, abstract ó final nombre de la clase bloque variables y métodos conformando clase Elementos Básicos de Java Un programa esta formado por archivos fuentes y en cada uno habrá una o varias clases. Declaración de la clase class Hola { Cuerpo de la clase ….. } (fin de la clase) Elementos Básicos de Java Palabra reservada class (minusculas) El nombre de la clase Hola (Primera mayuscula) Es susceptible a Minúsculas y Mayúsculas El cuerpo de la clase comienza con { y finaliza con } Al final de cada instrucción lleva «punto y coma» ; Dentro del cuerpo se declaran los atributos y métodos Para que un programa se pueda ejecutar debe de contener el método main ( ) public static void main (String argumentos [] ) (Esta línea debe de estar en la declaración de la clase principal al inicio) Tener en cuenta Cuando una clase es pública se debe de guardar esta clase con idéntico nombre al de la clase: Ej. public class Hola { Cuerpo de la clase ….. } (fin de la clase) Practica Hola Mundo! 1. Se guardara el archivo con el mismo nombre de la clase principal, cuidando la inicial con mayúscula y extensión .java Hola.java 2. Digita el código class Hola { public static void main (String argumentos [ ] ){ System.out.println(“Hola, mundo! “); } \\fin método } \\fin clase 3. Se compila: javac Hola.java Nos genera el archivo Hola.class (Que contiene el código bytecode) 4. Se ejecuta: java Hola (El interprete buscará el archivo Hola.class) Hola, mundo! Explicación Hola Mundo! Declaración del método main(): public: Indica que el método es público, puede ser llamado desde otras clases. (Todo método main() debe ser público para poder ejecutarse desde el intérprete de Java (JVM) static: Indica que la clase no necesita ser instanciada para poder utilizar el método al que califica, indica que el método es el mismo para todas las instancias que se pudieran crear. void: Indica que la función main no devuelve ningún valor. El método main debe aceptar siempre, como parámetro, un vector de string, que contendrá los posibles argumentos que se le pasen al programa en la línea de comandos, en este caso no se utiliza. El métod main ( ) siempre se declara de la misma forma. Explicación Hola Mundo! System.out.println(“Hola, mundo! “); println( ): Este método se encarga de mostrar los valores a través de la salida estándar, realiza un retorno de carro y nueva línea. Este método pertenece al atributo out y se encuentra incluido en la clase System. Gramática de Java Comentarios En Java hay tres tipos de comentarios: // comentarios para una sola línea /* comentarios de una o más líneas */ /** comentario de documentación, de una o más líneas */ Tipos de Datos en Java (Numéricos) byte 1Byte (8 bits) short 2 Bytes (16 bits) int 4 Bytes (32 bits) long 8 Bytes (64 bits) float 4 Byte (32 bits) double 8 Bytes (64 bits) Tipos de Datos en Java Char (un caracter) 2Bytes por caracter String (cadena de caracteres) Se maneja con una clase Boolean (true / false) 1 bit Coversión de Tipos de Datos Las operaciones entre diferentes tipos de datos generalmen llevan a una conversion. Definición de Variable Una variable es un espacio de memoria que se reserva para almacenar un dato. Dependiendo del dato que se quiera almacenar dependera el tipo de dato a utilizar para dicha variable. Por norma general se deben almacenar como datos de tipo numérico, solo aquellos que intervengan en operaciones matemáticas. Ejercicio Diga el tipo de dato que se debe utilizar para almacenar la siguiente información: • • • • • • • • El número de páginas de un libro El salario devengado de un empleado La nota final de un estudiante de lógica El estrato socioecinómico de una persona El código de un estudiante El porcentaje de utilidad de un producto La edad de una persona Una letra del abecedario