Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.
-
Upload
eugenia-olgin -
Category
Documents
-
view
221 -
download
0
Transcript of Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.
![Page 1: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/1.jpg)
Java Básico
Universidad Nacional Autónoma de MéxicoFacultad de Estudios Superiores Aragón
![Page 2: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/2.jpg)
Agenda
Conceptos Básicos Que es un lenguaje de programación Paradigmas de programación
Entorno de programación con Java La maquina Virtual de Java (java.exe) El compilador Java (javac.exe) Variables de entorno relacionados Introducción a la programación con Java
Estructuras de control básicas (if, if-else. Switch, while, do-while, for)
Caracteristicas del Lenguiaje Java IDE (Integarted Development Environment)
![Page 3: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/3.jpg)
Agenda (cont.) Programación Orientada a Objetos con Java
Conceptos Basicos Clase, Objeto, Atributo, Métodos, etc.
Abstracción Encapsulamiento
Paquetes en java Especificadores de acceso en java
Public, private, protected y friendly. Composición Herencia Polimorfismo Manejo de errores Clases abstractas Interfaces Herencia múltiple
![Page 4: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/4.jpg)
Arquitectura Von Newman
![Page 5: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/5.jpg)
Lenguaje de Programación: Definición
Un lenguaje de programación es un sistema notacional para describir computaciones de una forma legible tanto para la máquina como para el ser humano(Programador).
![Page 6: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/6.jpg)
Lenguaje de programación
Sintaxis + Semántica
![Page 7: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/7.jpg)
Sintaxis (estructura léxica) Gramáticas libres de contexto, estructura léxica,
tokens Semántica (significado)
Lenguaje natural Semántica operacional Semántica denotacional
![Page 8: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/8.jpg)
Analogía con el lenguaje natural (Esp.)
Elementos Sintácticos (sintaxis) El, yo, tu, la, los, las, da, perro, casa, come, corre,
brinca, señor,señora, corre, croquetas … Semántica
Oración: sujeto + verbo +predicado El perro come croquetas que le da el señor. croquetas el come da perro que señor le el.
![Page 9: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/9.jpg)
Ejemplo…int A=0;int B=8;int C=7;A= B + C;System.out.println(A);…
…int =0A;B int =8;C=7 int;A B + C =;System.out.println(); A…
![Page 10: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/10.jpg)
Más Conceptos
Compilador:
Es un programa que recibe de entrada un archivo con instrucciones escritas en un lenguaje de programación de alo nivel, lo analiza, lo traduce a un lenguaje ejecutable equivalente y finalmente almacena el resultado en DD.
Intérprete:
Es un programa que recibe de entrada un archivo con instrucciones escritas en un lenguaje de programación, lo traduce y ejecuta al vuelo (JIT).
![Page 11: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/11.jpg)
Paradigmas de programación
Universidad Nacional Autónoma de México
Diplomado de Tecnologías de la Información
![Page 12: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/12.jpg)
Definición
Los paradigmas son un conjunto de conocimientos y creencias que forman una visión del mundo (cosmovisión).
Paradigma de programación: Representa un enfoque particular o
filosofía para la construcción de programas. No es mejor uno que otro sino que cada uno tiene ventajas y desventajas. También hay situaciones donde un paradigma resulta más apropiado que otro
![Page 13: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/13.jpg)
Paradigma Imperativo
Modela la arquitectura de la máquina de von Neumann. La computación consiste en la ejecución paso a paso de algoritmos (secuencias condicionales o repetitivas de instrucciones) que modifican los contenidos de variables (espacios de memoria)
![Page 14: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/14.jpg)
![Page 15: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/15.jpg)
Paradigma funcional
Conjunto de valores, funciones y las operaciones de aplicación de función y composición de función, Las funciones pueden tomar como argumentos otras funciones y devolverlas como resultados Un programa es una colección de definiciones de funciones. Una computación es una evaluación (aplicación) de una expresión (función con sus argumentos).
• Tipos de datos• Expresiones condicionales• Recursión
![Page 16: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/16.jpg)
qsort [] = []qsort (x:xs) = qsort elts_lt_x ++ [x] ++ qsort elts_greq_xwhereelts_lt_x = [y | y <- xs, y < x]elts_greq_x = [y | y <- xs, y >= x]
LISP, Haskell, Gofer
![Page 17: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/17.jpg)
Paradigma Lógico
Se basa en la manipulación de bases de conocimiento para decidir resolver problemas lógicos
![Page 18: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/18.jpg)
% Basepadre(juan,alberto). padre(luis,alberto). padre(alberto,leoncio). padre(geronimo,leoncio). padre(luisa,geronimo). % condiciones , predicados% parentesco hermanos hermano(A,B) :- padre(A,P), padre(B,P), A \== B. % parentesco abuelo-nieto.
nieto(A,B) :- padre(A,P), padre(P,B).
?- nieto(luis,X).
X = leoncio No
![Page 19: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/19.jpg)
Paradigma orientado a objetos
Define la computación como la interacción entre objetos autónomos mediante la utilización de objetos, la programación se convierte en simulación.
Los objetos son instancias de clases que se organizan en jerarquías de herencia
Los objetos se comportan independientemente Utilizan la selección de las operaciones en tiempo de ejecución cuando interpretan los mensajes provenientes de otros objetos
![Page 20: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/20.jpg)
![Page 21: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/21.jpg)
Programación Orientada a Objetos
Universidad Nacional Autónoma de México
![Page 22: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/22.jpg)
Introducción a la Programación con Java
Antes de entrar a los conceptos de programación estudiaremos el entorno de programación Java
![Page 23: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/23.jpg)
¿ Que es Java ?
Java es un lenguaje de programación orientado a objetos.
Desarrollado por Sun Microsystems, una empresa reconocida por sus estaciones de trabajo UNIX de alta calidad.
Moldeado en base a C++, el lenguaje Java se diseñó para ser pequeño, sencillo y portátil a través de plataformas y sistemas operativos, tanto a nivel de código fuente como en binario.
![Page 24: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/24.jpg)
Enterprise JavaBeansEnterprise JavaBeans
RMIRMI
Programación distribuidaProgramación distribuida
CORBACORBA
JDBCJDBCBases de datosBases de datos
Java3DJava3D
Java2DJava2D
Programación gráficaProgramación gráfica
JINIJINI
Sistemas embebidosSistemas embebidos
JavaSpacesJavaSpaces
AppletsApplets
WWWWWW
Java Web StartJava Web Start
ServletsServlets
Java Server PagesJava Server Pages
ServidorServidor
Java Server FacesJava Server Faces
JavaBeansJavaBeans
JNIJNI
ProgramaciónProgramación
java.*java.*
J2MEJ2ME
AWT
AWT
Programación UIProgramación UI
SwingSwingSWTSWT
![Page 25: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/25.jpg)
![Page 26: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/26.jpg)
Palabras clave (sintaxis)
abstractbooleanbreakbytebyvaluecasecastcatchcharclassconstcontinue
defaultdodoubleelseextendsfalsefinalfinallyfloatforfuturegeneric
gotoifimplementsimportinnerinstanceofintinterfacelongnativenewnull
operatorouterpackageprivateprotectedpublicrestreturnshortstaticsuperswitch
synchronizedthisthrowthrowstransienttruetryvarvoidvolatilewhile
![Page 27: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/27.jpg)
Java es independiente de la plataforma
Es una de las ventajas mas representativas que tiene Java sobre otros lenguajes de programación.
En particular para los sistemas que necesitan funcionar en variar plataformas.
Java mantiene esta independencia de la plataforma tanto a nivel del código fuente como del binario.
Independencia de la plataforma es la capacidad del programa de trasladarse con facilidad de un sistema computacional a otro.
![Page 28: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/28.jpg)
Arquitectura Java
![Page 29: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/29.jpg)
La maquina virtual de java
jvm jvm jvm
![Page 30: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/30.jpg)
¿Cómo sucede esto ?
Los archivos binarios Java se encuentran, de hecho, en una forma llamada bytecode.
Bytecodes son un conjunto de instrucciones muy parecidas al código de máquina, pero que no son específicas para algún procesador.
![Page 31: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/31.jpg)
![Page 32: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/32.jpg)
Creando una aplicación Java
Los archivos fuente se crean en un editor de texto sencillo, o en uno que puede guardar archivos en ASCII común, sin caracteres para dar formato.
![Page 33: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/33.jpg)
Todo el programa está encerrado en una definición de clase (aquí, una clase llamada HolaMundo).
Toda clase en Java se debe guardar en un archivo con el mismo nombre (Case sensitive)
El punto de entrada del programa es una rutina especial(método) llamada main.
Todo bloque de programa esta encerrado entre picoparentesis “{” y “}”
Partes del programa en java
![Page 34: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/34.jpg)
Por convención, los archivos fuente Java tienen el mismo nombre de la clase que definen-> HolaMundo.java.
Compilar el archivo fuente con el compilador javac.
En el JDK de Sun, el compilador Java se llama javac.
Para compilar su programa Java, asegúrese de que el programa javac se encuentra en la misma ruta de su programa. O configure el PATH de las variables de ambiente del S.O.
Guardar el programa
![Page 35: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/35.jpg)
El comando javac compila el código fuente Java y lo convierte en Bytecodes.
Nota: Revisar las variables de entorno PATH y CLASSPATH
Compilando el programa
![Page 36: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/36.jpg)
Teclee java seguido por el nombre del archivo sin la extención .class:
Java HolaMundo
Si su programa se escribió y compiló de manera correcta, deberá obtener la cadena “Hola Mundo!” impresa en su pantalla como respuesta.
Nota: Recuerde, el compilador Java y el intérprete Java son diferentes. Utilice el compilador (javac para sus archivos fuente Java a fin de crear archivos.classy use el intérprete (java) para ejecutar sus archivos de clase.
![Page 37: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/37.jpg)
Respuesta:
![Page 38: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/38.jpg)
Estructura de una clase en java
![Page 39: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/39.jpg)
Nombre del paquete al que pertenece
Inclusión de bibliotecas
Nombre de la clase
Atributos de la clase
Constructor por defecto
Constructor sobrecargado
Método de acceso
Método de uso general
Método main
![Page 40: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/40.jpg)
NetBeans 5.5 y 6.0
Es un IDE (Entorno de Desarrollo Integrado). Proyecto de código abierto y gratuito. una herramienta para programadores
pensada para escribir, compilar, depurar y ejecutar programas en JAVA.
![Page 41: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/41.jpg)
Interfaz
![Page 42: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/42.jpg)
interfaz
![Page 43: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/43.jpg)
Interfaz
![Page 44: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/44.jpg)
Interfaz
![Page 45: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/45.jpg)
Classpath (bibliotecas)
![Page 46: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/46.jpg)
Matisse
![Page 47: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/47.jpg)
Primer proyecto en NetBeans
![Page 48: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/48.jpg)
Elegir tipo de proyecto
![Page 49: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/49.jpg)
Propiedades del Proyecto
![Page 50: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/50.jpg)
Proyecto Generado
Proyecto
Paquete
Ventana de edición de código
![Page 51: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/51.jpg)
Edición Código
![Page 52: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/52.jpg)
Compilación y Ejecución
![Page 53: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/53.jpg)
Introducción a la Programación
Orientada a Objetos
![Page 54: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/54.jpg)
Convenciones decodificación
http://java.sun.com/docs/codeconv/ El 80 % del costo de tiempo de vida de una pieza
de software, se la pasa en mantenimiento. Difícilmente el mantenimiento es hecho por su autor
original. Convenciones de codificación le da a los programas
claridad para el mantenimiento. Si se adquiere código fuente de terceros debemos
asegurarnos que siga estas convenciones.
![Page 55: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/55.jpg)
Indentación Líneas 80 cars. Convenciones de nombrado:
Clases.- Minúsculas con la primera mayúscula. Ejemplo: Usuario, FacturaAnual, Jugador, etc.
Paquetes.- todo en minúsculas y se recomienda poner las siglas de la organización. Ejemplos: datos, java.util,com.mysql, edu.fes, etc.
Interfaces.- Igual que las clases.
![Page 56: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/56.jpg)
Atributos.- Todo en minúsculas, si es compuesta la inicial de las palabras subsecuentes en mayúscula. Ejemplos: int nombre, String numeroCuenta, etc.
Métodos .- Igual que los atributos. Ejemplos: comparar(), actualizarDatos(), etc.
Constantes Todo en mayúsculas separados por guión bajo “_”.
Ejemplo: static final int MAX_VALUE=10
![Page 57: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/57.jpg)
Introducción a la programación con
Java
![Page 58: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/58.jpg)
Ejemplo 1
![Page 59: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/59.jpg)
Ejemplo2
![Page 60: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/60.jpg)
Estructuras de control
Secuencia Selección
If If-else Switch
Repeticion For While Do-while
![Page 61: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/61.jpg)
Secuencia
Implícita en el lenguaje Se refiere a que después de cada sentencia
(oración) ejecutada, se ejecuta la sentencia siguiente en el programa.
Un programa sigue un flujo de ejecucion desde inicio a fin.
Se permite ceder el control del programa, pero siempre es regresado para continuar en el punto en que se quedo.
![Page 62: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/62.jpg)
Estructura de selección if
If: Decisión Se evalúa una condición, sí se cumple (igual a true)
se ejecuta el bloque, e lo contrario se brinca el bloque
If, sintaxis:If( [condicion]){
[bloque de instrucciones]}
![Page 63: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/63.jpg)
Operadores relacionales
![Page 64: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/64.jpg)
Ejemplo3
Imprimir a si y solo si es mayor que b
![Page 65: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/65.jpg)
Estructura de selección if -else
If: Decisión con bifurcación Se evalúa una condición, sí se cumple (igual a true)
se ejecuta el bloque if, de lo contrario ejecuta el bloque “else”
If-else, sintaxis:If( [condicion]){
//[bloque de instrucciones]}else{
//[bloque de instrucciones del “else”]}
![Page 66: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/66.jpg)
Ejemplo if-else
![Page 67: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/67.jpg)
Ejercicio
Tenemos 3 variables de tipo entero, hacer un programa que averigüe cual de las tres es el más grande.
Nota: a, b y c son diferentes.
Ejemplo:a=9b=3c=56
Resultado : c es el mayor de todos, es igual a 56
![Page 68: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/68.jpg)
Estructura de selección switch switch: Selección multiple
Se censa una variable, sí se cumple con cualquiera de los casos se ejecuta el bloque correspondiente al mismo.
switch, sintaxis:switch( variable ){
case 1:[bloque case 1]
break;case 2:
[bloque case n] break;
…default:
[bloque default]break;}
![Page 69: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/69.jpg)
Ejercicio
Tenemos 1 variable de tipo entero, hacer un programa envié un mensaje a la pantalla dependiendo del valor de la variable, en relación a la sig. Tabla:
1
Mensaje Hola
2 Adios
3 Bye
4 Hello
5 Bongiorno
![Page 70: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/70.jpg)
![Page 71: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/71.jpg)
Estructura de repetición for for: repetición desde, hasta
Se ejecuta un bloque n veces, el numero de veces es controlada por una variable que es inicializada y mientras cumpla una condición.
for, sintaxis:
for( [inicialización] ; [condición] ; [incremento] ){//[bloque de sentencias de la estructura for]
}
for( j=0 ; j<=5 ; j=j+1){ System.out.println(“Hola");
}
![Page 72: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/72.jpg)
Ejercicio
Hacer un programa que imprima en pantalla la tabla del 7
Hacer un programa que imprima las tablas desde 3 al 8.
![Page 73: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/73.jpg)
Solución
![Page 74: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/74.jpg)
Estructura de repetición while while: repetición mientras
Se ejecuta un bloque mientras se cumpla una condición.
while, sintaxis:
while( [condición] ) {[bloque de sentencias de la estructura while]
}
int c=0;while( c != 1){
System.out.println(“Hola"); c=teclado.nextInt();}
![Page 75: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/75.jpg)
Ejemplo
Imprimir los valores factoriales de n entre 1 y 5000
![Page 76: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/76.jpg)
Estructura de repetición do-while while: haz mientras
Igual que while solo que primero ejecuta el bloque.
Do-while, sintaxis:
do{[bloque de sentencias de la estructura while]
} while( [condición] ) ;
int c=0; do{
System.out.println(“Hola"); c=Integer.parseInt(JOptionPane.showInputDialog(“Nuevo val."));} while( c != 1);
![Page 77: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/77.jpg)
Ejercicio
Hacer un programa que imprima un menu hasta que se elija la opción salir. 0 para salir
![Page 78: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/78.jpg)
Programación Orientada a Objetos
![Page 79: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/79.jpg)
Que es la POO
Define la computación como la interacción entre objetos autónomos mediante la utilización de objetos
La programación se convierte en simulación. Los objetos son instancias de clases que se pueden
organizar en jerarquías. Los objetos se comportan independientemente
Utilizan la selección de las operaciones en tiempo de ejecución cuando interpretan los mensajes provenientes de otros objetos.
![Page 80: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/80.jpg)
¿Que es un objeto (Concepto)?
En una cosa tangible, o que se puede comprender intelectualmente.
![Page 81: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/81.jpg)
¿Qué es un objeto en la P.O.O.?
Es un ejemplar de una definición de clase. El objeto representa una un estado (el valor
de sus atributos) desde el mismo momento en el que fue creado.
El comportamiento es determinado por la definición de la clase.
![Page 82: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/82.jpg)
Clase es la definición de tipo de dato.
• Una clase esta formada por:Un nombre, AtributosY métodos
NOMBRE
ATRIBUTOS
MÉTODOS
Es una “Plantilla” de un tipo de datos.
¿Que es una clase?
![Page 83: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/83.jpg)
Clase Foco
La siguiente es la definición de una nueva clase de nombre Foco:
Foco
potenciacolormarca
encender()fundir()setMarca(String)String getMarca()
Atributos
Métodos
![Page 84: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/84.jpg)
Atributos
Los atributos de una clase clase define sus características y tienen algún valor.
Los atributos pueden ser de diferentes tipos de datos.
Foco
int potenciaString colorString marca
encender()fundir()setMarca(String)String getMarca()
![Page 85: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/85.jpg)
Métodos
Define el comportamiento de la clase
Establece las interfaces de comunicación con el código.
Los métodos pueden o no recibir parámetros de entrada.
Retornan un tipo de datos.
![Page 86: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/86.jpg)
Métodos de la clase Foco
Foco
int potenciaString colorString marca
void encender()void fundir()void setMarca(String)String getMarca()
![Page 87: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/87.jpg)
![Page 88: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/88.jpg)
Crear un objeto de tipo Foco
Foco unFoco = new Foco();
unFocoint potencia=0
String Color=null String marca=null
FundirEncender
setMarca(String m)
Que es un objeto en la POO
![Page 89: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/89.jpg)
Usando la definición de clase Foco
![Page 90: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/90.jpg)
Abstracción
Generalización conceptual de los atributos y comportamiento de los objetos
Objetivo: Abstraer los métodos y atributos comunes a un objeto y almacenar su definición en una clase.
![Page 91: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/91.jpg)
Encapsulación
Empaquetar un conjunto de objetos en una definición de clase
Separación del aspecto externo del interno del objeto
Se maneja al objeto como una caja negra Asegura que la implementación de un objeto
sin afectar a los clientes.
![Page 92: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/92.jpg)
Especificadotes de acceso
publicprivateprotegidofriendly
![Page 93: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/93.jpg)
Public
El elemento (atributo o método) es visible desde cualquier parte en donde se este usando la clase.
Este tipo de modificador permite establecer el aspecto externo de la clase.
![Page 94: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/94.jpg)
![Page 95: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/95.jpg)
private: privado
El elemento solo es visible desde la clase en que esta definido.
Este especificador permite establecer el aspecto interno de la clase, es decir permite el encapsulamiento.
![Page 96: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/96.jpg)
Ejemplo con la clase Foco
1. Observar que en la clase useFoco se puede acceder al nombre directamente.
2. Hacer privado el atributo nombre en la clase Foco.
3. Recompilar la clase “useFoco”,observe que pasa cuando se trata de acceder al atributo nombre.
4. Hacer lo mismo con un método.
![Page 97: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/97.jpg)
![Page 98: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/98.jpg)
protected: protegido
Relacionado con el concepto de Herencia (se vera más adelante).
Es una combinación de los accesos que proporcionan los modificadores public y private.
Proporciona acceso público para las clases derivadas producto de la herencia.
Para todas las demás clases se hacen privadas.
![Page 99: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/99.jpg)
Friendly
Implícito, default (No tiene palabra clave). Las clases del mismo paquete tienen acceso
a este elemento.
![Page 100: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.](https://reader035.fdocuments.mx/reader035/viewer/2022062305/5665b4401a28abb57c9064da/html5/thumbnails/100.jpg)
Ejemplo
Modificar la clase Foco, establecer el atributo raza friendly(sin tipo de acceso)
Recompilar y probar la clase UseFoco Hacer una clase externa al paquete cosas y
tratar de acceder al atributo potencia.