Unidad III Programación Orientada a Objetos en Java Programación Orientada a Objetos Programación I - 0416202
Contenido Esta lección abarca los siguientes temas con respecto a Java: Qué es Java? Breve historia Características Principio básico Máquina virtual Funcionamiento Compilación Colector de basura Sintáxis Identificadores Palabras reservadas Constantes Tipos de datos y operadores Estructura básica de un programa Ejemplo de declaración y asignación
Qué es Java? Un lenguaje de programación de alto nivel con elementos de C, C++ y otros lenguajes, unido a un gran conjunto de bibliotecas, con un soporte de ejecución estándar y una máquina virtual. Un programa Java es una biblioteca de clases (bytecodes) organizada en paquetes jerárquicos, basado en el paradigma orientado a objetos, que se usa comúnmente para programar tanto aplicaciones convencionales como para Internet.
Breve Historia de Java La promesa inicial de sus desarrolladores, era Write Once, Run Anywhere (Escríbelo una vez, ejecútalo en cualquier lugar), proporcionando un lenguaje independiente de la plataforma y un entorno de ejecución ligero y gratuito para las plataformas más populares. Mas Información: http://es.wikipedia.org/wiki/lenguaje_de_programaci%c3%b3n_java
Características de Java Sencillo, simple y familiar. Orientado a objetos. Independiente de la plataforma. Interpretado y compilado a la vez. Robusto. Seguro. Neutral a la arquitectura. Portable. Multihilo. Posee recolector de basura.
Características de Java Sencillo, simple y familiar. o Basado en C. o Desarrollado desde Cero. o Extremadamente sencillo: no hay punteros, macros, registros, ni definición de tipos. Rápido de aprender. Simplificación de la programación. Reducción del número de errores.
Características de Java Orientado a objetos. o Orientado a objetos desde la Base. o Todo en java son objetos. o Incorpora las características de POO: Encapsulamiento. Polimorfismo. Herencia. Enlace Dinámico. o Pero, no incorpora otras de menor utilidad: Herencia Múltiple. Sobrecarga de operadores.
Características de Java Independiente de la plataforma. o Otras propuestas como lenguajes interpretados o de scripts resultan poco eficientes. o Solución Java: Arquitectura Neutra. o Máquina Virtual de Java. o Compilador Java genera bytecodes.
Máquina Virtual de Java (JVM) Es un programa escrito en código nativo de la plataforma destino que interpreta y ejecuta el código producido por el compilador de Java. Al compilar un programa Java no se crea código de maquina, sino que se genera un pseudocódigo denominado bytecode, que luego será interpretado por la JVM.
Principio Básico de Java
Características de Java Interpretado y compilado a la vez. o Los Bytecode han de ser interpretados. Fuente en Java Compilador Java Bytecodes Intérprete Ejecución Prog.java Prog.class Compilador Just in time Código Nativo o Ventajas frente a oros lenguajes interpretados: Código compacto. Eficiente. Código Confidencial.
Funcionamiento de Java
Compilación en Java Ejemplo.java javac Ejemplo.class java
Características de Java Robusto. o La ejecución dentro de la MVJ impide bloquear el sistema. o La asignación entre tipos es muy estricta. o La gestión de memoria siempre la realiza el sistema. o Chequeo del código tanto en tiempo de compilación como de ejecución.
Características de Java Seguro. o Soporta seguridad Sandboxing o Verificación bytecode o Otras medidas de seguridad: Cargador de clases Restricción en el acceso a la red
Características de Java Multihilo (Multi-Thread). o Solución sencilla y elegante a la multiprogramación o Un programa puede lanzar varios hilos de ejecución. o No son nuevos procesos, comparten código y variables con el principal. o De forma simultánea se pueden atender varias tareas.
Colector de Basura (Garbage Collector) En otros lenguajes como C, C++, Pascal, etc. la liberación de la memoria queda a cargo del programador. En Java existe el Colector de Basura que se encarga de liberar automáticamente en tiempo de ejecución los espacios de memoria que son ocupados por objetos que ya no son usados en el programa.
Programar en Java Programar en Java es incrementar la biblioteca de clases. Los programas en Java se componen de clases y métodos. Aprender a programar en el mundo de java consiste en: Aprender el lenguaje de programación Java para poder programar clases y métodos propios. Aprender a usar las clases y métodos de las extensas bibliotecas de clases que posee este lenguaje.
Sintáxis de Java Identificadores: Nombres asignados a variables, métodos y clases para ser identificadas y de forma única y con sentido para el programador. El primer carácter debe ser letra. Es un lenguaje sensible a mayúsculas y minúsculas. Acepta _ y cifras del 0 al 9 pero que no sean el primer carácter. No se aceptan palabras claves (reservada por java para un objetivo determinado)
Sintáxis de Java Identificadores: SI X cont1 VARIABLE Porc_Aprob Hola anhos tall NO X 1cont cont-1 Porc Aprob Hola! #anhos short
Sintáxis de Java Palabras reservadas:
Sintáxis de Java Constantes: Pueden ser números, caracteres o cadenas: Los números pueden ser enteros, en coma flotante o booleanos. Enteras Número con valor entero consistente en secuencia de dígitos. Se pueden escribir en tres sistemas diferentes: Decimal, Octal y Hexadecimal. Se almacenan en 32 bits (4 bytes) y si es muy grande puede forzarse al tipo long añadiéndole una L al final del número.
Sintáxis de Java Constantes: Enteras Decimal Octal Cualquier combinación de dígitos tomados del 0 al 9. Si la constante tiene más de 2 dígitos, el primero debe ser diferente de 0. Cualquier combinación de dígitos tomados del 0 al 7. El primer dígito debe ser obligatoriamente 0 para que pueda ser identificado como número octal. Ejemplo 0 1 894 Ejemplo 0 077 0472 Hexadecimal Cualquier combinación de dígitos tomados del 0 al 9 y de las letras ( a a f ) mayúsculas o minúsculas. Debe comenzar con 0x ó 0X. Ejemplo 0X 0X1 0Xabcd
Sintáxis de Java Constantes: En coma flotante Es un número en base 10 que contiene un punto decimal o un exponente (ambos inclusive). Por ejemplo el número 563,84 también puede expresarse 5,6384e2 Ejemplo: 0 0,2 2E-8 0,06e-3 15,8 Son del tipo double que es un valor de 64 bits. Sin embargo, tiene la opción de usar 32 bits (float) esto se hace añadiendo una f ó F al final del número: 5,6384e2F
Sintáxis de Java Constantes: De carácter Representan un solo carácter encerrado entre comillas simples. Ejemplo: a A 9 - Existen caracteres especiales (de control y no imprimibles) que se representan con una barra invertida (\) seguida del código del carácter. Por ejemplo: \n que imprime una nueva línea.
Sintáxis de Java Constantes: De cadena de caracteres Representan múltiples caracteres y aparecen dentro de un par de comillas dobles. Se implementan en Java con la clase String y define su estado con los caracteres que aparecen dentro de las comillas dobles. Ejemplo: String mensaje; String universidad= UNET ;
Sintáxis de Java Tipos de datos: Categoría Tipo Tamaño Rango Enteros Reales Caracteres byte 8 bits -128 a 127 short 16 bits -32768 a 32767 int 32 bits -2.147.483.648 a 2.147.483.647 long 64 bits ±9.223.372.036.854.775.807 float 32 bits ±3.4E+38F(6-7 díg. significati) double 64 bits ±1.8E+308F(15-16 díg. signifi) char 16 bits Conjunto de Caracteres Unicode String Según long Según Longitud Lógicos boolean 1 bit true o false
Sintáxis de Java Declaración de variables: Asocia un tipo de dato especificado a un grupo de variables. Se deben declarar todas las variables antes de que aparezcan en las instrucciones ejecutables. Sintáxis: Tipo_Dato variable1, variable2,... ; Ejemplo: byte edad; long angulo, magnitud; double velocidad; char sexo;
Sintáxis de Java Operadores aritméticos: Operador + - * / % ++ -- Descripción Suma Resta Multiplicación División Resto de división entera Incremento decremento
Sintáxis de Java Operadores aritméticos: El operador + en Java también es utilizado para concatenar cadenas de caracteres. Ejemplo: String nombre = Ana ; String apellido = Chacon ; String nombrecompleto = nombre + + apellido;
Sintáxis de Java Operadores de asignación: Operador += -= *= /= %= Descripción op1 += op2 es lo mismo a op1= op1 + op2 op1 -= op2 es lo mismo a op1= op1 - op2 op1 *= op2 es lo mismo a op1= op1 * op2 op1 /= op2 es lo mismo a op1= op1 / op2 op1 %= op2 es lo mismo a op1= op1 % op2
Sintáxis de Java Operadores relacionales y lógicos: Operador < <= > >= ==!= && Descripción Menor que Menor o igual que Mayor que Mayor o igual que Igual que Desigual que Y O
Sintáxis de Java Precedencia de operadores: Unarios Multiplicadores Suma y resta Desplazamiento de bits Relacionales Igualdad Y a nivel de bits O exclusiva a nivel de bits O inclusiva a nivel de bits Y condicional O condicional Condición De Asignación separadores operadores
Sintáxis de Java Estructura básica de un programa: package Pruebas; import java.io.*; import Archivo: nombre_clase.java public class nombre_clase { // Declaración de atributos (variables) // Declaración de métodos (funciones) public static void main (String [] args) } { // Declaración de variables } // Instrucciones
Sintáxis de Java Ejemplo de declaración y asignación: import java.io.*; public class Declaracion { public static void main (String args []) { int i; // Declaración de variables enteras int j=0; // Declaración de variables enteras float pi = 3.414f; // Declaración de variables flotantes double magnitud = 25.698; // Declaración y asignación de double boolean sw = true; // Declaración y Asignación de boolean char sexo; // Declaración de una variable carácter String cad1; // Declaración de una variable String String cad2 = UNET"; // Declaración y asignación de un String sexo = F'; cad1 = Programacion i = 6; // Asignación de valor de un char // Asignación de valor a un String // Asignación de valores a enteros } }