Unidad 1 Ideas Claves POO PDF
Document Details
Uploaded by FinerGyrolite561
UBE
Tags
Related
Summary
This document provides an overview of key concepts in object-oriented programming (OOP) and Java, suitable for an undergraduate-level course in computer science or engineering. It covers fundamental topics like algorithms, programming paradigms, and the Java programming language.
Full Transcript
Unidad 1 Fundamentos de la POO y Java INGENIERÍA EN SISTEMAS DIGITALES Ideas claves de la Unidad 1 1 ...
Unidad 1 Fundamentos de la POO y Java INGENIERÍA EN SISTEMAS DIGITALES Ideas claves de la Unidad 1 1 Unidad 1 Fundamentos de la POO y Java Índice Tabla de contenido El algoritmo y la programación.......................................................................................................................... 4 Un problema...................................................................................................................................................... 4 El problema computable o decidible................................................................................................................. 5 Programa........................................................................................................................................................... 5 Paradigma o tipos de programación................................................................................................................. 5 Programación o programar............................................................................................................................... 6 Lenguaje de programación................................................................................................................................ 6 Operaciones algorítmicas.................................................................................................................................. 8 Operadores...................................................................................................................................................... 10 Identificadores................................................................................................................................................. 13 Representatividad y uso de PseInt.................................................................................................................. 14 Forma general del Seudocódigo.................................................................................................................. 15 Variables en Seudocódigo........................................................................................................................... 16 Tipos de datos del Seudocódigo.................................................................................................................. 16 Simples..................................................................................................................................................... 16 Arreglos.................................................................................................................................................... 16 Expresiones del Seudocódigo...................................................................................................................... 17 Funciones/SubProcesos del Seudocódigo................................................................................................... 17 Algoritmo y POO.............................................................................................................................................. 19 Metodología básica de resolución de problemas........................................................................................... 21 Análisis del problema.................................................................................................................................. 22 Diseño del algoritmo................................................................................................................................... 22 El algoritmo y la programación Java................................................................................................................ 24 ¿Qué es Java?.............................................................................................................................................. 24 ¿Cómo hacer programas Java?.................................................................................................................... 24 Editores, compiladores y programas de apoyo para el aprendizaje de Java.............................................. 26 BlueJ......................................................................................................................................................... 26 2 Unidad 1 Fundamentos de la POO y Java NetBeans................................................................................................................................................. 27 Jdoodle.................................................................................................................................................... 30 Primeros conceptos generales.................................................................................................................... 31 Constantes y variables............................................................................................................................. 31 Constantes:............................................................................................................................................. 31 Variables:................................................................................................................................................. 32 Entradas, asignaciones y salidas.............................................................................................................. 32 Operandos, operadores y expresiones.................................................................................................... 34 Órdenes secuenciales, de control y repetitivas........................................................................................... 34 Referencias...................................................................................................................................................... 39 3 Unidad 1 Fundamentos de la POO y Java Desarrollo El algoritmo y la programación En Informática un algoritmo es un conjunto de instrucciones que sirve para resolver un problema. Parte de un estado y datos iniciales, se siguen pasos ordenados para llegar a la solución de una situación determinada. En Programación, es un paso previo a escribir código en un lenguaje de programación, por lo que primero debemos encontrar la forma de obtener la solución al problema, y es en este instante inicial, donde desarrollamos un algoritmo. No obstante, los algoritmos no de exclusividad de la programación o las matemáticas, como puede pensarse, lo es para otros ámbitos, como los habituales de la vida, como al levantarnos después de despertarnos, el ir a clases como estudiante, como docente, aplicar una receta de cocina, entre otros casos. (Diferenciador) Un problema Es un determinado asunto que requiere solución. Proceso de solución de un problema (s.f.). Recuperado de https://universidad-de-los- andes.gitbooks.io/fundamentos-de-programacion/content/Nivel1/3_ProblemasYSoluciones.html 4 Unidad 1 Fundamentos de la POO y Java El problema computable o decidible Es una abstracción de la realidad que tiene representación algorítmica, por lo que puede decirse también que un algoritmo permite encontrar la solución problemas computables (Pérez, 2008). Ejemplos de problemas computables son los siguientes: Verificar si un número es primo o no Cálculo de un factorial Ordenar una lista de elementos Resolver una ecuación lineal Verificación de ortografía Comprimir archivos Planificar rutas Búsqueda de información en internet Un problema computable significa que existe un algoritmo que calcula una respuesta (salida) para cualquier instancia de un problema en un número finito de pasos simples para hallar su solución. Programa Un programa es un conjunto de instrucciones a seguir la computadora para obtener un resultado. Todo programa informático presenta tres etapas que son: Entrada, proceso y salida. Entrada: Aquí el programa recibe datos que sirven para resolver el problema Proceso: Son los pasos (operaciones) necesarios para resolver el problema Salida: Es el resultado que se obtiene del programa Si esta salida no es la deseada, se hace necesario retroalimentar. Paradigma o tipos de programación “Es una perspectiva desde la cual se mira el problema computable y se resuelve con posibilidades específicas de las tecnologías y dispositivos modernos de manera que se haga más sencilla, manejable y efectiva dicha solución” (Trejos y Muñoz, 2020, pág. 36) Estos paradigmas los mencionamos aquí: 5 Unidad 1 Fundamentos de la POO y Java Imperativa Estructurada Procedimental, Modular o Funcional Orientada a Objetos Por Capas Declarativa Concurrente Lógica Multiparadigma Programación o programar Es el proceso de escribir código para resolver un problema en particular o para implementar una tarea específica. Lenguaje de programación Es un lenguaje formal o artificial, bajo reglas específicas (sintaxis) que permite escribir programas en correspondencia a la aplicación de un determinado algoritmo. Programación Tradicional, Estructural y POO Tradicional: Escribir instrucciones secuenciales usando saltos condicionales y no condicionales para el control de flujo del Programa. Implica código desorganizado y difícil de mantener. Su característica principal es el uso de GOTO. El modelo de programación (23 de septiembre del 2022). Tomado de https://learn.microsoft.com/es-es/windows/win32/rpc/the-programming-model Que con el tiempo se fue mejorando con el empleo de funciones y bibliotecas. 6 Unidad 1 Fundamentos de la POO y Java Estructural: Es aquella que recurre a tres estructuras de control:Secuencial, Selección y Repetición, y al empleo de subrutinas (unidades de procedimientos, funciones, métodos o subprogramas). Suprime el GOTO (De Los Santos, 2021). Estructuras de control (s.f.). Recuperado de https://jorgedelossantos.github.io/apuntes- python/Estructuras%20de%20control.html Programación Orientada a Objetos: Elimina la Programación Tradicional e introduce una combinación de datos y funciones Hablamos de Clases y Objetos Clase: Es una entidad que determina cómo se comportará un objeto y qué contendrá el objeto. Objeto: Es un componente autónomo que consiste en métodos y propiedades para hacer útil un tipo particular de datos. El objeto determina el comportamiento de la clase. Cuando envía un mensaje a un objeto, le pide al objeto que invoque o ejecute uno de sus métodos (Guru99, 2023). 7 Unidad 1 Fundamentos de la POO y Java Miembros de datos identificados, acciones identificadas, clase, miembros de datos y método (s.f.). Recuperado de https://guru99.es/java-oops-class-objects/ Miembros de datos identificados, acciones identificadas, clase, miembros de datos y método (s.f.). Recuperado de https://guru99.es/java-oops-class-objects/ Operaciones algorítmicas Debemos partir de que los datos se clasifican en simples y complejos: Simples o Numéricos ▪ Enteros No tiene parte decimal. Ej: 1 , 2, 60, -6, -10 ▪ Reales Tienen parte decimal. Ej: 10.45, 2.30, -24.32 , -10-98 o Lógicos 8 Unidad 1 Fundamentos de la POO y Java ▪ Son aquellos que solo pueden tener uno de los dos valores posibles (cierto o falso) ya que representan el resultado de una comparación entre otros datos (numéricos o alfanuméricos). Ej: puerta abierta, que la representamos como puerta_abierta, cuyo valor puede ser verdadero o falso. o Alfanuméricos ▪ Es una secuencia de caracteres alfanuméricos que permiten representar valores identificables de forma descriptiva, esto incluye nombres de personas, direcciones, et. Es posible representar números como alfanuméricos, pero estos pierden su propiedad matemática, es decir no es posible hacer operaciones con aquellos. Ej: “Hola amigo”, “1”, “1 con doble comilla no tiene valor matemático”. Complejos o Arreglos. Son estructuras por dimensiones. ▪ Unidimensionales. Una dimensión (Juárez). Representación gráfica de un arreglo (s.f.). Recuperado de https://www.uacj.mx/CGTI/CDTE/JPM/Documents/IIT/arreglos1/unidimensional.html Representación gráfica de un arreglo, componentes e índices (s.f.). Recuperado de https://www.uacj.mx/CGTI/CDTE/JPM/Documents/IIT/arreglos1/unidimensional.html ▪ Multidimensionales. Más de una dimensión (Nieva, 2017). Ejemplos de arreglos multidimensionales (s.f.). Recuperado de https://dcodingames.com/arreglos-bidimensionales-java/ 9 Unidad 1 Fundamentos de la POO y Java o Estructuras ▪ Son formas organizadas de almacenar y manipular (operar) datos. Entre ellas tenemos (a más de arreglos): Listas, colas, pilas, árboles, grafos; entre otros. Las operaciones algorítmicas que se hagan dependen del tipo de dato. Para efectos de la presente asignatura trataremos datos simples y arreglos. Operadores Es importante el uso de datos y operadores. Estos se dividen en: Aritméticos, relacionales y lógicos. Aritméticos: Son los que permite las operaciones de suma, resta, multiplicación, división, modulo y asignación. Cumplen las reglas de precedencia de operadores: o Se calcula primero la multiplicación, división y módulo, que tienen el mismo nivel de precedencia, que en una expresión algorítmica, se calcula de izquierda a derecha. o Operaciones de suma y resta, que tiene el mismo nivel de precedencia. De igual modo, en una expresión algorítmica, se calcula de izquierda a derecha. o Si en la expresión se encuentra paréntesis, estos indican que lo que hay que calcular se encuentra entre ellos. Esto implica, que en una expresión algorítmica, primero se calcula lo que se haya entre los paréntesis. Si hay párentesis anidadados, se calcula primero el más interno, y así hasta el último. o Por último, la asignación del valor. Que se asigna al identificador que se encuentra a la izquierda antes del signo igual (Universidad Veracruzana, pág. 14). 10 Unidad 1 Fundamentos de la POO y Java Precedencia de los operadores aritméticos (Claudia, pág. 14). Recuperado de https://www.uv.mx/personal/clgarcia/files/2012/10/ANTOLOGIA_pag_6_18.pdf Relacionales: Son los que se usan para determinar la relación de la expresión de la izquierda con la derecha (binarios). El resultado es un valor verdadero o falso. 11 Unidad 1 Fundamentos de la POO y Java Precedencia de los operadores aritméticos (Claudia, pág. 15). Recuperado de https://www.uv.mx/personal/clgarcia/files/2012/10/ANTOLOGIA_pag_6_18.pdf Precedencia de los operadores aritméticos (Claudia, pág. 16). Recuperado de https://www.uv.mx/personal/clgarcia/files/2012/10/ANTOLOGIA_pag_6_18.pdf Lógicos: Son los que soportan las operaciones AND, OR y NOT. Precedencia de los operadores aritméticos (Claudia, pág. 16). Recuperado de https://www.uv.mx/personal/clgarcia/files/2012/10/ANTOLOGIA_pag_6_18.pdf Los operadores lógicos no están al mismo nivel de precedencia entre ellos. El operador NOT es el de mayor, posteriormente se encuentra el AND y por último el OR. 12 Unidad 1 Fundamentos de la POO y Java Precedencia de los operadores aritméticos (Claudia, pág. 17). Recuperado de https://www.uv.mx/personal/clgarcia/files/2012/10/ANTOLOGIA_pag_6_18.pdf Identificadores Un identificador es un espacio de memoria RAM de la computadora que sirve para guardar temporalmente un dato. Se dividen en: Constantes: Es un dato que está dentro del mismo código del algoritmo (programa). Ej: PI, SUELDO_BASICO = 500. Las constantes pueden ser propias de un lenguaje de programación, como también se las puede definir en el código propio del algoritmo y de un programa fuente. Variable: Es aquel que varía durante la ejecución del código del algoritmo (programa). Un variable por su uso puede ser: o De trabajo: Reciben el resultado de una operación. Ej: c= a + b, sueldo = básico + ingresos o Contador: Se usa para controlar un número de ocasiones en que se realiza una operación o condición. Ej: i = i + 1, x = x + 3. o Acumulador: Sirve para llevar suma acumulativa de valores. Ej: suma_total_sueldos = suma_total_sueldos + suma_de_sueldo_de_un_trabajador. o Switch o Bandera: Es una variable que recibe uno de dos valores posibles, generalmente es de tipo booleano, es decir true o false, ó 0 o 1. Ej: recibió_pago_de_sueldo, asistio_a_clases, termino_examen. Podemos resumir que un identificador tiene nombre y valor. Observemos los ejemplos Inicial y Nombre. Un ejemplo en Java tenemos aquí: 13 Unidad 1 Fundamentos de la POO y Java Representatividad y uso de PseInt ¿Qué es PseInt? Es un entorno de desarrollo integrado con un lenguaje imperativo basado en español, que sirve para aprender a crear y ejecutar algoritmos. Cuando se lo instala (se lo baja de esta URL https://pseint.sourceforge.net/), pide un perfil a escoger, de los varios perfiles que dispone en el momento de su instalación. Su nombre viene de Pseudo Interprete. Su objetivo fundamental está en centrarse en la atención de los conceptos fundamentales que se debe aprender, sin perder tiempo en detalles de un lenguaje de programación, o el uso de un interpretador o compilador. PseInt presente el seudocódigo y el diagrama de flujo. 14 Unidad 1 Fundamentos de la POO y Java La representatividad PseInt es en base a su “lenguaje”. Lo trataremos tomando de apoyo el propio PseInt: Forma general del Seudocódigo Al inicio está la palabra Algoritmo, o puede usar la palabra Proceso, seguido del nombre del algoritmo. Luego está una secuencia de acciones (instrucciones), y finaliza con la palabra FinAlgoritmo(o FinProceso). Una secuencia de instrucciones es una lista de una o más instrucciones y/o estructuras de control. 15 Unidad 1 Fundamentos de la POO y Java Variables en Seudocódigo Se las utiliza del modo que hemos mencionado anteriormente. En nuestro caso, al momento de instalar PseInt debemos escoger un perfil que obligue a la declaración de variables, dado que el comportamiento de Java es así. La palabra Definir es la palabra PseInt obligatoria que se debe utilizar para declarar variables. La sintaxis es: Definir , ,... , Como [REAL/ENTERO/LOGICO/CARACTER]; Una variable debe definirse antes de ser utilizada por primera vez. Los arreglos, se definen utilizando su identificador (sin subíndices ni dimensiones) antes o después de dimensionarlos, y el tipo aplica para todos los elementos del mismo (ya que se trata de una estructura de datos homogénea). Los tipos posibles son NUMERO, NUMERICO, REAL, ENTERO, LOGICO, CARACTER, TEXTO, CADENA. NUMERO, NUMERICO y REAL son sinónimos para el tipo de datos numérico básico, que puede almacenar tanto números reales como enteros. El tipo ENTERO es una especialización que sólo permite almacenar valores enteros; cualquier valor no entero que se lea o asigne en una variable de este tipo será truncado. Una variable de tipo LOGICO sólo puede tomar los valores VERDADERO y FALSO, pero cuando se lee una variable ya definida como lógica, el usuario puede ingresar también las abreviaciones V y F, o 0 y 1. CARACTER, TEXTO y CADENA son sinónimos para definir variables de tipo carácter. Estas pueden contener cero, uno o más caracteres arbitrarios y no tienen una longitud máxima. Si se declara una variable de este tipo y en una lectura el usuario ingresa un número o un valor lógico, se asignará una cadena que contiene el texto ingresado (ejemplo: "1", "VERDADERO", etc). Si se intenta asignar a una variable ya definida un dato de un tipo incorrecto se producirá un error en tiempo de ejecución. Tipos de datos del Seudocódigo Son: Simples, arreglos y definición explícita. Simples Tenemos: Numérico: números, tanto enteros como reales. Para separar decimales se utiliza el punto. Ejemplos: 12 23 0 -2.3 3.14 Lógico: solo puede tomar dos valores: VERDADERO o FALSO. Carácter: caracteres o cadenas de caracteres encerrados entre comillas (pueden ser dobles o simples). Ejemplos 'hola' "hola mundo" '123' 'FALSO' 'etc' Arreglos La instrucción Dimensionar (o Dimensión) permite declarar un arreglo, indicando sus dimensiones. Dimensionar [,...,]; 16 Unidad 1 Fundamentos de la POO y Java Esta instrucción define un arreglo con el nombre indicado en y N dimensiones. Los N parámetros indican la cantidad de dimensiones y el valor máximo de cada una de ellas. La cantidad de dimensiones puede ser una o más, y la máxima cantidad de elementos debe ser una expresión numérica positiva. Se pueden declarar más de un arreglo en una misma instrucción, separándolos con una coma (,). Dimensionar Vec, Mat[5,8] Expresiones del Seudocódigo PseInt dispone de un conjunto básico de operadores: Que lo debemos mentalizar de la forma como hemos tratado previamente las expresiones algorítmicas. Funciones/SubProcesos del Seudocódigo PseInt dispone de funciones propias para poder usarse en el Algoritmo: 17 Unidad 1 Fundamentos de la POO y Java De igual modo, pueden definirse funciones propias: Un ejemplo disponemos aquí: 18 Unidad 1 Fundamentos de la POO y Java Algoritmo y POO Al programar, la programación estructurada y la programación orientada a objetos están estrechamente relacionadas. 19 Unidad 1 Fundamentos de la POO y Java En sus comportamientos la POO contiene programación estructurada, lo que significa que emplea instrucciones secuenciales, de selección y de repetición. Como observamos en las imágenes previas, entre objetos existen mensajes, que es el modo de interacción entre objetos. A su vez, cada objeto tiene sus propios atributos y métodos. A continuación veremos un ejemplo orientado a Java (Restrepo): Ejemplo de clase (s.f.). Tomado de https://ferestrepoca.github.io/paradigmas-de- programacion/poo/poo_teoria/concepts.html 20 Unidad 1 Fundamentos de la POO y Java Ejemplo de clase (s.f.). Tomado de https://ferestrepoca.github.io/paradigmas-de- programacion/poo/poo_teoria/concepts.html La creación de un objeto la tenemos aquí: Ejemplo de clase (s.f.). Tomado de https://ferestrepoca.github.io/paradigmas-de- programacion/poo/poo_teoria/concepts.html Metodología básica de resolución de problemas Detallamos su pasos: 1. Análisis del problema 2. Diseño del algoritmo 3. Codificación 4. Compilación y ejecución 5. Verificación 6. Depuración 7. Documentación Tanto paso (1) y (2) hacen referencia a la creación del algoritmo. 21 Unidad 1 Fundamentos de la POO y Java Paso (3) es expresar el algoritmo en un lenguaje de programación y así disponer del programa fuente (programa escrito en el lenguaje de programación escogido). Paso (4) es pasar el código fuente a lenguaje de máquina y ejecutarlo (al tener cero errores). En este punto, debemos distinguir dos tipos de errores: Sintácticos y lógicos. Sintáctico es el error de escritura en el lenguaje de programación escogido, para eso nos sirven tanto los compiladores como los interpretadores (en nuestro caso es compilador Java. JVM – Java Virtual Machine). Lógico es aquel error de comportamiento (funcionamiento de nuestro programa) que lo identificamos al ejecutar nuestro programa. En base a lo dicho previamente, tenemos que los pasos (5) y (6) buscan eliminar estos errores. Paso (7) significa aplicar comentarios apropiados, pertinentes y oportunos en nuestro programa. Análisis del problema Es la clara definición del problema. Tratamos de definir con claridad la expresión del problema para su entendimiento. De igual modo identificamos los datos de entrada que se necesitan (a veces puede suceder que no se necesita) e identificamos el resultado deseado (salida), que a su vez nos sirve para depurar. Diseño del algoritmo Se bosqueja la solución. Como se comporta el problema Tratar todo el problema como sumatoria de partes Dividir el todo en varias partes. Si un problema es complejo, lo mejor es dividirlo en subproblemas. Esto define lo que se entiende como diseño top-down o modular. 22 Unidad 1 Fundamentos de la POO y Java Ejemplo: Calcular la superficie de un triángulo. (1) (2) 23 Unidad 1 Fundamentos de la POO y Java (3) Al observar la secuencia de las imágenes (1), (2) y (3), tendremos que disponemos de un todo en partes que facilita el entendimiento del problema antes de pasar a diseñar el algoritmo necesario para resolver el problema. El algoritmo y la programación Java ¿Qué es Java? Java es un lenguaje de programación, multiplataforma, orientado a objetos y centrado en la red que se puede utilizar como una plataforma en sí mismo. Las reglas y la sintaxis de Java se basan en los lenguajes C y C++. Con Java se pueden crear programas en una gran variedad de dispositivos, permitiendo ejecutar la misma aplicación en diversos sistemas operativos. Es importante comprender que Java no tiene que ver con JavaScript. En Javascript no hace falta compilar, mientras que en código Java, sí. Además, Javascript solo se ejecuta en navegadores web, mientras que Java se puede ejecutar en cualquier lugar, gracias al JVM. ¿Cómo hacer programas Java? Los pasos básicos para hacer programas en Java son: 1. Configure el entorno de desarrollo, que significa Instalar el Kit de Desarrollo de Java (JDK) en la computadora. Se lo puede descargar desde el sitio web oficial de Oracle. Asegúrese de seleccionar la versión adecuada para su sistema operativo. 24 Unidad 1 Fundamentos de la POO y Java 2. Eliga un entorno de desarrollo integrado (IDE): Aunque no es obligatorio, utilizar un IDE puede facilitar el desarrollo de programas Java. Algunos IDE populares para Java son Eclipse, IntelliJ IDEA, Visual Studio Code, BlueJ, JEdit y NetBeans. Puede descargar e instalar el IDE de su elección desde sus respectivos sitios web. 3. Cree un proyecto: Una vez configurado su entorno de desarrollo, cree un nuevo proyecto en el IDE. Esto le permitirá organizar sus archivos y trabajar de manera más eficiente. 4. Cree una clase: En Java, los programas se organizan en clases. Cree una nueva clase en su proyecto y dele un nombre significativo. Por ejemplo, si está creando un programa para calcular el área de un círculo, puede llamar a su clase "CalcularAreaCirculo". 5. Escriba el código: Dentro de la clase, puede comenzar a escribir el código Java. El código debe estar contenido dentro de un método llamado "main", que es el punto de entrada de su programa. Aquí es donde se ejecutará el código cuando inicie su programa. 6. Compile y ejecute: Una vez que haya escrito el código, puede compilarlo para verificar si hay errores de sintaxis. La mayoría de los IDEs tienen una opción para compilar el código Java. Si no hay errores, puedes ejecutar su programa y ver los resultados. 7. Depure y mejore: Si encuentra errores o comportamientos inesperados, puede utilizar las herramientas de depuración de su IDE para encontrar y solucionar problemas en su código. También puede interactuar y mejorar su programa agregando nuevas funcionalidades o refinando las existentes. Proceso de compilación Java (s.f.). Tomado de https://javacurso.wordpress.com/compilar-java/ 25 Unidad 1 Fundamentos de la POO y Java Compilación e intérprete Java. Tomado de http://www.sc.ehu.es/sbweb/fisica/cursoJava/fundamentos/introduccion/virtual.htm A medida que adquiera más experiencia, podrá aprender conceptos más avanzados y utilizar bibliotecas y frameworks para desarrollar aplicaciones más complejas. Editores, compiladores y programas de apoyo para el aprendizaje de Java Mencionamos: BlueJ BlueJ es un entorno de desarrollo integrado (IDE) diseñado específicamente para aprender y enseñar programación en Java. Es una herramienta popular en entornos educativos, especialmente para principiantes en programación. Proporciona una interfaz gráfica simple y fácil de usar, que permite a los estudiantes visualizar y manipular objetos en Java de manera interactiva. 26 Unidad 1 Fundamentos de la POO y Java NetBeans NetBeans maneja una estructura de trabajo: 27 Unidad 1 Fundamentos de la POO y Java Estructura de trabajo NetBeans. Tomado de https://dcodingames.com/guia-basica-para-usar-netbeans/ Trabajaremos con la versión Apache NetBeans 17. Observamos: Escogemos Luego escogemos Java with Maven 28 Unidad 1 Fundamentos de la POO y Java Luego especificamos el nombre de proyecto que deseamos: Hemos escogido el mismo nombre de proyecto, por lo que visualizamos: 29 Unidad 1 Fundamentos de la POO y Java Ahora ya estamos listos para comenzar a programar Java. Jdoodle JDoodle es una plataforma en línea que proporciona un entorno de ejecución de código en tiempo real para varios lenguajes de programación, entre ellos, Java. Permite a los desarrolladores escribir, compilar y ejecutar su código de forma rápida y sencilla sin necesidad de configurar un entorno de desarrollo local en sus propias máquinas. Los usuarios al seleccionar el lenguaje de su elección y escribir su código en un editor en línea, pueden compilarlo y ejecutarlo directamente en el entorno de JDoodle. JDoodle proporciona una interfaz simple y minimalista, que permite a los desarrolladores centrarse en el código sin distracciones. Además, ofrece características útiles como resaltado de sintaxis, sugerencias de código y opciones de personalización. Además de ejecutar código, JDoodle también proporciona una función para compartir y colaborar en el código. Los usuarios pueden compartir su código con otros a través de un enlace único, lo que facilita la colaboración y la revisión de código en línea. 30 Unidad 1 Fundamentos de la POO y Java Como visualizamos, escogemos Java, y tenemos: Ahora, ya estamos listos para programar Java. Primeros conceptos generales Constantes y variables En Java, el uso de constantes y variables es: Constantes: En Java, las constantes se declaran utilizando la palabra clave `final`. Una vez que se asigna un valor a una constante, no se puede modificar. Las constantes en Java se suelen escribir en mayúsculas para distinguirlas de las variables. Por convención, se utiliza la convención de nomenclatura en estilo "camel case", donde las palabras se escriben en mayúscula y se separan por guiones bajos. 31 Unidad 1 Fundamentos de la POO y Java Ejemplo: final int NUMERO_PI = 3.14159; Variables: En Java, las variables se declaran especificando su tipo y nombre. Pueden ser inicializadas con un valor al momento de su declaración o más tarde en el programa. - Las variables pueden ser modificadas y su valor puede cambiar durante la ejecución del programa. - Por convención, los nombres de variables en Java se escriben en estilo "camel case", comenzando con una letra minúscula. - Un ejemplo de declaración e inicialización de una variable en Java sería: Ejemplo: int edad = 25; Entradas, asignaciones y salidas En Java, las entradas, asignaciones y salidas se manejan utilizando diferentes conceptos y estructuras de lenguaje. Aquí trataremos cómo se pueden realizar en Java: 1. Entradas (input): Para leer entradas del usuario desde la consola, puede utilizar la clase `Scanner` del paquete `java.util`. Aquí hay un ejemplo: import java.util.Scanner; public class EjemploEntrada { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("Ingresa tu nombre: "); String nombre = scanner.nextLine(); System.out.println("Hola, " + nombre); } } En este ejemplo, se utiliza `Scanner.nextLine()` para leer una línea completa de entrada del usuario y se almacena en la variable `nombre`. 2. Asignaciones (assignment): 32 Unidad 1 Fundamentos de la POO y Java En Java, las asignaciones se realizan utilizando el operador de asignación (`=`). Aquí hay un ejemplo: public class EjemploAsignacion { public static void main(String[] args) { int x = 5; int y = 10; int suma = x + y; System.out.println("La suma es: " + suma); } } En este ejemplo, se asigna el valor `5` a la variable `x`, el valor `10` a la variable `y`, y se realiza la asignación `suma = x + y` para calcular la suma. 3. Salidas (output): Para mostrar resultados en la consola, puede utilizar el método `System.out.println()` o `System.out.print()`. Aquí hay un ejemplo: public class EjemploSalida { public static void main(String[] args) { int edad = 25; System.out.println("Mi edad es: " + edad); } } En este ejemplo, se utiliza `System.out.println()` para imprimir el texto "Mi edad es: " seguido del valor de la variable `edad`. A continuación un breve cuadro de órdenes Java: 33 Unidad 1 Fundamentos de la POO y Java Como es de deducir, no son las únicas, a medida que uno se va familiarizando con Java se las va encontrando conforme a las necesidades de aprendizaje. Operandos, operadores y expresiones A continuación un breve cuadro resumen (recordemos lo que hemos tratado en algoritmos): Órdenes secuenciales, de control y repetitivas Secuenciales: son las que se ejecutan una tras otra, en el orden en que se encuentran en el código: Ej: public class SequentialExample { 34 Unidad 1 Fundamentos de la POO y Java public static void main(String[] args) { // Declaración y asignación de variables int a = 5; int b = 3; // Realizar operaciones secuenciales int suma = a + b; int resta = a - b; int multiplicacion = a * b; // Imprimir resultados System.out.println("Suma: " + suma); System.out.println("Resta: " + resta); System.out.println("Multiplicación: " + multiplicacion); } } De control: Son las que permiten controlar el flujo de ejecución de un programa. Aquí tienes un resumen de las órdenes de control en Java: 1. La orden if: - Permite ejecutar un bloque de código si una condición es verdadera. - Puede incluir una cláusula `else` para ejecutar un bloque de código alternativo si la condición es falsa. Ej: public class IfExample { public static void main(String[] args) { int numero = 10; if (numero > 0) { System.out.println("El número es positivo"); } } } 2. La orden switch: - Permite seleccionar un bloque de código para ejecutar según el valor de una expresión. - Se utilizan casos (`case`) para especificar las opciones posibles y un caso predeterminado (`default`) para el código que se ejecutará si no se cumple ningún caso. Ej: public class SwitchExample { public static void main(String[] args) { int diaSemana = 3; String nombreDia; switch (diaSemana) { case 1: nombreDia = "Lunes"; 35 Unidad 1 Fundamentos de la POO y Java break; case 2: nombreDia = "Martes"; break; case 3: nombreDia = "Miércoles"; break; case 4: nombreDia = "Jueves"; break; case 5: nombreDia = "Viernes"; break; case 6: nombreDia = "Sábado"; break; case 7: nombreDia = "Domingo"; break; default: nombreDia = "Día inválido"; break; } System.out.println("El día de la semana es: " + nombreDia); } } 3. Las órdenes de repetición (for, while, do-while): - `for` permite ejecutar un bloque de código un número específico de veces. - `while` permite repetir un bloque de código mientras una condición sea verdadera. - `do-while` permite repetir un bloque de código al menos una vez y luego mientras se cumpla una condición. 4. La orden break: - Permite salir de un bucle (for, while, do-while) o de un bloque switch antes de que se complete normalmente. Ej: public class BreakExample { public static void main(String[] args) { int[] numeros = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int numeroBuscado = 6; for (int numero : numeros) { if (numero == numeroBuscado) { 36 Unidad 1 Fundamentos de la POO y Java System.out.println("Número encontrado: " + numero); break; } } } } 5. La orden continue: - Permite omitir el resto del código de una iteración actual de un bucle y pasar a la siguiente iteración. Ej: public class ContinueExample { public static void main(String[] args) { for (int i = 1; i