"android de la a a la z" -- introducción

10
Android de la A a la Z Introducción “Conceptos generales sobre Java1 Elaborado por: J. Ulises González Medina [email protected] Noviembre 2011 Versión 1.2 1.1 Introducción Java es un lenguaje de programación con el que podemos realizar cualquier tipo de programa. En la actualidad es un lenguaje muy extendido y cada vez cobra más importancia tanto en el ámbito de Internet como en la informática en general. Java fue pensado originalmente para utilizarse en cualquier tipo de electrodoméstico pero la idea fracasó. Uno de los fundadores de Sun rescató la idea para utilizarla en el ámbito de Internet y convirtieron a Java en un lenguaje potente, seguro y universal gracias a que lo puede utilizar todo el mundo y es gratuito Sun describe Java como un lenguaje simple, orientado a objetos, distribuido, interpretado, robusto, seguro, de arquitectura neutral, portable, de alto desempeño y multihilos. Cada una de estas palabras es una característica del lenguaje Java. Mientras muchas de estas características pueden usarse para describir otros lenguajes, esta combinación en particular es única en Java y su ambiente. Simple: Se dice que Java es simple porque aunque tiene todas las características de un lenguaje potente, descarta las características menos usadas y más confusas de éstos. C y C++ son lenguajes muy conocidos, por eso Java se diseñó para ser parecido a C++ y así facilitar su aprendizaje. En Java no es necesario liberar memoria, no se usan la aritmética de punteros, las referencias, registros, definición de tipos (typedef) ni macros. Orientado a objetos: Desde el punto de vista del usuario la orientación a objetos no cambia nada. Al correr un programa no importa si está escrito en programación convencional o en lenguaje orientado a objetos. Pero si se está acostumbrado a programar en lenguajes convencionales como Pascal y C, entonces “orientado a objetos” significa que serán necesarios mayores ajustes en la planeación e implementación de las aplicaciones. Este ajuste es probablemente la parte más difícil en el aprendizaje de Java.

Upload: android-unam

Post on 13-Jun-2015

1.367 views

Category:

Technology


4 download

DESCRIPTION

***Proyecto PAPIIT IN102210*** UNAM. Facultad de Ingeniería. Integrantes: JUAN JOSE CARREON J. ULISES GONZALEZ MEDINA ANA LAURA GARCÍA ACOSTA OMAR SIBAJA BAUTISTA ROBERTO SOSA HIGAREDA

TRANSCRIPT

Page 1: "Android de la A a la Z" -- Introducción

Android de la A a la Z

Introducción “Conceptos generales sobre Java”

1 Elaborado por: J. Ulises González Medina [email protected] Noviembre 2011 Versión 1.2

1.1 Introducción

Java es un lenguaje de programación con el que podemos realizar cualquier tipo de programa. En la

actualidad es un lenguaje muy extendido y cada vez cobra más importancia tanto en el ámbito de Internet

como en la informática en general.

Java fue pensado originalmente para utilizarse en cualquier tipo de

electrodoméstico pero la idea fracasó. Uno de los fundadores de Sun

rescató la idea para utilizarla en el ámbito de Internet y convirtieron a

Java en un lenguaje potente, seguro y universal gracias a que lo puede

utilizar todo el mundo y es gratuito

Sun describe Java como un lenguaje simple, orientado a objetos,

distribuido, interpretado, robusto, seguro, de arquitectura neutral,

portable, de alto desempeño y multihilos. Cada una de estas palabras es

una característica del lenguaje Java. Mientras muchas de estas

características pueden usarse para describir otros lenguajes, esta

combinación en particular es única en Java y su ambiente.

Simple: Se dice que Java es simple porque aunque tiene todas las características de un lenguaje potente,

descarta las características menos usadas y más confusas de éstos. C y C++ son lenguajes muy conocidos,

por eso Java se diseñó para ser parecido a C++ y así facilitar su aprendizaje. En Java no es necesario liberar

memoria, no se usan la aritmética de punteros, las referencias, registros, definición de tipos (typedef) ni

macros.

Orientado a objetos: Desde el punto de vista del usuario la orientación a objetos no cambia nada. Al correr

un programa no importa si está escrito en programación convencional o en lenguaje orientado a objetos.

Pero si se está acostumbrado a programar en lenguajes convencionales como Pascal y C, entonces

“orientado a objetos” significa que serán necesarios mayores ajustes en la planeación e implementación de

las aplicaciones. Este ajuste es probablemente la parte más difícil en el aprendizaje de Java.

Page 2: "Android de la A a la Z" -- Introducción

Android de la A a la Z

Introducción “Conceptos generales sobre Java”

2 Elaborado por: J. Ulises González Medina [email protected] Noviembre 2011 Versión 1.2

Distribuido: Java viene con una completa biblioteca de aplicaciones para red que facilita al programador el

trabajar con protocolos desde bajo nivel como TCP/IP (Transport Control Protocol and Internet Protocol) o

alto nivel como HTTP (Hyper Text Transfert Protocol) y FTP (File Transfer Protocol).

Interpretado: La ejecución de un programa en Java pasa a través de dos fases:

1. El compilador de java convierte el código fuente en un tipo de lenguaje de bajo nivel llamado

bytecode.

2. Para correr el programa se usa un intérprete que ejecuta el bytecode compilado. Este intérprete

es conocido como la JVM (Java Virtual Machine).

Robusto: Java no solo verifica el código para encontrar problemas en tiempo de compilación, también

busca errores que se puedan presentar en tiempo de ejecución. La comprobación de tipos en Java ayuda a

detectar errores, lo antes posible, en el ciclo de desarrollo. Entre otras cosas proporciona la comprobación

de límites de arreglos, manejo de excepciones, etc.

Seguro: Debido a que Java fue diseñado para correr en un ambiente de red tienes restricciones de

seguridad. Además durante la ejecución el intérprete usa un mecanismo para verificar que el bytecode

cargado a través de la red no viola ninguna restricción del lenguaje Java.

Multihilos: En la actualidad muchas aplicaciones permiten al usuario realizar múltiples tareas en forma

simultánea. La capacidad para ejecutar varios procesos al mismo tiempo se conoce como multihilo. Java

proporciona paquetes para implementar y aplicaciones multihilo.

Dinámico: Java es un lenguaje dinámico porque puede adaptarse a un ambiente cambiante y en desarrollo.

Java no intenta conectar todos los módulos que conforman una aplicación hasta el tiempo de ejecución. Las

librerías nuevas o actualizadas no paralizarán las aplicaciones actuales.

Arquitectura Neutral: La internet es la composición de muchas computadoras interconectadas con

procesadores y sistemas operativos diferentes. Java fue desarrollado con la meta de ser capaz de correr en

cualquier tipo de computadora sin tener que recompilar el código. Por esta razón, cuando se compila un

programa fuente de Java, el resultado no es un código nativo sino un bytecode de arquitectura neutral de

bajo nivel que representa los datos en un formato independiente de la máquina objeto. El intérprete de

Java puede más tarde, leer este bytecode y traducirlo a llamadas de sistema dependientes de máquina.

Esta combinación de características es la razón por la que las aplicaciones de Java pueden correr en

cualquier computadora que implementa la Java Virtual Machine.

Portable: Ser de arquitectura neutral es sólo una parte de ser portable. Java además implementa otros

estándares de portabilidad para facilitar el desarrollo, por ejemplo los enteros son siempre de 32 bits, la

construcción de interfaces de usuarios se realiza utilizando las clases del paquete awt (abstract window

toolkit) de forma que las ventanas puedan ser implantadas en cualquier entorno.

Page 3: "Android de la A a la Z" -- Introducción

Android de la A a la Z

Introducción “Conceptos generales sobre Java”

3 Elaborado por: J. Ulises González Medina [email protected] Noviembre 2011 Versión 1.2

1.2 ¿Cómo se genera un programa en Java?

En el lenguaje de programación Java, todo el código es escrito en formato de archivo de texto plano con

extensión .java. Este código fuente es compilado en un archivo .class por el compilador javac.

Un .class no contiene código nativo en su proceso; este contiene bytecodes el cual es el lenguaje de la

maquina virtual de Java (VM Virtual Machine); la herramienta java ejecuta la aplicación con la instancia de

la maquina virtual.

Page 4: "Android de la A a la Z" -- Introducción

Android de la A a la Z

Introducción “Conceptos generales sobre Java”

4 Elaborado por: J. Ulises González Medina [email protected] Noviembre 2011 Versión 1.2

1.3 API´s de Java

Sun define tres plataformas en un intento por cubrir distintos entornos de aplicación. Así, ha distribuido

muchas de sus APIs (Application Program Interface) de forma que pertenezcan a cada una de las

plataformas:

Java Standard Edition (J2SE)

Java Enterprise Edition (J2EE)

Java Micro Edition (J2ME)

1.4 ¿Qué es el JRE (Java Runtime Environment)?

JRE es el entorno mínimo para ejecutar programas Java 2. Incluye la JVM y la API. Está incluida en el J2SE

aunque puede descargarse e instalarse separadamente. En aquellos sistemas donde se vayan a ejecutar

programas Java, pero no compilarlos, el JRE es suficiente.

El JRE incluye el Java Plug-in, que es el 'añadido' que necesitan lo navegadores (Explorer o Netscape) para

poder ejecutar programas Java 2. Es decir que instalando el JRE se tiene soporte completo Java 2, tanto

para aplicaciones normales (denominadas 'standalone') como para Applets (programas Java que se

ejecutan en una página Web, cuando esta es accedida desde un navegador).

Page 5: "Android de la A a la Z" -- Introducción

Android de la A a la Z

Introducción “Conceptos generales sobre Java”

5 Elaborado por: J. Ulises González Medina [email protected] Noviembre 2011 Versión 1.2

1.5 Tipos de datos

Java es un lenguaje que posee un control fuerte de Tipos (Strongly Typed). Esto significa que cada variable y

cada expresión tiene un Tipo que es conocido en el momento de la compilación. El Tipo limita los valores

que una variable puede tener, además de condicionar las operaciones soportadas sobre esos valores y

determina el significado de las operaciones. El control fuerte de tipos ayuda a detectar errores en tiempo

de compilación.

Los tipos primitivos contienen un sólo valor e incluyen los tipos como los enteros, coma flotante, los

caracteres, de tipo booleano, entre otros.

Los tipos referenciados o referencias se denominan así porque el valor de una variable es una referencia

(un puntero) hacia el valor real. En Java tenemos los arrays, las clases y los interfaces como tipos de datos

referenciados.

1.5 Tipos de datos primitivos

Los tipos primitivos son aquellos que permiten manipular valores numéricos (con distintos grados de

precisión), caracteres y valores booleanos (verdadero / falso).

El tamaño de los tipos de datos NO depende de la implementación de Java. Son siempre los mismos.

1.5 Variables

Una variable es un área en memoria que tiene un nombre y un Tipo asociado. El Tipo puede ser primitivo o

referenciado.

Page 6: "Android de la A a la Z" -- Introducción

Android de la A a la Z

Introducción “Conceptos generales sobre Java”

6 Elaborado por: J. Ulises González Medina [email protected] Noviembre 2011 Versión 1.2

Es obligatorio declarar las variables antes de usarlas. Para declararlas se indica su nombre y su Tipo, de la

siguiente forma:

tipo_variable nombre ;

Ejemplos:

int valor; // Declaración de un dato entero

float cantidad; // Declaración de un dato flotante

boolean respuesta; // Declaración de un dato booleano

En Java las mayúsculas y minúsculas son significativas. No es lo mismo el nombre de una variable cantidad

que CANTIDAD.

1.5 Literales

Un literal, constante literal ó valor literal es una constante cuyo nombre o identificador es la representación

escrita de su valor y posee ese significado en el código fuente de un programa Java. Hay literales para todos

los tipos de datos; por ejemplo:

Literales carácter (char) ‘A’, ‘B’, ‘y’, ‘z’, ‘%’, ‘2’

\n //nueva línea.

\r //retorno de carro.

\t //tabulador.

Literales booleanas (boolean) true

false

Literales enteras (int, short, long) 34 // de tipo int, solo dígitos

-78 // número negativo

034 // en octal (equivale al 28 decimal)

0x1C // en hexadecimal (equivale al 28 decimal)

875L // de tipo long

Literales reales (float, double) 15.2 // de tipo double

15.2D // el mismo valor de tipo double

1.52e1 // el mismo valor de tipo double

0.152E2 // el mismo valor de tipo double

.8e10 // de tipo double

15.8f // de tipo float

15.8F // tambien de tipo float

Page 7: "Android de la A a la Z" -- Introducción

Android de la A a la Z

Introducción “Conceptos generales sobre Java”

7 Elaborado por: J. Ulises González Medina [email protected] Noviembre 2011 Versión 1.2

1.5 Operadores

Un operador lleva a cabo operaciones sobre uno (operador unario), dos (operador binario) o tres (operador

ternario) datos u operandos de tipo primitvo devolviendo un valor determinado también de un tipo

primitivo. El tipo de valor devuelto tras la evaluación depende del operador y del tipo de los operandos. Por

ejemplo, los operadores aritméticos trabajan con operandos numéricos, llevan a cabo operaciones

aritméticas básicas y devuelven el valor numérico correspondiente.

Operador de asignación

Operadores aritméticos

Operadores aritméticos incrementales

Operadores aritméticos y de asignación

Operadores relacionales

Page 8: "Android de la A a la Z" -- Introducción

Android de la A a la Z

Introducción “Conceptos generales sobre Java”

8 Elaborado por: J. Ulises González Medina [email protected] Noviembre 2011 Versión 1.2

Operadores booleanos

Operadores a nivel de bits

Operadores de agrupación

Page 9: "Android de la A a la Z" -- Introducción

Android de la A a la Z

Introducción “Conceptos generales sobre Java”

9 Elaborado por: J. Ulises González Medina [email protected] Noviembre 2011 Versión 1.2

1.5 Programación orientada a objetos

1.5 Clases VS Objetos

Un objeto se define como la unidad que en tiempo de ejecución realiza las tareas de un programa. También

a un nivel más básico se define como la instancia de una clase.

Un objeto está formado por:

Un nombre, el cual es una designación que nos permite distinguir al objeto de otros.

Características o atributos que nos permiten determinar cómo es o cómo está dicho objeto.

Acciones o métodos; los cuales nos permiten describir el comportamiento que posee dicho objeto.

Ejemplos de objetos:

Una clase está formada por los métodos y los atributos que definen las características comunes a todos los

objetos de esa clase. Precisamente la clave está en abstraer los métodos y las características comunes a un

conjunto de objetos y almacenarlos en una clase.

Una clase es como una especie de molde que nos permite crear varios ejemplos o instancias del mismo

tipo; por ejemplo:

Page 10: "Android de la A a la Z" -- Introducción

Android de la A a la Z

Introducción “Conceptos generales sobre Java”

10 Elaborado por: J. Ulises González Medina [email protected] Noviembre 2011

Versión 1.2

A continuación desarrollaremos el código para la clase Ave y además crearemos un objeto de la misma: