Este documento presenta un manual interno sobre Java SE 8. Explica conceptos clave como palabras reservadas, tipos de datos, operadores, estructuras de control, arrays, funciones, programación orientada a objetos, métodos y la librería Math. El manual está destinado a proporcionar una guía básica sobre los fundamentos del lenguaje Java para desarrolladores.
Jyoc java-cap01 tipos de datos y entrada-salidaJyoc X
Cursos gratis de programación en Java. Tipos de datos objetos y clases. Orientado a Grado, DAM y DAW. Otros cursos disponibles para Android, Swift, Base de datos, javascript, servicios y procesos...
Cursos gratis de programación en Java. Principios de programación orientada a objetos. Orientado a Grado, DAM y DAW. Otros cursos disponibles para Android, Swift, Base de datos, javascript, servicios y procesos...
Jyoc java-cap10 clases complementarias y enumeradosJyoc X
Cursos gratis de programación en Java. Clases complementarias: Math, Wrappers, Date. Orientado a Grado, DAM y DAW. Otros cursos disponibles para Android, Swift, Base de datos, javascript, servicios y procesos...
Cursos gratis de programación en Java. Clases y objetos. Orientado a Grado, DAM y DAW. Otros cursos disponibles para Android, Swift, Base de datos, javascript, servicios y procesos...
Jyoc java-cap01 tipos de datos y entrada-salidaJyoc X
Cursos gratis de programación en Java. Tipos de datos objetos y clases. Orientado a Grado, DAM y DAW. Otros cursos disponibles para Android, Swift, Base de datos, javascript, servicios y procesos...
Cursos gratis de programación en Java. Principios de programación orientada a objetos. Orientado a Grado, DAM y DAW. Otros cursos disponibles para Android, Swift, Base de datos, javascript, servicios y procesos...
Jyoc java-cap10 clases complementarias y enumeradosJyoc X
Cursos gratis de programación en Java. Clases complementarias: Math, Wrappers, Date. Orientado a Grado, DAM y DAW. Otros cursos disponibles para Android, Swift, Base de datos, javascript, servicios y procesos...
Cursos gratis de programación en Java. Clases y objetos. Orientado a Grado, DAM y DAW. Otros cursos disponibles para Android, Swift, Base de datos, javascript, servicios y procesos...
Temas tratados en el Capítulo 2 del Curso de Fundamentos de Programación en Java - PROGRAMACIÓN ORIENTADA A
OBJETOS CON JAVA.
Unidad de Educación Contínua - UNIDEC
Universidad Central del Ecuador
Ing. Giovanny Moncayo Unda
Descripción y ejercicios propuestos en el desarrollo y conceptualización de los temas tratados anteriormente, uso de métodos, modificadores, identificadores y estructuras de control.
Scala es un lenguaje que combina la programación orientada a objetos y el paradigma imperativo, con el paradigma funcional. En esta charla nos centraremos primero en ver las características OO de Scala comparándolas con Java y luego veremos algunas de las características "funcionales" del lenguaje.
Los sistemas de planificación de recursos empresariales ('ERP', por sus siglas en inglés, enterprise resource planning) son los sistemas de información gerenciales que integran y manejan muchos de los negocios asociados con las operaciones de producción y de los aspectos de distribución de una compañía en la producción de bienes o servicios.
IEEE 829 2008:Software and System Test DocumentationJesús Navarro
Documento basado en el estándar 829 2008 donde se establecen las pruebas de caja blanca (Whitebox) y caja negra (Blackbox) para el código fuente y la interfaz gráfica de los sistemas informáticos.
Si bien los hospitales conjuntan a profesionales de salud que atienden a la población, existe un equipo de organización, coordinación y administración que permite que los cuidados clínicos se otorguen de manera constante y sin obstáculos.
Mario García Baltazar, director del área de Tecnología (TI) del Hospital Victoria La Salle, relató la manera en la que el departamento que él lidera, apoyado en Cirrus y Estela, brinda servicio a los clientes internos de la institución e impulsa una experiencia positiva en el paciente.
Conoce el Hospital Victoria La Salle
Ubicado en Ciudad Victoria, Tamaulipas, México
Inició operaciones en el 2016
Forma parte del Consorcio Mexicanos de Hospitales
Hospital de segundo nivel
21 habitaciones para estancia
31 camas censables
13 camillas
2 quirófanos
+174 integrantes en su plantilla
+120 equipos médicos de alta tecnología
+900 pacientes atendidos
Servicios de +20 especialidades
Módulos utilizados de Cirrus
HIS
EHR
ERP
Estela - Business Intelligence
Escaneo y eliminación de malware en el equiponicromante2000
El malware tiene muchas caras, y es que los programas maliciosos se reproducen en los ordenadores de diferentes formas. Ya se trate de virus, de programas espía o de troyanos, la presencia de software malicioso en los sistemas informáticos siempre debería evitarse. Aquí te muestro como trabaja un anti malware a la hora de analizar tu equipo
1. Jesús Navarro | Programación orientada a objetos | 01 de noviembre de 2015
Manual interno de Java
JAVA SE 8
2. P á g i n a | 1
Manual interno de Java | JAVA SE 8
Java
Java es un lenguaje de programación orientado a objetos que se popularizó a partir del lanzamiento
de su primera versión comercial de amplia difusión, la JDK 1.0 en 1996. Actualmente es uno de los
lenguajes más usados para la programación en todo el mundo.
Este manual está basado en Java SE (Standard Edition) en su versión 8 cuya fecha de lanzamiento fue
en marzo del 2014. Para mayo del 2015 Java se ejecuta en más de 7 billones de dispositivos y tiene una
comunidad de más de 9 millones de desarrolladores a nivel mundial.
Palabras reservadas
Las palabras reservadas son identificadores predefinidos que tienen un significado para el compilador
y por tanto no pueden usarse como identificadores creados por el usuario en los programas.
abstract continue for new switch
assert default goto package synchronized
boolean do if private this
break double implements protected throw
byte else import public throws
case enum instanceof return transient
catch extends int short try
char final interface static void
class finally long strictfp volatile
const float native super while
3. P á g i n a | 2
Manual interno de Java | JAVA SE 8
Tipo de datos
Tipos de datos primitivos
Tipo de
dato
Representación Tamaño
(Bytes)
Rango de valores Valor por
defecto
Clase
asociada
byte Numérico
Entero con signo
1 -128 a 127 0 Byte
short Numérico
Entero con signo
2 -32768 a 32767 0 Short
int Numérico
Entero con signo
4 -2147483648 a
2147483647
0 Integer
long Numérico
Entero con signo
8 -9223372036854775808
a 9223372036854775807
0 Long
float Numérico en
Coma flotante
de precisión
simple Norma
IEEE 754
4 ± 3.4x10-38 a ±
3.4x1038
0.0 Float
double Numérico en
Coma flotante
de precisión
simple Norma
IEEE 754
8 ± 1.8x10-308 a ±
1.8x10308
0.0 Double
char Carácter
Unicode
2 u0000 a uFFFF u0000 Character
boolean Dato lógico - True o False false Boolean
void - - - - Void
4. P á g i n a | 3
Manual interno de Java | JAVA SE 8
Operadores aritméticos
Nombre Símbolo Asignación Ejemplo
Suma “+” “+=” “x+y”
Resta “-” “-=” “x-y”
Multiplicación “*” “*=” “x*y”
División “/” “/=” “x/y”
Modulo “%” “%=” “x%y”
Incremento “x++” n/d “x++”
Decremento “x--” n/d “x—“
Operadores relacionales y lógicos
Nombre Símbolo Ejemplo
Asignación “ = ” “ x=5 ”
Comparación “ == ” “ x==y ”
Diferente “ != ” “ x!=y ”
Menor que “ < ” “ x<y ”
Menor o igual que “ <= ” “ x<=y ”
Mayor que “ > “ “ x>y ”
Mayor o igual que “ >= ” “ x=>y ”
NOT “ ! ” “ !x ”
AND “ && ” “ x&&y ”
OR “ || ” “ x||y ”
XOR “ ^ ” “ x^y ”
5. P á g i n a | 4
Manual interno de Java | JAVA SE 8
Documentación
Cada programa que se realice deberá contar con la información necesaria para saber quién lo hizo,
versión y fecha, así como el debido uso de los comentarios necesarios para el mantenimiento del
código.
Cada programa contara con la siguiente información:
Programa: Hacer referencia al nombre del programa
Utilidad: Para qué sirve el programa
Programador: Siempre puede haber más de uno
Fecha: La fecha en que se realiza la última modificación a la versión correspondiente
Versión: Modificaciones mayores hacen que cambie el primer digito, menos solo el decimal
Changelog: Lista de cambios entre versiones del programa
6. P á g i n a | 5
Manual interno de Java | JAVA SE 8
Variables y Constantes
Una variable es una zona de memoria donde se almacena un valor dado, asignándole un nombre para
su posterior referencia. Una constante es una variable a la que no se lepuede modificar el valor después
de su declaración. Para declarar una constante en Java se utiliza la palabra final delante de la
declaración de la variable.
Modificadores de acceso
Se utilizan para definir el nivel de ocultación o visibilidad de los atributos, funciones y métodos, así
como el de la misma clase. Ordenados de menor a mayor visibilidad los modificadores de acceso son
los siguientes:
Modificador de acceso Efecto Aplicable en
private Solo puede ser usado en el
interior de su propia clase
Atributos
Métodos
Sin modificador Solo puede ser usado por las
clases dentro de su mismo
paquete
Clases
Atributos
Métodos
protected El elemento puede ser utilizado
por cualquier clase dentro de
su paquete y por cualquier
subclase
Atributos
Métodos
public El elemento es visible desde
cualquier clase
Clases
Atributos
Métodos
7. P á g i n a | 6
Manual interno de Java | JAVA SE 8
Programación estructurada
La programación estructurada es un paradigma de programación orientado a mejorar la claridad,
calidad y tiempo de desarrollo de un programa de computadora, utilizando únicamente subrutinas y
tres estructuras: secuencia, selección (if y switch) e iteración (bucles for y while), considerando
innecesario y contraproducente el uso de la instrucción de transferencia incondicional (GOTO), que
podría conducir a "código espagueti", que es mucho más difícil de seguir y de mantener, y era la causa
de muchos errores de programación.
SENTENCIA IF
En programación, una sentencia condicional es una instrucción o grupo de instrucciones que se
pueden ejecutar o no en función del valor de una condición. (Ejemplo 1).
Código
8. P á g i n a | 7
Manual interno de Java | JAVA SE 8
SWITCH
La instrucción switch es una forma de expresión de un anidamiento múltiple de instrucciones if ...
else. Su uso no puede considerarse, por tanto, estrictamente necesario, puesto que siempre podrá ser
sustituida por el uso de if. No obstante, a veces nos resultará útil al introducir mayor claridad en el
código. (Ejemplo 2).
Código
9. P á g i n a | 8
Manual interno de Java | JAVA SE 8
BUCLE FOR
El bucle for se utiliza para repetir una o más instrucciones un determinado número de veces. De entre
todos los bucles, el for se suele utilizar cuando sabemos seguro el número de veces que queremos que
se ejecute. (Ejemplo 3).
BUCLE WHILE
El Bucle while o bucle mientras es una estructura cuyo propósito es repetir un bloque de código
mientras una condición se mantenga verdadera. (Ejemplo 4).
BUCLE DO WHILE
La sentencia de iteración do-while es de tipo pos prueba. Primero realiza las acciones luego pregunta.
(Ejemplo 5).
10. P á g i n a | 9
Manual interno de Java | JAVA SE 8
Arreglos
Un array (arreglo) en Java es una estructura de datos que nos permite almacenar un conjunto de datos
de un mismo tipo. El tamaño de los arrays se declara en un primer momento y no puede cambiar luego
durante la ejecución del programa, como sí puede hacerse en otros lenguajes. Los arrays se numeran
desde el elemento cero, que sería el primer elemento, hasta el n-1 que sería el último elemento. Es
decir, si tenemos un array de 5 elementos, el primer elemento sería el cero y el último elemento sería
el 4.
Aclarar que los valores por defecto son los siguientes:
a) Para números el valor cero “0”
b) Para cadenas y letras el valor vacío
c) Para booleanos el valor false
Array unidimensional (Ejemplo 6):
ARRAY MULTIDIMENSIONAL
En Java es posible crear arrays con más de una dimensión, pasando de la idea de lista, vector o matriz
de una sola fila a la idea de matriz de “m x n” elementos, estructuras tridimensionales, tetra
dimensionales, etc. Gráficamente podría ser descrito así:
int array1 [][] = new int [2][3];
[0][0] [0][1] [0][2]
[1][0] [1][1] [1][2]
Hay que recordar que los elementos empiezan a numerarse por 0. Así, la esquina superior izquierda
de la matriz será el elemento [0][0] y la esquina inferior derecha será el [1][2].
Array multidimensional (Ejemplo 7);
11. P á g i n a | 10
Manual interno de Java | JAVA SE 8
Funciones
Una función es un fragmento de código que es llamado por su nombre. Se pueden pasar los datos a
operar en (parámetros) y, opcionalmente, puede devolver datos (el valor de retorno).
Función void (No regresa datos)
Función return (Regresa datos)
Llamada a una función (Ejemplo 8)
12. P á g i n a | 11
Manual interno de Java | JAVA SE 8
Programación orientada a objetos
La programación Orientada a objetos (POO) es un paradigma de programación más cercano a como
expresaríamos las cosas en la vida real. Con la POO tenemos que aprender a pensar las cosas de una
manera distinta, para escribir nuestros programas en términos de objetos, propiedades, métodos y
otras cosas que veremos rápidamente para aclarar conceptos y dar una pequeña base que permita
entender un poco con este tipo de programación. A continuación, se resumen los conceptos básicos
de POO.
Objeto: Entidad existente en la memoria del ordenador que tiene unas propiedades
(atributos o datos sobre sí mismo almacenados por el objeto) y unas operaciones disponibles
específicas (métodos).
Clase: Representa al conjunto de objetos que comparten una estructura y un comportamiento
comunes. Se puede considerar como una plantilla: Define los atributos que componen ese tipo de
objetos y los métodos que pueden emplearse para trabajar con esos objetos. Las clases siguen una
jerarquía: Superclase, Clase y Subclase.
Abstracción: Podríamos definir la abstracción como la "acción de aislar mentalmente o
considerar por separado las cualidades de un objeto, considerar un objeto en su esencia". ¿Qué quiere
decir esta definición? A través de la abstracción conseguimos extraer las cualidades principales sin
detenernos en los detalles.
Encapsulamiento: Se denomina así al ocultamiento del estado, es decir, de los datos
miembro de un objeto de manera que sólo se pueda cambiar mediante las operaciones definidas para
ese objeto. Cada objeto está aislado del exterior, es un módulo natural, y la aplicación entera se reduce
a un agregado o rompecabezas de objetos. El aislamiento protege a los datos asociados de un objeto
contra su modificación por quien no tenga derecho a acceder a ellos, eliminando efectos secundarios
e interacciones. De esta forma el usuario de la clase puede obviar la implementación de los métodos
y propiedades para concentrarse sólo en cómo usarlos. Por otro lado, se evita que el usuario pueda
cambiar su estado de maneras imprevistas e incontroladas.
Herencia: Consideraremos la herencia como la transmisión de los métodos y atributos de
una clase a otra. Gracias a la herencia se pueden establecer jerarquías entre clases. Establecer una
jerarquía es un proceso subjetivo, que depende del programador y de los matices de apreciación de
cada uno.
Polimorfismo: Esta característica permite definir distintos comportamientos para un
método dependiendo de la clase sobre la que se realice la implementación. En todo momento tenemos
un único medio de acceso, sin embargo, se podrá acceder a métodos distintos.
13. P á g i n a | 12
Manual interno de Java | JAVA SE 8
Métodos
Un método es una función que es propiedad de un objeto (en algunos orientado a objetos de sistemas,
es más correcto decir que es de titularidad de una clase). Ser "propiedad" de un objeto/clase significa
que se refiere al método a través del objeto/clase; por ejemplo, en Java si desea invocar el método
"SumaNumeros()" propiedad de la clase "Ejercicio8" entonces se puede crear una instancia llamada
“Operación” y se escribe "Operación.SumaNumeros()". Para mandar llamar un método necesitamos
instanciar la clase donde se encuentra y después mandamos llamar el método.
Instancia de un objeto (Ejercicio 9)
SOBRECARGA DE METODOS (OVERLOADING)
Un método sobrecargado (Ejemplo 10) se utiliza para reutilizar el nombre de un método, pero con
diferentes argumentos. Las reglas para sobrecargar un método son las siguientes:
-Los métodos sobrecargados deben de cambiar la lista de argumentos
-Se puede cambiar el tipo de retorno
-Se puede cambiar el modificador de acceso
-Se pueden crear nuevas o extender las excepciones
-Un método puede ser sobrecargado en la misma clase o en una subclase
La forma en que se manda llamar un método sobrecargado es como cualquier otro método, para
diferenciar entre el método original y el sobrecargado es dependiendo del tipo de argumento que se
envié, es decir, si tenemos dos métodos, uno que acepta de parámetro un float y el otro un int,
dependiendo del tipo de parámetro que le pasemos será el método que se ejecuta.
SOBRESCRITURA DE METODOS (OVERRIDING)
La sobrescritura es la forma por la cual una clase que hereda puede re-definir los métodos de su clase
Padre, de esta manera puede crear nuevos métodos con el mismo nombre de su superclase. Es decir,
si se tiene un método en la clase padre llamado revisar() se puede crear en la clase hija un método
también llamado revisar() pero implementando lo que se necesite. Existen reglas para sobre-escribir
métodos que son las siguientes:
-A diferencia de los métodos sobrecargados los argumentos en los métodos sobrescritos no
deben de cambiar
-En un método sobrescrito no se puede cambiar el tipo de retorno, excepto por los subtipos
del tipo declarado originalmente
14. P á g i n a | 13
Manual interno de Java | JAVA SE 8
-Las excepciones en estos métodos pueden reducirse o eliminarse, pero no se pueden crear
nuevas o ampliar las ya establecidas
-Los modificadores de acceso no pueden hacerse más, pero si pueden ser menos restrictivos
-En los métodos sobrecargados los argumentos son los que determinan que método es el que
se invocara sin embargo en los métodos sobrescritos el tipo de objeto determina que método
es el elegido
Librería Math
En cuanto a las funciones matemáticas en Java, las funciones disponibles vienen definidas en la clase
Math. Hay muchas funciones disponibles. Se puede consultar la lista completa en la documentación
oficial del API de Java (según versión de Java en uso, por ejemplo, para la versión 8 ver
http://docs.oracle.com/javase/8/docs/api/java/lang/Math.html).
Funciones de mayor importancia en la librería Math
Función Matemática Significado Ejemplo Resultado
abs Valor absoluto int x = Math.abs(2.3); x=2;
atan Arco Tangente double x = Math.atan(1); x= 0.7853981633;
sin Seno double x = Math.sin(0.5); x= 0.479425538;
cos Coseno double x = Math.cos(0.5); x = 0.87758256189037;
tan Tangente double x = Math..tan(0.5); x = 0.54630248984379;
exp Exponenciación double x = Math.exp(1); x= 2.71828182845904;
log Logaritmo double x= Math.log(2.7172); x= 0.99960193833500;
pow Potencia double x = Math.pow(2.3); x = 8.0;
round Redondeo double x = Math.round(2.5); x = 3;
random Numero aleatorio double x = Math.random(); x= 0.20614522323378;
15. P á g i n a | 14
Manual interno de Java | JAVA SE 8
Observaciones:
- Las funciones matemáticas, al pertenecer a la clase Math, se invocan siempre de la siguiente
manera: Math.funcion(argumentos)
- Las funciones relacionadas con ángulos (atan, cos, sin, tan) trabajan en radianes. Por tanto,
para operar con grados, tendremos que realizar la conversión oportuna
- La función random, permite generar números aleatorios en el rango ]0,1[. Por tanto, el 0 y el
1 están excluidos
- La función exponenciación neperiana o exponenciación de e, matemáticamente significa ex,
que en Java sería Math.exp(x), donde x es un número real y la base es la constante neperiana e= 2.7172...
- La función logaritmo neperiano, matemáticamente significa Ln x, que en Java
correspondería a la expresión Math.log(x).
16. P á g i n a | 15
Manual interno de Java | JAVA SE 8
Ejemplos
EJEMPLO 1
17. P á g i n a | 16
Manual interno de Java | JAVA SE 8
EJEMPLO 2
18. P á g i n a | 17
Manual interno de Java | JAVA SE 8
EJEMPLO 3
EJEMPLO 4
19. P á g i n a | 18
Manual interno de Java | JAVA SE 8
EJERCICIO 5
EJERCICIO 6
20. P á g i n a | 19
Manual interno de Java | JAVA SE 8
EJERCICIO 7
21. P á g i n a | 20
Manual interno de Java | JAVA SE 8
EJERCICIO 8
EJERCICIO 9
22. P á g i n a | 21
Manual interno de Java | JAVA SE 8
EJERCICIO 10
EJERCICIO 11