SlideShare una empresa de Scribd logo
Android de la A a la Z
                                           Introducción “Conceptos generales sobre Java”


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.


                                                                                                            1
Elaborado por: J. Ulises González Medina
android.unam@gmail.com
Noviembre 2011
Versión 1.2
Android de la A a la Z
                                           Introducción “Conceptos generales sobre Java”

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.




                                                                                                          2
Elaborado por: J. Ulises González Medina
android.unam@gmail.com
Noviembre 2011
Versión 1.2
Android de la A a la Z
                                           Introducción “Conceptos generales sobre Java”


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.




                                                                                                         3
Elaborado por: J. Ulises González Medina
android.unam@gmail.com
Noviembre 2011
Versión 1.2
Android de la A a la Z
                                           Introducción “Conceptos generales sobre Java”


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).




                                                                                                         4
Elaborado por: J. Ulises González Medina
android.unam@gmail.com
Noviembre 2011
Versión 1.2
Android de la A a la Z
                                           Introducción “Conceptos generales sobre Java”


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.

                                                                                                           5
Elaborado por: J. Ulises González Medina
android.unam@gmail.com
Noviembre 2011
Versión 1.2
Android de la A a la Z
                                           Introducción “Conceptos generales sobre Java”

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




                                                                                                             6
Elaborado por: J. Ulises González Medina
android.unam@gmail.com
Noviembre 2011
Versión 1.2
Android de la A a la Z
                                           Introducción “Conceptos generales sobre Java”


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




                                                                                                           7
Elaborado por: J. Ulises González Medina
android.unam@gmail.com
Noviembre 2011
Versión 1.2
Android de la A a la Z
                                           Introducción “Conceptos generales sobre Java”

Operadores booleanos




Operadores a nivel de bits




Operadores de agrupación




                                                                                           8
Elaborado por: J. Ulises González Medina
android.unam@gmail.com
Noviembre 2011
Versión 1.2
Android de la A a la Z
                                           Introducción “Conceptos generales sobre Java”


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:




                                                                                                          9
Elaborado por: J. Ulises González Medina
android.unam@gmail.com
Noviembre 2011
Versión 1.2
Android de la A a la Z
                                           Introducción “Conceptos generales sobre Java”

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




                                                                                                       10
Elaborado por: J. Ulises González Medina
android.unam@gmail.com
Noviembre 2011
Versión 1.2

Más contenido relacionado

La actualidad más candente

Curso Introducción a android
Curso Introducción a androidCurso Introducción a android
Curso Introducción a android
Emilio Aviles Avila
 
R esume libro el gran libro de android
R esume libro el gran libro de androidR esume libro el gran libro de android
R esume libro el gran libro de android
wiliam lliulli herrera
 
Iniciación a Android
Iniciación a AndroidIniciación a Android
Iniciación a Android
aleatechnology
 
Introducción a Android: 10 cosas importantes que hay que entender
Introducción a Android: 10 cosas importantes que hay que entenderIntroducción a Android: 10 cosas importantes que hay que entender
Introducción a Android: 10 cosas importantes que hay que entender
jezabelink
 
Documento de android
Documento de androidDocumento de android
Documento de android
Edenilson Ramírez
 
Curso desarrollo en android
Curso desarrollo en androidCurso desarrollo en android
Curso desarrollo en android
Emilio Aviles Avila
 
Tutorial Android 1
Tutorial Android 1Tutorial Android 1
Tutorial Android 1
newimagenio
 
Conceptos y Generalidades de Android
Conceptos y Generalidades de AndroidConceptos y Generalidades de Android
Conceptos y Generalidades de Android
Pedro Antonio Villalta (Pavillalta)
 
Taller de prog. en android
Taller de prog. en androidTaller de prog. en android
Taller de prog. en androidKarla Silva
 
Tipos de software
Tipos de softwareTipos de software
Tipos de software
lgordian
 
Fundamentos desarrollo de Apps para Android
Fundamentos desarrollo de Apps para AndroidFundamentos desarrollo de Apps para Android
Fundamentos desarrollo de Apps para Android
andresuarezz26
 
Desarrollo android - 2 - arquitectura del sistema
Desarrollo android   - 2 - arquitectura del sistemaDesarrollo android   - 2 - arquitectura del sistema
Desarrollo android - 2 - arquitectura del sistema
Emilio Aviles Avila
 
Curso Android 2021
Curso Android  2021Curso Android  2021
Curso Android 2021
elprofenava2002
 
Android de la A a la Z PARTE 2 de 3 ulises gonzalez
Android de la A a la Z  PARTE 2 de 3 ulises gonzalezAndroid de la A a la Z  PARTE 2 de 3 ulises gonzalez
Android de la A a la Z PARTE 2 de 3 ulises gonzalez
Android UNAM
 
android evolution
android evolutionandroid evolution
android evolution
Noemii Lopez Gonzalez
 
Exposición 20 aniversario linux
Exposición 20 aniversario linuxExposición 20 aniversario linux
Exposición 20 aniversario linux
Freelancer
 
Entornos-de-Desarrollo-Eclipse-y-Android-SDK
Entornos-de-Desarrollo-Eclipse-y-Android-SDKEntornos-de-Desarrollo-Eclipse-y-Android-SDK
Entornos-de-Desarrollo-Eclipse-y-Android-SDK
Pedro Antonio Villalta (Pavillalta)
 
Android studio
Android studioAndroid studio
Unidad 2 Primeros pasos con android
Unidad 2 Primeros pasos con androidUnidad 2 Primeros pasos con android
Unidad 2 Primeros pasos con android
Lorena García Arnau
 

La actualidad más candente (20)

Curso Introducción a android
Curso Introducción a androidCurso Introducción a android
Curso Introducción a android
 
R esume libro el gran libro de android
R esume libro el gran libro de androidR esume libro el gran libro de android
R esume libro el gran libro de android
 
Iniciación a Android
Iniciación a AndroidIniciación a Android
Iniciación a Android
 
Introducción a Android: 10 cosas importantes que hay que entender
Introducción a Android: 10 cosas importantes que hay que entenderIntroducción a Android: 10 cosas importantes que hay que entender
Introducción a Android: 10 cosas importantes que hay que entender
 
Documento de android
Documento de androidDocumento de android
Documento de android
 
Curso desarrollo en android
Curso desarrollo en androidCurso desarrollo en android
Curso desarrollo en android
 
Tutorial Android 1
Tutorial Android 1Tutorial Android 1
Tutorial Android 1
 
Conceptos y Generalidades de Android
Conceptos y Generalidades de AndroidConceptos y Generalidades de Android
Conceptos y Generalidades de Android
 
Taller de prog. en android
Taller de prog. en androidTaller de prog. en android
Taller de prog. en android
 
Tipos de software
Tipos de softwareTipos de software
Tipos de software
 
Fundamentos desarrollo de Apps para Android
Fundamentos desarrollo de Apps para AndroidFundamentos desarrollo de Apps para Android
Fundamentos desarrollo de Apps para Android
 
Desarrollo android - 2 - arquitectura del sistema
Desarrollo android   - 2 - arquitectura del sistemaDesarrollo android   - 2 - arquitectura del sistema
Desarrollo android - 2 - arquitectura del sistema
 
Curso Android 2021
Curso Android  2021Curso Android  2021
Curso Android 2021
 
Android de la A a la Z PARTE 2 de 3 ulises gonzalez
Android de la A a la Z  PARTE 2 de 3 ulises gonzalezAndroid de la A a la Z  PARTE 2 de 3 ulises gonzalez
Android de la A a la Z PARTE 2 de 3 ulises gonzalez
 
android evolution
android evolutionandroid evolution
android evolution
 
Exposición 20 aniversario linux
Exposición 20 aniversario linuxExposición 20 aniversario linux
Exposición 20 aniversario linux
 
Material rap1
Material rap1Material rap1
Material rap1
 
Entornos-de-Desarrollo-Eclipse-y-Android-SDK
Entornos-de-Desarrollo-Eclipse-y-Android-SDKEntornos-de-Desarrollo-Eclipse-y-Android-SDK
Entornos-de-Desarrollo-Eclipse-y-Android-SDK
 
Android studio
Android studioAndroid studio
Android studio
 
Unidad 2 Primeros pasos con android
Unidad 2 Primeros pasos con androidUnidad 2 Primeros pasos con android
Unidad 2 Primeros pasos con android
 

Similar a "Android de la A a la Z" -- Introducción

Android de la A a la Z - Introducción
Android de la A a la Z - IntroducciónAndroid de la A a la Z - Introducción
Android de la A a la Z - Introducción
Jorge Ulises
 
Desarrollo.de.aplicaciones.con.java
Desarrollo.de.aplicaciones.con.javaDesarrollo.de.aplicaciones.con.java
Desarrollo.de.aplicaciones.con.java
Santiago Sora
 
Mi Lenguaje de Programación Preferido
Mi Lenguaje de Programación PreferidoMi Lenguaje de Programación Preferido
Mi Lenguaje de Programación Preferidostylee4799
 
Cuestionario
CuestionarioCuestionario
Cuestionario
Francisco Vallejo
 
Java completo y agragado
Java completo y agragadoJava completo y agragado
Java completo y agragadoMaria
 
Java completo y agragado
Java completo y agragadoJava completo y agragado
Java completo y agragadoMaria
 
Aprendiendo Java SCF
Aprendiendo Java SCFAprendiendo Java SCF
Aprendiendo Java SCF
mikaelsorai
 
Presentación.pptx
Presentación.pptxPresentación.pptx
Presentación.pptx
BrayanMontaoHernndez
 
programacion en java presentación con información.pdf
programacion en java presentación  con información.pdfprogramacion en java presentación  con información.pdf
programacion en java presentación con información.pdf
esmetolentino452
 
Java
JavaJava
Introducción a java
Introducción a javaIntroducción a java
Introducción a java
waldinelly
 
JAVA
JAVAJAVA
JAVA
ale8819
 
Clase2
Clase2Clase2
Clase2rilara
 
Fundamentos u3 v1
Fundamentos u3 v1Fundamentos u3 v1
Fundamentos u3 v1
Lubas Pc
 
Java presentation
Java presentationJava presentation
Java presentation
Gustavo Félix
 
Java de erlin
Java de erlinJava de erlin

Similar a "Android de la A a la Z" -- Introducción (20)

Android de la A a la Z - Introducción
Android de la A a la Z - IntroducciónAndroid de la A a la Z - Introducción
Android de la A a la Z - Introducción
 
Desarrollo.de.aplicaciones.con.java
Desarrollo.de.aplicaciones.con.javaDesarrollo.de.aplicaciones.con.java
Desarrollo.de.aplicaciones.con.java
 
Mi Lenguaje de Programación Preferido
Mi Lenguaje de Programación PreferidoMi Lenguaje de Programación Preferido
Mi Lenguaje de Programación Preferido
 
Cuestionario
CuestionarioCuestionario
Cuestionario
 
Java completo y agragado
Java completo y agragadoJava completo y agragado
Java completo y agragado
 
Java completo y agragado
Java completo y agragadoJava completo y agragado
Java completo y agragado
 
Ut
UtUt
Ut
 
Aprendiendo Java SCF
Aprendiendo Java SCFAprendiendo Java SCF
Aprendiendo Java SCF
 
Presentación.pptx
Presentación.pptxPresentación.pptx
Presentación.pptx
 
programacion en java presentación con información.pdf
programacion en java presentación  con información.pdfprogramacion en java presentación  con información.pdf
programacion en java presentación con información.pdf
 
Guia 1 java
Guia 1 javaGuia 1 java
Guia 1 java
 
Java
JavaJava
Java
 
Introducción a java
Introducción a javaIntroducción a java
Introducción a java
 
Programación de Software - Java
Programación de Software - JavaProgramación de Software - Java
Programación de Software - Java
 
JAVA
JAVAJAVA
JAVA
 
Clase2
Clase2Clase2
Clase2
 
Fundamentos u3 v1
Fundamentos u3 v1Fundamentos u3 v1
Fundamentos u3 v1
 
Java presentation
Java presentationJava presentation
Java presentation
 
Java de erlin
Java de erlinJava de erlin
Java de erlin
 
Java
JavaJava
Java
 

Más de Android UNAM

Móviles, fuerza de cambio
Móviles, fuerza de cambioMóviles, fuerza de cambio
Móviles, fuerza de cambio
Android UNAM
 
Todo trabajo es temporal
Todo trabajo es temporalTodo trabajo es temporal
Todo trabajo es temporal
Android UNAM
 
Android de la A a la Z Actividades ulises gonzalez
Android de la A a la Z   Actividades ulises gonzalezAndroid de la A a la Z   Actividades ulises gonzalez
Android de la A a la Z Actividades ulises gonzalez
Android UNAM
 
Android de la A a la Z PARTE 3 de 3 ulises gonzalez
Android de la A a la Z  PARTE 3 de 3 ulises gonzalezAndroid de la A a la Z  PARTE 3 de 3 ulises gonzalez
Android de la A a la Z PARTE 3 de 3 ulises gonzalez
Android UNAM
 
Android de la A a la z componentes de una aplicacion ulises gonzalez
Android de la A a la z   componentes de una aplicacion ulises gonzalezAndroid de la A a la z   componentes de una aplicacion ulises gonzalez
Android de la A a la z componentes de una aplicacion ulises gonzalez
Android UNAM
 
Android de la A a la Z XML Ulises Gonzalez
Android de la A a la Z  XML Ulises GonzalezAndroid de la A a la Z  XML Ulises Gonzalez
Android de la A a la Z XML Ulises Gonzalez
Android UNAM
 
Android de la A a la Z PARTE 1 de 3 ulises gonzalez
Android de la A a la Z PARTE 1 de 3 ulises gonzalezAndroid de la A a la Z PARTE 1 de 3 ulises gonzalez
Android de la A a la Z PARTE 1 de 3 ulises gonzalez
Android UNAM
 
"Android de la A a la Z" -- Unidad 11
"Android de la A a la Z" -- Unidad 11"Android de la A a la Z" -- Unidad 11
"Android de la A a la Z" -- Unidad 11
Android UNAM
 
"Android de la A a la Z" -- Unidad 10
"Android de la A a la Z" -- Unidad 10"Android de la A a la Z" -- Unidad 10
"Android de la A a la Z" -- Unidad 10
Android UNAM
 
Android de la A a la Z" -- Unidad 7
Android de la A a la Z" -- Unidad 7Android de la A a la Z" -- Unidad 7
Android de la A a la Z" -- Unidad 7
Android UNAM
 

Más de Android UNAM (10)

Móviles, fuerza de cambio
Móviles, fuerza de cambioMóviles, fuerza de cambio
Móviles, fuerza de cambio
 
Todo trabajo es temporal
Todo trabajo es temporalTodo trabajo es temporal
Todo trabajo es temporal
 
Android de la A a la Z Actividades ulises gonzalez
Android de la A a la Z   Actividades ulises gonzalezAndroid de la A a la Z   Actividades ulises gonzalez
Android de la A a la Z Actividades ulises gonzalez
 
Android de la A a la Z PARTE 3 de 3 ulises gonzalez
Android de la A a la Z  PARTE 3 de 3 ulises gonzalezAndroid de la A a la Z  PARTE 3 de 3 ulises gonzalez
Android de la A a la Z PARTE 3 de 3 ulises gonzalez
 
Android de la A a la z componentes de una aplicacion ulises gonzalez
Android de la A a la z   componentes de una aplicacion ulises gonzalezAndroid de la A a la z   componentes de una aplicacion ulises gonzalez
Android de la A a la z componentes de una aplicacion ulises gonzalez
 
Android de la A a la Z XML Ulises Gonzalez
Android de la A a la Z  XML Ulises GonzalezAndroid de la A a la Z  XML Ulises Gonzalez
Android de la A a la Z XML Ulises Gonzalez
 
Android de la A a la Z PARTE 1 de 3 ulises gonzalez
Android de la A a la Z PARTE 1 de 3 ulises gonzalezAndroid de la A a la Z PARTE 1 de 3 ulises gonzalez
Android de la A a la Z PARTE 1 de 3 ulises gonzalez
 
"Android de la A a la Z" -- Unidad 11
"Android de la A a la Z" -- Unidad 11"Android de la A a la Z" -- Unidad 11
"Android de la A a la Z" -- Unidad 11
 
"Android de la A a la Z" -- Unidad 10
"Android de la A a la Z" -- Unidad 10"Android de la A a la Z" -- Unidad 10
"Android de la A a la Z" -- Unidad 10
 
Android de la A a la Z" -- Unidad 7
Android de la A a la Z" -- Unidad 7Android de la A a la Z" -- Unidad 7
Android de la A a la Z" -- Unidad 7
 

Último

Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
ItsSofi
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
raquelariza02
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
Ing. Julio Iván Mera Casas
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
DiegoCampos433849
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
cristianrb0324
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
Emilio Casbas
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
ValeriaAyala48
 
maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
JimmyTejadaSalizar
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
AlejandraCasallas7
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
SamuelRamirez83524
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
samuelvideos
 
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
espinozaernesto427
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
Fernando Villares
 
Ventajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloroVentajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloro
durangense277
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
rafaelsalazar0615
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
AlejandraCasallas7
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
PABLOCESARGARZONBENI
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
thomasdcroz38
 

Último (20)

Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
 
maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
 
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
 
Ventajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloroVentajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloro
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 

"Android de la A a la Z" -- Introducción

  • 1. Android de la A a la Z Introducción “Conceptos generales sobre Java” 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. 1 Elaborado por: J. Ulises González Medina android.unam@gmail.com Noviembre 2011 Versión 1.2
  • 2. Android de la A a la Z Introducción “Conceptos generales sobre Java” 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. 2 Elaborado por: J. Ulises González Medina android.unam@gmail.com Noviembre 2011 Versión 1.2
  • 3. Android de la A a la Z Introducción “Conceptos generales sobre Java” 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. 3 Elaborado por: J. Ulises González Medina android.unam@gmail.com Noviembre 2011 Versión 1.2
  • 4. Android de la A a la Z Introducción “Conceptos generales sobre Java” 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). 4 Elaborado por: J. Ulises González Medina android.unam@gmail.com Noviembre 2011 Versión 1.2
  • 5. Android de la A a la Z Introducción “Conceptos generales sobre Java” 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. 5 Elaborado por: J. Ulises González Medina android.unam@gmail.com Noviembre 2011 Versión 1.2
  • 6. Android de la A a la Z Introducción “Conceptos generales sobre Java” 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 6 Elaborado por: J. Ulises González Medina android.unam@gmail.com Noviembre 2011 Versión 1.2
  • 7. Android de la A a la Z Introducción “Conceptos generales sobre Java” 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 7 Elaborado por: J. Ulises González Medina android.unam@gmail.com Noviembre 2011 Versión 1.2
  • 8. Android de la A a la Z Introducción “Conceptos generales sobre Java” Operadores booleanos Operadores a nivel de bits Operadores de agrupación 8 Elaborado por: J. Ulises González Medina android.unam@gmail.com Noviembre 2011 Versión 1.2
  • 9. Android de la A a la Z Introducción “Conceptos generales sobre Java” 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: 9 Elaborado por: J. Ulises González Medina android.unam@gmail.com Noviembre 2011 Versión 1.2
  • 10. Android de la A a la Z Introducción “Conceptos generales sobre Java” A continuación desarrollaremos el código para la clase Ave y además crearemos un objeto de la misma: 10 Elaborado por: J. Ulises González Medina android.unam@gmail.com Noviembre 2011 Versión 1.2