Este documento presenta una clase sobre asignaciones en Java. Explica que las variables primitivas se almacenan en la pila mientras que las variables de instancia y objetos se almacenan en el heap. También cubre temas como literales, referencias, arrays, tiempo de vida de variables, y cómo se asignan variables primitivas y de referencia.
Este documento describe los vectores en C++, incluyendo cómo declararlos, insertar y eliminar elementos, acceder a elementos mediante subíndices, cambiar el tamaño, pasar vectores a funciones, y ordenar y buscar en vectores. Los vectores permiten acceso aleatorio eficiente a elementos y administran la memoria automáticamente a medida que cambia de tamaño.
Cursos gratis de programación en Java. Arrays. Orientado a Grado, DAM y DAW. Otros cursos disponibles para Android, Swift, Base de datos, javascript, servicios y procesos...
El documento presenta información sobre la clase Vector en Java. Explica que Vector permite almacenar elementos de forma dinámica y ofrece métodos para insertar, eliminar y buscar elementos. También describe métodos específicos como addElement(), firstElement(), lastElement(), elementAt() e insertElementAt(). Por último, incluye ejemplos de código que ilustran el uso de estos métodos.
El documento describe la clase ArrayList en Java, que facilita la creación y manipulación de listas. ArrayList permite que las listas crezcan o disminuyan dinámicamente y ofrece métodos genéricos como add, get, remove y set para agregar, obtener, eliminar y modificar elementos. También explica cómo recorrer una lista usando un bucle for cada o un iterador.
El documento trata sobre el uso de arreglos y ciclos en ActionScript 3.0. Explica cómo crear ciclos for para repetir instrucciones, crear arreglos para almacenar y hacer referencia a datos, y usar métodos de la clase Array. También cubre cómo añadir instancias desde la librería al escenario, crear múltiples instancias mediante ciclos, y añadir eventos a cada instancia creada.
El documento describe las funciones en JavaScript. Las funciones permiten agrupar código y reutilizarlo mediante su nombre. Una función consta de un nombre, parámetros, un bloque de código y puede devolver un valor. Las funciones son útiles para agrupar lógica reutilizable y JavaScript incluye funciones predefinidas como parseInt() y alert().
Este documento describe los objetos globales de JavaScript, dividiéndolos en tres grupos: objetos contenedores de datos como Array y Object, objetos de utilidades como Math y Date, y objetos de errores como Error. Explica las características y métodos de objetos como Array, Function, String, Boolean y Number.
El documento describe las características y uso de objetos en JavaScript. Los objetos permiten almacenar propiedades de datos y métodos, definidos mediante llaves y separados por comas. Se puede acceder a las propiedades mediante notación de corchetes o puntos. Las funciones constructoras permiten crear objetos con parámetros.
Este documento describe los vectores en C++, incluyendo cómo declararlos, insertar y eliminar elementos, acceder a elementos mediante subíndices, cambiar el tamaño, pasar vectores a funciones, y ordenar y buscar en vectores. Los vectores permiten acceso aleatorio eficiente a elementos y administran la memoria automáticamente a medida que cambia de tamaño.
Cursos gratis de programación en Java. Arrays. Orientado a Grado, DAM y DAW. Otros cursos disponibles para Android, Swift, Base de datos, javascript, servicios y procesos...
El documento presenta información sobre la clase Vector en Java. Explica que Vector permite almacenar elementos de forma dinámica y ofrece métodos para insertar, eliminar y buscar elementos. También describe métodos específicos como addElement(), firstElement(), lastElement(), elementAt() e insertElementAt(). Por último, incluye ejemplos de código que ilustran el uso de estos métodos.
El documento describe la clase ArrayList en Java, que facilita la creación y manipulación de listas. ArrayList permite que las listas crezcan o disminuyan dinámicamente y ofrece métodos genéricos como add, get, remove y set para agregar, obtener, eliminar y modificar elementos. También explica cómo recorrer una lista usando un bucle for cada o un iterador.
El documento trata sobre el uso de arreglos y ciclos en ActionScript 3.0. Explica cómo crear ciclos for para repetir instrucciones, crear arreglos para almacenar y hacer referencia a datos, y usar métodos de la clase Array. También cubre cómo añadir instancias desde la librería al escenario, crear múltiples instancias mediante ciclos, y añadir eventos a cada instancia creada.
El documento describe las funciones en JavaScript. Las funciones permiten agrupar código y reutilizarlo mediante su nombre. Una función consta de un nombre, parámetros, un bloque de código y puede devolver un valor. Las funciones son útiles para agrupar lógica reutilizable y JavaScript incluye funciones predefinidas como parseInt() y alert().
Este documento describe los objetos globales de JavaScript, dividiéndolos en tres grupos: objetos contenedores de datos como Array y Object, objetos de utilidades como Math y Date, y objetos de errores como Error. Explica las características y métodos de objetos como Array, Function, String, Boolean y Number.
El documento describe las características y uso de objetos en JavaScript. Los objetos permiten almacenar propiedades de datos y métodos, definidos mediante llaves y separados por comas. Se puede acceder a las propiedades mediante notación de corchetes o puntos. Las funciones constructoras permiten crear objetos con parámetros.
Este documento presenta un capítulo sobre bucles en Java. Explica los bucles while, for y do-while, mostrando su sintaxis y ejemplos. También cubre conceptos como continue y break y ofrece consejos para evitar bucles infinitos. El documento está diseñado para ser leído de forma secuencial, con ejemplos de código y diferentes formatos para resaltar conceptos clave.
El documento describe el método de ordenamiento por inserción directa, el cual ordena elementos de una lista insertándolos en la posición correcta de forma iterativa. Se mueven elementos mayores que el actual a la derecha hasta encontrar la posición correcta. El método se implementa en PHP mediante una clase que recibe un vector y lo ordena de menor a mayor realizando comparaciones y posibles intercambios en cada iteración.
3 desarollo manejo datos capitulo 4 -01 introduccion coleccionesluis freddy
El documento explica las ventajas de usar colecciones en lugar de arreglos en Java. Las colecciones tienen su propia asignación de memoria y permiten ampliar su tamaño de forma transparente, mientras que con arreglos es necesario recrearlos manualmente cuando se necesita más espacio. También ofrecen interfaces para iterar sobre los elementos y pueden indexarse de forma más compleja que los arreglos. Como ejemplo, se explica el uso de la clase Vector, una colección que almacena objetos y permite añadir y obtener elementos fácilmente.
El documento describe las funciones propias del lenguaje Visual Basic que permiten trabajar con cadenas de caracteres, números, fechas y horas. Incluye funciones para el tratamiento de cadenas como Lcase, Ucase, Trim, Len, Asc, Chr, InStr, Left, Right y Mid; funciones para números como Round, Rnd y Randomize; y funciones de formato como FormatCurrency, FormatPercent y FormatDateTime.
Este documento presenta conceptos sobre programación orientada a objetos en Java como la limpieza de objetos, los destructores, la seguridad de acceso a atributos y métodos, el casting, los operadores de comparación de objetos, la clase Object, arrays, cadenas, vectores, iteradores y excepciones. También incluye ejemplos de código para ilustrar estos conceptos.
El documento resume las estructuras de datos de arreglos, pilas y colas. Explica que un arreglo es un conjunto de elementos del mismo tipo que pueden almacenarse mediante índices. Las pilas siguen el principio LIFO y las colas FIFO. También describe las clases, métodos y operaciones básicas para cada estructura, como ingresar, eliminar, buscar y ordenar datos.
Este documento presenta una introducción a las colecciones y generics en Java. Explica los métodos Object clave como toString(), equals() y hashCode(), y cómo deben implementarse correctamente. Luego resume las principales interfaces y clases de colecciones como List, Set, Map y Queue, y describe algunas de sus implementaciones más comunes como ArrayList, LinkedList, HashSet, TreeSet, HashMap y TreeMap. Finalmente, introduce conceptos como ordenado, sorted y los contratos de equals() y hashCode().
Metodologia para resolver problemas con Programacion orientada a ObjetosWilliam Diaz S
Propuesta metodología para enseñar a programar
Enfatiza Métodos /técnicas
Como generar algoritmos
Método de los refinamientos sucesivos de Wirth Nickaus
Clases Objetos arrays
Excelente guía para Profesores para que enseñen realmente a programar y a solucionar problemas
1) El capítulo presenta definiciones básicas sobre anillos, incluyendo propiedades de las operaciones de suma y producto en un anillo.
2) Se proveen ejemplos de anillos como los enteros, matrices y números complejos.
3) Se definen conceptos como anillo unitario, anillo conmutativo, subanillo y se establecen algunas propiedades elementales de los anillos.
Este documento describe los principales comandos y conceptos utilizados en Visual Basic, incluyendo variables, tipos de datos, matrices, procedimientos, funciones, estructuras de control y operadores. Explica cómo definir y utilizar variables, funciones y procedimientos, así como bucles y estructuras condicionales para controlar el flujo del programa. También cubre operadores aritméticos, de comparación, lógicos y de concatenación para realizar cálculos y comparaciones.
Este documento presenta los temas a cubrir en la Clase 1 de Programación Java: repaso de Java, estándares de codificación Java y buenas prácticas. Los estándares de codificación incluyen normas sobre la estructura de archivos, nomenclatura, indentación y declaración de variables. Las buenas prácticas se enfocan en usar nombres descriptivos, evitar NullPointerExceptions, utilizar colecciones genéricas y constantes en lugar de strings mágicos.
Este documento describe conceptos avanzados de programación como métodos, clases estáticas, la clase Math, declaración de métodos con múltiples parámetros, y arreglos. Explica cómo los métodos permiten dividir un programa en partes más pequeñas, evitar la repetición de código, y facilitar la depuración y reutilización. También describe cómo declarar y llamar métodos, incluyendo métodos estáticos y sobrecargados, y cómo declarar, crear y pasar arreglos a métodos.
4. Programación con arrays, funciones, y objetos definidos por el usuarioLaura Folgado Galache
Ciclo: Desarrollo de Aplicaciones Web
Módulo: Desarrollo Web en Entorno Cliente
Unidad 4. Programación con arrays, funciones, y objetos definidos por el usuario
El documento presenta un ejemplo de herencia en Java para implementar clases Suma y Resta. Se define primero una clase base Operación con atributos y métodos comunes. Luego, Suma y Resta heredan de Operación, implementando solo el método operar de forma diferente. Finalmente, la clase Prueba crea objetos de Suma y Resta para probar los cálculos.
El método de ordenamiento por inserción directa ordena los datos de forma secuencial, insertando cada elemento en la posición apropiada entre los elementos ya ordenados de acuerdo a su valor. Primero se toma el primer elemento como la parte ordenada y el resto como la parte desordenada, luego se va insertando cada elemento de la parte desordenada en la posición correcta de la parte ordenada de forma iterativa hasta ordenar completamente los datos.
Slides de la décima clase del curso de Java SCJP dictado en la Universidad Nacional de Centro de La Provincia de Buenos Aires.
Contenido:
1. String
2. StringBuilder/Buffer
3. Archivos
Este documento proporciona una introducción a la programación en Java, cubriendo temas como nomenclatura, tipos de variables, operadores, sentencias de control, clases, objetos, métodos, constructores, paquetes y excepciones. Explica conceptos básicos como variables, tipos primitivos, arrays, referencias y operadores, así como estructuras de control como sentencias condicionales y de repetición. También describe características de la programación orientada a objetos en Java como clases, objetos, métodos, constructores y paquetes.
El documento presenta un problema propuesto para una práctica de programación en Java. Se debe crear una aplicación que maneje una lista de robots, donde cada robot tiene un número y porcentaje de vida aleatorio. La aplicación debe ordenar la lista por porcentaje de vida, contar los robots con más del 50% de vida y mostrar los números de los 3 robots con mayor porcentaje.
Este documento describe las funciones básicas para el manejo de cadenas de caracteres en Java. Explica que una cadena es un conjunto de caracteres y que en Java se trabaja con la clase String. Detalla funciones como length() para obtener la longitud, substring() para obtener subcadenas, indexOf() para buscar posiciones, concat() para unir cadenas, y compareTo() para comparar cadenas. También cubre convertir entre cadenas y números, y cambiar entre mayúsculas y minúsculas.
El documento describe varios productos alimenticios típicos de Aragón que tienen denominación de origen protegida, incluyendo el ternasco de Aragón, jamón de Teruel, melocotón de Calanda, aceite de oliva del Bajo Aragón y cebolla de Fuentes de Ebro. También menciona que el Gobierno de Aragón ha otorgado la Medalla al Mérito Turístico a las cuatro denominaciones de origen de vino de la región por su promoción del turismo y la gastronomía aragonesa.
El documento analiza la viabilidad de incorporar el modelo de aprendizaje combinado (B-Learning) en la educación superior a través de un entorno virtual de aprendizaje basado en software libre (Moodle) y un programa de formación continua para profesores. El B-Learning combina la instrucción presencial con funcionalidades de aprendizaje en línea para aprovechar las fortalezas de ambas modalidades y mejorar la calidad de la educación.
Este documento presenta un capítulo sobre bucles en Java. Explica los bucles while, for y do-while, mostrando su sintaxis y ejemplos. También cubre conceptos como continue y break y ofrece consejos para evitar bucles infinitos. El documento está diseñado para ser leído de forma secuencial, con ejemplos de código y diferentes formatos para resaltar conceptos clave.
El documento describe el método de ordenamiento por inserción directa, el cual ordena elementos de una lista insertándolos en la posición correcta de forma iterativa. Se mueven elementos mayores que el actual a la derecha hasta encontrar la posición correcta. El método se implementa en PHP mediante una clase que recibe un vector y lo ordena de menor a mayor realizando comparaciones y posibles intercambios en cada iteración.
3 desarollo manejo datos capitulo 4 -01 introduccion coleccionesluis freddy
El documento explica las ventajas de usar colecciones en lugar de arreglos en Java. Las colecciones tienen su propia asignación de memoria y permiten ampliar su tamaño de forma transparente, mientras que con arreglos es necesario recrearlos manualmente cuando se necesita más espacio. También ofrecen interfaces para iterar sobre los elementos y pueden indexarse de forma más compleja que los arreglos. Como ejemplo, se explica el uso de la clase Vector, una colección que almacena objetos y permite añadir y obtener elementos fácilmente.
El documento describe las funciones propias del lenguaje Visual Basic que permiten trabajar con cadenas de caracteres, números, fechas y horas. Incluye funciones para el tratamiento de cadenas como Lcase, Ucase, Trim, Len, Asc, Chr, InStr, Left, Right y Mid; funciones para números como Round, Rnd y Randomize; y funciones de formato como FormatCurrency, FormatPercent y FormatDateTime.
Este documento presenta conceptos sobre programación orientada a objetos en Java como la limpieza de objetos, los destructores, la seguridad de acceso a atributos y métodos, el casting, los operadores de comparación de objetos, la clase Object, arrays, cadenas, vectores, iteradores y excepciones. También incluye ejemplos de código para ilustrar estos conceptos.
El documento resume las estructuras de datos de arreglos, pilas y colas. Explica que un arreglo es un conjunto de elementos del mismo tipo que pueden almacenarse mediante índices. Las pilas siguen el principio LIFO y las colas FIFO. También describe las clases, métodos y operaciones básicas para cada estructura, como ingresar, eliminar, buscar y ordenar datos.
Este documento presenta una introducción a las colecciones y generics en Java. Explica los métodos Object clave como toString(), equals() y hashCode(), y cómo deben implementarse correctamente. Luego resume las principales interfaces y clases de colecciones como List, Set, Map y Queue, y describe algunas de sus implementaciones más comunes como ArrayList, LinkedList, HashSet, TreeSet, HashMap y TreeMap. Finalmente, introduce conceptos como ordenado, sorted y los contratos de equals() y hashCode().
Metodologia para resolver problemas con Programacion orientada a ObjetosWilliam Diaz S
Propuesta metodología para enseñar a programar
Enfatiza Métodos /técnicas
Como generar algoritmos
Método de los refinamientos sucesivos de Wirth Nickaus
Clases Objetos arrays
Excelente guía para Profesores para que enseñen realmente a programar y a solucionar problemas
1) El capítulo presenta definiciones básicas sobre anillos, incluyendo propiedades de las operaciones de suma y producto en un anillo.
2) Se proveen ejemplos de anillos como los enteros, matrices y números complejos.
3) Se definen conceptos como anillo unitario, anillo conmutativo, subanillo y se establecen algunas propiedades elementales de los anillos.
Este documento describe los principales comandos y conceptos utilizados en Visual Basic, incluyendo variables, tipos de datos, matrices, procedimientos, funciones, estructuras de control y operadores. Explica cómo definir y utilizar variables, funciones y procedimientos, así como bucles y estructuras condicionales para controlar el flujo del programa. También cubre operadores aritméticos, de comparación, lógicos y de concatenación para realizar cálculos y comparaciones.
Este documento presenta los temas a cubrir en la Clase 1 de Programación Java: repaso de Java, estándares de codificación Java y buenas prácticas. Los estándares de codificación incluyen normas sobre la estructura de archivos, nomenclatura, indentación y declaración de variables. Las buenas prácticas se enfocan en usar nombres descriptivos, evitar NullPointerExceptions, utilizar colecciones genéricas y constantes en lugar de strings mágicos.
Este documento describe conceptos avanzados de programación como métodos, clases estáticas, la clase Math, declaración de métodos con múltiples parámetros, y arreglos. Explica cómo los métodos permiten dividir un programa en partes más pequeñas, evitar la repetición de código, y facilitar la depuración y reutilización. También describe cómo declarar y llamar métodos, incluyendo métodos estáticos y sobrecargados, y cómo declarar, crear y pasar arreglos a métodos.
4. Programación con arrays, funciones, y objetos definidos por el usuarioLaura Folgado Galache
Ciclo: Desarrollo de Aplicaciones Web
Módulo: Desarrollo Web en Entorno Cliente
Unidad 4. Programación con arrays, funciones, y objetos definidos por el usuario
El documento presenta un ejemplo de herencia en Java para implementar clases Suma y Resta. Se define primero una clase base Operación con atributos y métodos comunes. Luego, Suma y Resta heredan de Operación, implementando solo el método operar de forma diferente. Finalmente, la clase Prueba crea objetos de Suma y Resta para probar los cálculos.
El método de ordenamiento por inserción directa ordena los datos de forma secuencial, insertando cada elemento en la posición apropiada entre los elementos ya ordenados de acuerdo a su valor. Primero se toma el primer elemento como la parte ordenada y el resto como la parte desordenada, luego se va insertando cada elemento de la parte desordenada en la posición correcta de la parte ordenada de forma iterativa hasta ordenar completamente los datos.
Slides de la décima clase del curso de Java SCJP dictado en la Universidad Nacional de Centro de La Provincia de Buenos Aires.
Contenido:
1. String
2. StringBuilder/Buffer
3. Archivos
Este documento proporciona una introducción a la programación en Java, cubriendo temas como nomenclatura, tipos de variables, operadores, sentencias de control, clases, objetos, métodos, constructores, paquetes y excepciones. Explica conceptos básicos como variables, tipos primitivos, arrays, referencias y operadores, así como estructuras de control como sentencias condicionales y de repetición. También describe características de la programación orientada a objetos en Java como clases, objetos, métodos, constructores y paquetes.
El documento presenta un problema propuesto para una práctica de programación en Java. Se debe crear una aplicación que maneje una lista de robots, donde cada robot tiene un número y porcentaje de vida aleatorio. La aplicación debe ordenar la lista por porcentaje de vida, contar los robots con más del 50% de vida y mostrar los números de los 3 robots con mayor porcentaje.
Este documento describe las funciones básicas para el manejo de cadenas de caracteres en Java. Explica que una cadena es un conjunto de caracteres y que en Java se trabaja con la clase String. Detalla funciones como length() para obtener la longitud, substring() para obtener subcadenas, indexOf() para buscar posiciones, concat() para unir cadenas, y compareTo() para comparar cadenas. También cubre convertir entre cadenas y números, y cambiar entre mayúsculas y minúsculas.
El documento describe varios productos alimenticios típicos de Aragón que tienen denominación de origen protegida, incluyendo el ternasco de Aragón, jamón de Teruel, melocotón de Calanda, aceite de oliva del Bajo Aragón y cebolla de Fuentes de Ebro. También menciona que el Gobierno de Aragón ha otorgado la Medalla al Mérito Turístico a las cuatro denominaciones de origen de vino de la región por su promoción del turismo y la gastronomía aragonesa.
El documento analiza la viabilidad de incorporar el modelo de aprendizaje combinado (B-Learning) en la educación superior a través de un entorno virtual de aprendizaje basado en software libre (Moodle) y un programa de formación continua para profesores. El B-Learning combina la instrucción presencial con funcionalidades de aprendizaje en línea para aprovechar las fortalezas de ambas modalidades y mejorar la calidad de la educación.
Este documento es una guía para estudiantes de segundo básico sobre la leyenda "El tetué". La guía incluye instrucciones para escuchar atentamente la leyenda y participar respetuosamente. Luego propone tres actividades: 1) Anotar las 10 ideas más importantes de la leyenda, 2) Responder preguntas sobre el inicio, sensaciones y opinión sobre la leyenda, y 3) Cambiar el final de la leyenda. El objetivo es comentar y analizar críticamente la leyenda a través de estas actividades.
La aplicación de coloración total es un proceso que involucra colorear todo el cabello de una persona para lograr un color uniforme. Se usa tintura de color para cubrir el tono natural del cabello y darle un nuevo color. Este proceso requiere decolorar el cabello existente antes de aplicar la nueva tintura para lograr el color deseado de manera uniforme en todo el cabello.
El documento presenta un plan de clase para enseñar la lectura inicial a estudiantes de 2° básico. La clase se divide en tres fases: inicio, desarrollo y cierre. En la fase de inicio, la profesora motiva a los estudiantes usando imágenes y preguntas sobre cuentos. En el desarrollo, los estudiantes leen cuentos en grupos y responden preguntas. Para el cierre, los estudiantes participan en un juego sobre los cuentos leídos.
El documento describe lo que es el autismo, una condición neurológica compleja que afecta la capacidad de una persona para comunicarse y relacionarse con otros. Actualmente se diagnostica autismo en 1 de cada 110 personas y 1 de cada 70 niños varones. El autismo puede presentarse en cualquier grupo y es cuatro veces más común en niños que en niñas.
1) El documento presenta información sobre cadenas de caracteres (Strings), StringBuilder y StringBuffer en Java, y clases para el manejo de archivos.
2) Se explican conceptos como la inmutabilidad de Strings y cómo esto afecta la creación y modificación de cadenas.
3) También se describen métodos importantes de Strings y las diferencias entre StringBuffer y StringBuilder.
4) Finalmente, se muestran ejemplos de uso de las clases File, FileWriter y FileReader para la creación y lectura de archivos.
1. El documento describe los diferentes factores de riesgo en el trabajo, incluyendo factores psicosociales, locativos, mecánicos, eléctricos, biológicos, químicos, físicos y ergonómicos.
2. También presenta un decálogo sobre seguridad industrial con recomendaciones como el uso de equipos de protección personal y mantener orden y limpieza en el lugar de trabajo.
3. Se brindan consejos adicionales sobre herramientas manuales, escaleras, electricidad, riesgos qu
El documento describe las actividades educativas con mapas conceptuales utilizando nuevas tecnologías. Presenta cinco actividades que utilizan herramientas como CmapTools para que los estudiantes construyan y publiquen mapas conceptuales digitales sobre diferentes temas. Estas actividades brindan beneficios como reforzar la comprensión lectora, favorecer el trabajo colaborativo y permitir la evaluación y corrección de conceptos de manera digital.
El documento explica los pasos para dividir números enteros. Estos incluyen separar parte del dividendo, encontrar un número para el cociente que al multiplicar por el divisor dé un número menor o igual al separado, restar y repetir los pasos hasta terminar con el dividendo y divisor. Finalmente se comprueba multiplicando divisor por cociente y sumando el resto para verificar que dé el dividendo original.
El documento presenta cinco verbos en español (aceptar, caminar, esperar, firmar y guardar/incluir) y sus conjugaciones en las diferentes personas (yo, tú, él/ella/usted, nosotros/as y ellos/ellas/ustedes). Además, incluye oraciones de ejemplo para ilustrar el uso de cada verbo.
El documento resume los contenidos de 5 capítulos de un libro. El Capítulo 1 trata sobre la elección racional del consumidor y las teorías críticas. El Capítulo 2 habla sobre los duopolios y la teoría de juegos. El Capítulo 3 explica las regulaciones y el entorno económico. El Capítulo 4 analiza las políticas públicas y la eficiencia económica. Finalmente, el Capítulo 5 cubre temas sobre organizaciones, multinacionales y contratación.
La catedral de Pamplona se construyó originalmente en estilo románico pero se reconstruyó en el siglo XIV en estilo gótico. Posee una planta pentagonal irregular con seis tramos rectangulares cubiertos por bóvedas de crucería excepto en el ábside central. Contiene elementos góticos como arbotantes, contrafuertes, pináculos, arcos apuntados, vidrieras, rosetones y gárgolas.
La importancia de conocer a Dios.
Proxima Leccion: 03 - LOS ANGELES
http://www.slideshare.net/lsotorv7/03-los-angeles-12261152
(hilite-rightclick-open)
El documento habla sobre la API de Colecciones y clases genéricas de Java. Explica métodos como toString(), equals() y hashCode(), y cómo sobrescribirlos para personalizar la representación y comparación de objetos. También describe cómo hashCode() se usa para aumentar la velocidad de búsqueda en colecciones grandes.
Este documento presenta la planificación de una clase de lectura para estudiantes de 2o básico. La clase tiene como objetivo que los estudiantes lean y comprendan un artículo informativo sobre tortugas de agua. La profesora utilizará la estrategia de comprensión lectora antes, durante y después de la lectura, haciendo predicciones, haciendo preguntas durante la lectura modelada y verificando la comprensión después de leer. Los estudiantes trabajarán de forma individual con una guía de preguntas. Al final, se res
los animales y su habitat natural krispriskristaipe
Este documento contiene varios acertijos y trabalenguas sobre diferentes animales como leones, cebras, jirafas, serpientes, osos polares y canguros. También incluye adivinanzas y trabalenguas sobre hipopótamos.
El documento describe las etapas y actividades de la utilización educativa de la televisión. Presenta las fases de pre-teledifusión, teledifusión y evaluación-explotación, e indica ejemplos de actividades para cada etapa como lectura previa, aclarar conceptos, observar la comprensión de los estudiantes, y evaluar el programa para mejorarlo. El objetivo es analizar el uso de la televisión en educación y proponer ejemplos que permitan indagar cómo los estudiantes han accedido a la televisión educativa dentro
El documento presenta la planificación de una clase sobre dinosaurios para estudiantes de 2o básico. La clase tiene como objetivos demostrar la comprensión lectora de una historia sobre dinosaurios y ampliar el conocimiento sobre estos animales. La clase consta de tres fases: inicio, con activación de conocimientos previos; desarrollo, con la lectura de la historia y preguntas de comprensión; y cierre, con comentarios de los estudiantes sobre la historia.
La mamá cabra vivía en el bosque con sus 7 hijos. Mientras ella fue al mercado, el lobo engañó a los cabritillos diciéndoles que era su madre tiñendo sus patas de harina. Los cabritillos abrieron la puerta y el lobo se los comió, excepto la cabrita pequeña que se escondió. Más tarde, cortaron la barriga del lobo y pusieron piedras adentro, haciendo que se caiga al río.
Slides de la tercera clase del curso de Java SCJP dictado en la Universidad Nacional de Centro de La Provincia de Buenos Aires.
Contenido:
1. Unidad 3: Asignaciones
ARREGLOS DE OBJETOS UNIDAD 5 ING. YOELMA MELENDRES CRITERIO DE DESEMPEÑO Aplica aspectos avanzados de la programación orientada a objetos; empleando arreglos de objetos y clases de utilidad.
El documento resume los principales operadores en Java como los operadores de asignación, instanceof, concatenación de cadenas, condicionales, lógicos y XOR. Explica que los operadores de asignación deben tener en cuenta el tipo y tamaño de los valores, instanceof comprueba si un objeto es de un tipo específico, y los operadores lógicos && y || evalúan de forma secuencial para mejorar el rendimiento.
Este documento describe diferentes tipos de librerías y conceptos básicos en Java. Incluye librerías estándar como java.lang, java.io y java.net, así como descripciones de identificadores, literales, comentarios, separadores y palabras clave en Java. También explica conceptos como tipos de datos primitivos, variables, matrices, ámbito y tiempo de vida, y conversiones de tipos.
Este documento trata sobre clases internas en Java. Explica la diferencia entre usar arrays y colecciones genéricas, y describe varios tipos de clases internas como clases internas regulares, locales a un método, anónimas y estáticas anidadas. Detalla lo que estas clases internas pueden y no pueden hacer.
Este documento presenta varios temas básicos de Java que se verán a lo largo de varias clases. Incluye ejemplos de programas en Java sobre áreas de círculos, ámbito de variables, conversión de tipos, sentencias de control como if/else y switch, y bucles while. Los estudiantes deberán analizar los conceptos en cada ejemplo y guardar los programas realizados.
1. El documento describe el lenguaje de programación Java, incluyendo que es orientado a objetos, interpretado y compilado a la vez, y portable. 2. Explica conceptos básicos de programación orientada a objetos como clases, objetos, encapsulamiento, herencia y polimorfismo. 3. Cubre estructuras básicas de Java como declaración de clases, atributos, métodos, condicionales if, bucles for, vectores y matrices.
Cursos gratis de programación en Java. Strings. Orientado a Grado, DAM y DAW. Otros cursos disponibles para Android, Swift, Base de datos, javascript, servicios y procesos...
3 desarollo manejo datos capitulo 4 -02 aplicaciones coleccionesluis freddy
Un Stack es una subclase de Vector que implementa una pila FIFO. Implementa métodos como push() para agregar objetos, pop() para removerlos, y peek() para ver el objeto superior sin removerlo. Un ejemplo muestra cómo agregar y remover elementos de una pila usando estos métodos.
La clase Math representa la librería matemática de Java y contiene funciones matemáticas como raíz cuadrada, seno, coseno, logaritmos y potencias. Math es una clase estática que define constantes como PI y e. El documento explica cómo usar funciones de Math como sqrt, ceil y round y provee ejemplos de su uso.
Las declaraciones de clase correctas son:
1. public class MyFrobnicator implements Frobnicate {
public void twiddle(String s) {...}
}
2. abstract class MyAbstractFrobnicator implements Frobnicate {
public abstract void twiddle(String s);
}
La clase debe ser pública o abstracta para implementar una interfaz pública. La implementación del método debe ser pública para cumplir con el contrato de la interfaz.
Este documento explica la diferencia entre variables de instancia, variables de clase (estáticas) y variables locales en Java. Define la clase Circulo con el radio (variable de instancia) y PI (variable de clase estática) y muestra cómo declarar PI como constante final para que no se pueda modificar. Explica que al declarar una variable como estática, solo ocupa memoria una vez en lugar de una vez por objeto, ahorrando recursos. También define la clase Alumno con la nota (variable de instancia) y nota de corte (variable de clase estática) para
El documento describe las variables y métodos estáticos en Java. Las variables estáticas pertenecen a la clase en lugar de a los objetos individuales, por lo que comparten el mismo valor entre todos los objetos. Los métodos estáticos también se asocian con la clase en lugar de con las instancias. El documento proporciona ejemplos de cómo declarar e inicializar variables y métodos estáticos, y cómo acceder a ellos desde objetos e instancias de clase.
El documento describe las variables y métodos estáticos en Java. Las variables estáticas pertenecen a la clase en lugar de a los objetos individuales, por lo que comparten el mismo valor entre todos los objetos. Los métodos estáticos también se asocian con la clase en lugar de con las instancias. El documento proporciona ejemplos de cómo declarar e inicializar variables y métodos estáticos, y cómo acceder a ellos desde objetos e instancias de clase.
El documento describe las variables y métodos estáticos en Java. Las variables estáticas pertenecen a la clase en lugar de a los objetos individuales, por lo que comparten el mismo valor entre todos los objetos. Los métodos estáticos también se asocian con la clase en lugar de con las instancias. El documento proporciona ejemplos de cómo declarar e inicializar variables y métodos estáticos, y cómo acceder a ellos desde objetos e instancias de clase.
El documento explica los conceptos básicos de clases y objetos en Java. Una clase define el estado y comportamiento de un objeto mediante atributos y métodos. Los objetos son instancias concretas de una clase que se crean usando el operador new. Los atributos y métodos de un objeto se pueden acceder usando la notación punto.
Este documento proporciona una introducción a Java, discutiendo algunas de sus características clave como su independencia de plataforma, tipos de datos, clases, herencia, constructores y entrada/salida. Explica por qué Java es un buen lenguaje para aprender y algunas de sus ventajas sobre C++, como su manejo automático de memoria.
Este documento presenta una introducción a Java, incluyendo los tipos de datos básicos como enteros, decimales y lógicos, así como tipos referenciados como cadenas y arreglos. Explica conceptos como variables, constantes, operaciones aritméticas y de comparación, estructuras de control de flujo como if/else y while, y métodos para encapsular funcionalidad.
REPORTES JASPERREPORT E IREPORT SIN CONEXIÓN A UNA BBDDSandra Campos
Este documento explica cómo crear informes JasperReports sin conexión a una base de datos, pasando parámetros desde Java. Se crea una clase con datos de ejemplo, luego un informe con campos vinculados a los atributos de la clase. Se implementa una clase DataSource que proporciona los datos y se compila e imprime el informe desde el método main, generando un PDF sin necesidad de base de datos.
Este documento describe diferentes tipos de librerías en Java, incluidas java.lang, java.io, java.net, java.util y java.awt. También cubre conceptos básicos como identificadores, literales, comentarios, palabras clave y separadores.
Este documento presenta una introducción a los hilos en Java. Explica cómo crear e inicializar hilos extendiendo Thread o implementando Runnable. También describe los diferentes estados de un hilo y métodos como sleep(), yield() y join() para controlar la ejecución de los hilos. Por último, introduce conceptos de sincronización necesarios para evitar condiciones de carrera y deadlocks cuando se trabaja con múltiples hilos.
Este documento presenta una introducción a los conceptos básicos de generics en Java. Explica cómo generics permite que las colecciones solo contengan un tipo específico de objeto, eliminando la necesidad de usar Object. También cubre el uso de generics en métodos y declaraciones de clases, así como conceptos como wildcards y tipos bounds.
Este código no compilará porque el método doStuff() no declara que puede arrojar una IOException, a pesar de que el método que llama (doMore()) sí la declara. Para que compile, doStuff() también debe declarar que puede arrojar una IOException usando throws IOException.
Este documento presenta una introducción a Java y a la certificación SCJP 6. Explica brevemente qué es Java, su historia, la máquina virtual de Java, y diferencia entre archivos .java, .class y la JVM. También describe los tipos de datos primitivos en Java e introduce conceptos básicos como la declaración e inicialización de variables. El objetivo es proporcionar una visión general de Java antes de comenzar con los temas técnicos de la certificación.
El documento habla sobre las clases internas en Java. Explica que una clase interna es una clase declarada dentro de otra clase y que existen diferentes tipos como clases internas normales, de método e internas anónimas. También cubre conceptos como la instanciación de clases internas desde dentro y fuera de la clase contenedora, los modificadores que se pueden aplicar y las particularidades de cada tipo de clase interna.
El documento habla sobre la clase String en Java. Explica que un objeto String no puede ser modificado, pero las variables pueden apuntar a diferentes objetos. También describe cómo se almacenan las cadenas en memoria y los métodos más usados de la clase String como charAt, length, concat, entre otros.
El documento explica las sentencias if y else if en Java. Indica que estas sentencias se usan para ejecutar código diferente dependiendo del valor de una variable booleana. Detalla la sintaxis de if, else if y else, incluyendo que solo puede haber un if y else, múltiples else if, y que se ejecuta la primera condición verdadera. También provee ejemplos de expresiones válidas e inválidas para if.
Este documento describe diferentes tipos de operadores en Java. Explica que los operadores realizan operaciones con operandos y producen un resultado. Describe los operadores de asignación (=), asignación compuesta (+=, -=, *=, /=) y relacionales (<, <=, >, >=, ==, !=) indicando que estos últimos siempre devuelven un valor booleano. También proporciona ejemplos del uso de cada tipo de operador.
El documento presenta a Leonardo Blanco como el nuevo redactor de la sección y diseñador de JavaWorld. También resume conceptos básicos sobre variables, tipos de datos primitivos, literales, operadores de asignación y casteo de variables en Java.
Este documento presenta una introducción al paradigma de programación orientada a objetos. Explica las diferencias entre los paradigmas estructural y orientado a objetos, definiendo una clase Persona como ejemplo. Luego distingue entre una clase, que representa un molde, y los objetos creados a partir de esa clase. Finalmente, menciona conceptos clave de la programación orientada a objetos como encapsulamiento, polimorfismo y herencia.
Este documento resume el Capítulo 1 del libro Study Guide de Katy Sierra y Bert Bates para la certificación SCJP de Java. Recomienda adquirir el libro para una comprensión más profunda de los temas. Aconseja estudiar los conceptos de una manera práctica escribiendo código sencillo y considerando casos complejos. También sugiere familiarizarse con el uso de la consola para compilar y ejecutar programas de Java sin una IDE.
Cman was the cluster manager software used in previous versions of Red Hat Enterprise Linux. It provided low-level cluster infrastructure like node communication and quorum management. Starting with RHEL5, it was replaced with modules for OpenAIS (later known as Corosync). In RHEL6, Cman exists as a quorum module for Corosync. Future versions will move further towards integrating cluster management directly into Corosync without the need for a separate Cman module.
The RHCE exam objectives can be grouped into system configuration and management and network services. For system configuration, candidates should be able to accomplish tasks like routing IP traffic, configuring firewalls and NAT, modifying kernel parameters, configuring authentication using Kerberos, mounting iSCSI targets, and automating system maintenance. For network services, candidates should be able to install, configure, secure, and test services like HTTP, DNS, FTP, NFS, SMB, SMTP, and SSH. Specific objectives listed for some services include configuring virtual hosts, anonymous downloads, network shares, email forwarding, and SSH key-based authentication.
The RHCSA exam tests candidates' ability to perform tasks across several categories including: using essential tools like the shell, managing processes and logs, configuring storage and file systems, deploying and maintaining systems, managing users and groups, and managing security features like the firewall and SELinux. Candidates are expected to complete tasks involving these areas without assistance, such as archiving and compressing files, mounting file systems, installing and updating packages, and configuring user accounts and firewall settings.
2. Disclaimer & Acknowledgments
>!Even though Ezequiel Aranda is a full-time employee of Sun
Microsystems, the contents here are created as his own
personal endeavor and thus does not reflect any official
stance of Sun Microsystems.
>!Sun Microsystems is not responsible for any inaccuracies in
the contents.
>!Acknowledgments – The slides of this presentation are made
from “SCJP Unit 1” by Warit Wanwithu and Thanisa
Kruawaisayawan and SCJP Workshop by P. Srikanth.
>!This slides are Licensed under a Creative Commons
Attribution – Noncommercial – Share Alike 3.0
>!http://creativecommons.org/licenses/by-nc-sa/3.0/
3. AGENDA
>! iterales
L
>! eferencias
R
>! rrays
A
>! rappers
W
>! oxing y Widening
B
>! obrecarga con boxing, widening y var-args
S
>! arbage Collection
G
4. Stack y Heap
>! as variables de instancia y los objetos se
L
almeacenan en el heap.
>! as variables locales, en el stack.
L
5. Literales Octales
>!Los enteros octales sólo
utilizan los dígitos del 0 al 7.
>!En Java, se puede
representar un entero en
forma octal colocando un
cero delante del número.
int six = 06; // Equivale a 6
int seven = 07; // Equivale a 7
int eight = 010; // Equivale a 8
int nine = 011; // Equivale a 9
6. Literales Hexadecimales
>! n valor hexadecimal comienza con 0x u OX.
U
>! or Ejemplo:
P
int x = 0X0001;
int y = 0x7fffffff;
int z = 0xDeadCafe;
x = 1 y = 2147483647 z = -559035650
>! XCAFE y 0xcafe son validos y tienen el mismo
0
valor.
7. Literales de punto flotante
>! os literales de punto flotante están definidos
L
como double (64 bits) por defecto, por lo que
al asignar un literal a una variable float (32
bits), debemos colocarle el sufijo F (o f).
float f = 23.467890;
// falla la compilación
float g = 49837849.029847F;
8. Literales de caracter
>! s posible escribirlos como el valor Unicode
E
del caracter, usando el prefijo u.
char letraN= 'u004E'; // la letra
'N'
>! os caracteres son enteros sin signo de 16
L
bits.
char e = -29; // necesitará un cast
char f = 70000 // necesitará un cast
9. Primitivos vs. Referencias
>! sto se llama Referencia:
E
Button b = new Button();
String s = new String();
>! utton b = null;
B
Esto significa que “Button no refiere a ningún
objeto”
10. Asignaciones sobre primitivos
>! e puede asignar un valor a una variable
S
primitiva usando un literal o el resultado de
una expresión.
int x = 7;
int y = x + 2;
int z = x * y;
byte b = 300;¿Esto compila?
11. Asignaciones sobre primitivos (II)
>! yte b = 3; // 3 entra en un
b
byte
>! yte c = 8; // 8 entra en un
b
byte
>! yte d = b + c; //No debería
b
haber problema al sumar dos
bytes, pero ¿funciona? ¿Por
qué?
12. Casts en primitivos
>! os casts (conversiones) pueden ser implícitos
L
o explícitos. Que sea implícito significa que
sucede automáticamente.
>! os casts implícitos se dan al poner un tipo
L
más “pequeño” en un contenedor “más
grande”
>! nt a = 100;
i
>! ong b = a;//cast implícito: un int
l
simpre entra en un long.
13. Casts en primitivos (II)
>! n valor que no cabe en un contenedor más
U
pequeño debe convertirse explícitamente,
indicando que conocemos la posibilidad de
perdida de información.
>!float a = 100.001f;
>! intb = (int) a; //cast explícito, el float
podría perder información.
14. Asignar un literal demasiado grande a
una variable
>! i intentamos asignar un literal demasiado
S
grande a una variable obtendremos un error
de compilación.
float f = 32.3;
byte a = 128;
// byte llega hasta 127
>! Qué pasa si hacemos esto?
¿
byte a = (byte) 128;
15. Asignando una variable primitiva a otra
class ValueTest{
public static void main (String [] args) {
int a = 25; // asignamos un valor a ‘a’
System.out.println(“first a = " + a);
int x = a;
x = 30;
System.out.println(“second a = " + a);
}
}
16. Asignación de variables de referencia
public class Foo{
public void doFooStuff() { }
}
public class Bar extends Foo{
public void doBarStuff() { }
}
class Test {
public static void main (String [] args{
Foo reallyABar= new Bar(); // Legal
Bar reallyAFoo= new Foo(); // Ilegal
}
}
17. Tiempo de vida de las variables
>!Las variables estáticas se crean cuando se carga la clase
y sobreviven mientras la clase se mantenga cargada en
la JVM.
>!Las variables de instancia se crean con cada instancia y
sobreviven hasta que la instancia es removida por el
garbage collector.
>!Las variables locales viven mientras el método al que
pertenecen este en el stack. Más adelante veremos que
pueden estar vivas pero fuera de alcance.
>!Las variables de bloque sólo viven mientras el bloque se
este ejecutando.
18. class Layout {
static int s = 343;
int x1;
{ x1 = 7; int x2 = 5; }
Layout(){
x1 += 8; int x3 = 6;
}
void doStuff() {
int y = 0;
for(int z = 0; z < 4; z++) {
y += z + x1;
}
System.out.println("y ="+y);
}
}
19. Variables de instancia – tipos primitivos
public class BirthDate {
int year; // variable de instancia
public static void main(String [] args) {
BirthDate bd= new BirthDate();
bd.showYear();
}
public void showYear() {
System.out.println("The year is " + year);
}
}
20. Variables de instancia – referencias a objetos
public class Book {
private String title;
public String getTitle() {
return title;
}
public static void main(String [] args){
Book b = new Book();
System.out.println("The title is "+
b.getTitle());
}
}
21. Variables de instancia – referencias a objetos (II)
>!null no es lo mismo que un string vacio. Significa
que la variable no hace referencia a ningún objeto
en el heap.
public class Book {
private String title;
// variable de instancia de referencia
public static void main(String[] args) {
Book b = new Book();
System.out.println(b.title);
String s = b.title.toLowerCase();
// Null pointer Exception
}
}
22. Primitivos Locales
>! as variables locales,
L
incluyendo
primitivos, siempre
deben ser
inicializados antes de
utilizarlos.
>! i intentamos utilizar un primitivo sin
S
inicializar, obtendremos un error de
compilación.
23. Referencias a objetos locales
>!A las referencias locales no se les asigna un valor
por defecto (es decir, no son null por defecto). El
siguiente código no compila:
import java.util.Date;
public class TimeTravel{
public static void main(String[] args) {
Date date; // falla la compilación.
if (date == null)
System.out.println("date es null");
}
}
24. Asignar una variable de referencia a otra
import java.awt.Dimension;
class ReferenceTest{
public static void main (String [] args){
Dimension a = new Dimension(5,10);
System.out.println("a.height = " +
a.height);
Dimension b = a;
b.height = 30;
System.out.println("a.height = " +
a.height +" after change to b");
}
}
25. Asignar una variable de referencia
a otra (II)
>! e declara b, y se le asignan el valor de a. En
S
este punto ambas variables contienen valores
identicos, porque los contenidos de a se
copiaron en b. Aún hay solo un objeto
Dimension, al que tanto a como b hacen
referencia.
>! i asignamos la variable a a b, el patrón de
S
bits en a es copiado, y la nueva copia se
coloca en b.
26. String
>! na excepción a la forma en la que se
U
asignan las referencias a objetos es String.
>! os objetos String son inmutables, no se
L
puede cambiar el valor de un objeto String.
>! iempre que hagamos un cambio en un
S
String, la VM actualizará la variable de
referencia para apuntar a un nuevo objeto.
27. String (II)
>! e crea un nuevo String se crea (o se
S
encuentra uno nuevo en el String Pool),
dejando el original sin modificar.
>! a referencia utilizada para modificar el
L
String se asigna al nuevo objeto.
28. Pasando referencias
>! uando pasamos una variable
C
(referencia a objeto) a un método,
debemos tener en cuenta que estamos
pasando una referencia y no el objeto en
sí mismo.
29. import java.awt.Dimension;
class ReferenceTest{
public static void main (String [] args) {
Dimension d = new Dimension(5,10);
ReferenceTest rt= new ReferenceTest();
System.out.println("Before modify()
d.height = "+ d.height);
rt.modify(d);
System.out.println("After modify()
d.height = "+ d.height);
}
void modify(Dimension dim) {
dim.height = dim.height + 1;
System.out.println("dim = " + dim.height);
}
}
30. class ReferenceTest {
public static void main (String [] args) {
int a = 1;
ReferenceTest rt = new ReferenceTest();
System.out.println("Before = " +a);
rt.modify(a);
System.out.println("After = " + a);
}
void modify(int number) {
number = number + 1;
System.out.println("number = " + number);
}
}
31. Variables de instancia – Arrays
>! n Array es un objeto, por lo tanto una
U
variable de instancia declarada pero no
inicializada explícitamente, tendrá un valor
null.
>! ero… si el Array es inicializado, a todos los
P
elementos que lo componen se les asigna su
valor por defecto.
32. Pregunta
>! qué imprime este código?
¿
public class NewClass{
static int x[];
static int y[] = new int[3];
public int z;
public static void main(String[] args){
System.out.println(x);
System.out.println(y);
System.out.println(y[0]);
System.out.println(x[1]);
System.out.println(z);
}
}
34. Arrays (II)
>!nt[][] scores = {{5,2,4,7}, {9,2}, {3,4}};
i
>! cores[0] // un array de cuatro ints
s
>! cores[1] // un array de dos ints
s
>! cores[2] // un array de dos ints
s
>! cores[0][1] // valor entero 2
s
>! cores[2][1] // valor entero 4
s
35. Arrays (III) – JIT Arrays
public class Foof{
void takesAnArray(int[] someArray) {
// usa el parámetro
}
public static void main (String [] args) {
Foof f = new Foof();
f.takesAnArray(new int[] {7,7,8,2,5});
}
}
36. Arrays de tipos primitivos
>!nt[] weightList= new int[5];
i
>! yte b = 4;
b
>! har c = 'c';
c
>! hort s = 7;
s
>! eightList[0] = b; // OK, byte < int
w
>! eightlist[1] = c; // OK, char < int
w
>! eightList[2] = s; // OK, short < int
w
37. Arrays de referencias a objetos
>! i el tipo declarado para un Array es una
S
clase, dicho Array podrá almacenar objetos de
cualquier subclase del tipo declarado.
class Car {}
class Subaru extends Car {}
class Ferrari extends Car {}
Car [] myCars = {new Subaru(), new
Car(), new Ferrari()};
38. Asignación de Arrays con
referencias a objetos
>! ualquier objeto de una clase que
C
implemente una interfaz pasará la prueba “es
un” (instanceof) para dicha interfaz. Por
ejemplo, si Box implementa Foldable:
Foldable[] foldingThings;
Box[] boxThings= new Box[3];
foldingThings= boxThings;
>! ero no podremos hacer
P
boxThings = foldingThings;
39. Bloques de inicialización
>! n bloque de inicialización estático se ejecuta
U
una única vez, cuando se carga la clase.
>! n bloque de inicialización de instancias se
U
ejecuta cada vez que se crea una instancia.
>! e ejecutan en el orden en el que aparecen.
S
>! os bloques de instancia se ejecutan luego de
L
la llamada a super() en el constructor.
41. ?
static int [] x = new int[4];
static { x[4] = 5; }
>! Funciona?
¿
? ?
42. Wrappers
>! n Java existe un wrapper por cada tipo
E
primitivo (Float de float, Integer de int, etc).
>! odos los wrappers tienen dos constructores
T
(excepto Character): uno que toma un
primitivo del tipo que envuelve y uno que
toma una representación de tipo String del
tipo a construir.
Integer i1 = new Integer(42);
Integer i2 = new Integer("42");
43. Wrappers (II)
>! a clase Character provee un único
L
constructor, que toma un char como
argumento.
Character c1 = new Character('c');
44. Conversión de Wrappers a primitivos
>! uando necesitamos convertir el valor de
C
wrappers a primitivos, podemos usar alguno
de los métodos “____Value()” de esa clase.
Integer i2 = new Integer(42);
byte b = i2.byteValue();
short s = i2.shortValue();
double d = i2.doubleValue();
45. parse____() y valueOf()
>! mbos toman un String como argumento y
A
arrojan una excepción
NumberFormatException si el String no tiene
el formato correcto.
long L2 = Long.parseLong("101010",2); //
String binario a primitivo: L2 = 42
Long L3 = Long.valueOf("101010", 2); //
String binario a objeto Long: L3 value
= 42
46. toString()
>! a idea de este método es obtener una
L
representación coherente de un objeto dado.
>! odos los wrappers poseen un método
T
toString estático sobrecargado que toma un
primitivo del tipo apropiado.
47. AutoBoxing
>! n Java 5 aparece
E
esta característica
conocida como
autoboxing-
autounboxing o
simplemente boxing-
unboxing.
>!int pInt = 420;
>!Integer wInt = pInt; // ‘autoboxing’
>!int p2 = wInt; // ‘auto-unboxing’
48. >!Integer y = new Integer(567);
>!int x = y.intValue(); // unwrap
>!x++; // incremento
>!y = new Integer(x); // re-wrap
>!System.out.println("y= " + y); // print
>!Java 5:
>!Integer y = new Integer(567);
>!y++; // unwrap, incremento,rewrap
>!System.out.println("y= " + y); // print
>!Ambos imprimen: y = 568
49. AutoBoxing (II)
Integer y = 567; // wrapper
Integer x = y;
System.out.println(y==x);
y++; // unwrap, uso, "rewrap"
System.out.println(x + " " + y);
System.out.println(y==x);
50. Boxing, ==, equals()
>! or ahora, sabemos que la intención de
P
equals() es determinar cuando dos instancias
de una clase son “significativamente
equivalentes”.
Integer i1 = 1000;
Integer i2 = 1000;
if(i1 != i2)
System.out.println("different
objects");
if(i1.equals(i2))
System.out.println("meaningfully
equal");
51. Boxing, ==, equals() (II)
>! os instancias de Boolean, Byte, Character
D
(de u0000 a u007f), Short e Integer (-128 a
127) serán == si sus valores primitivos son
iguales.
Integer i3 = 10;
Integer i4 = 10;
if(i3 == i4)
System.out.println("same object");
if(i3.equals(i4))
System.out.println("meaningfully
equal");
52. Sobrecarga
>! eamos 3 cosas que pueden hacer la
V
sobrecarga un poco engañosa.
>! idening
W
>! utoBoxing
A
>! ar-args
V
53. Widening
class EasyOver{
static void go(intx) { System.out.print("int"); }
static void go(long x) { System.out.print("long "); }
static void go(double x){ System.out.print("double"); }
public static void main(String [] args) {
byte b = 5;
short s = 5;
long l = 5;
float f = 5.0f;
go(b);
go(s);
go(l);
go(f);
}}// En cada caso, cuando no se encuentra una
correspondencia exacta, la JVM usa el método con el
argumento que cumple con ser el “menor de los más
amplios” que el parámetro.
54. Sobrecarga con Boxing
class AddBoxing {
static void go(Integer x) {
System.out.println("Integer"); }
static void go(long x) {
System.out.println("long"); }
public static void main(String [] args) {
int i = 5;
go(i); // ¿Cuál de los go() se invoca?
}
}
>!El compilador, ¿Decide hacer widening o
autoboxing?
55. Sobrecarga con var-args
class AddVarargs{
static void go(int x, int y) {
System.out.println("int,int");}
static void go(byte... x) {
System.out.println("byte... "); }
public static void main(String[] args){
byte b = 5;
go(b,b); // ¿Cuál de los go() se invoca?
}
}
56. Conclusión
>! l orden en que el compilador elige es el
E
siguiente:
1.! Mismo tipo
2.! Widening
3.! Boxing
4.! Var-args
57. Widening de referencias
class Animal {static void eat() { } }
class Dog3 extends Animal {
public static void main(String[] args) {
Dog3 d = new Dog3();
d.go(d); // ¿Esto vale?
}
void go(Animal a) { }
}
>! l compilador “ensancha” la referencia de
E
Dog3 a Animal, y la invocación funciona
correctamente. La clave es que el widening
de referencias depende de la herencia.
58. Sobrecarga combinando widening y
boxing
>! a regla es que el compilador puede ajustar
L
una invocación siempre y cuando sólo
requiera una única conversión.
class WidenAndBox{
static void go(Long x) {
System.out.println("Long"); }
public static void main(String [] args)
{
byte b = 5;
go(b); // requiere widening y boxing -
ilegal
}}
59. Sobrecarga combinando Boxing y
Widening
class BoxAndWiden {
static void go(Object o) {
Byte b2 = (Byte) o;
System.out.println(b2);
}
public static void main(String [] args) {
byte b = 5;
go(b); // ¿Puede este byte volverse un
object?
}
}
>! Funciona? ¿Por qué?
¿
60. Sobrecarga combinando con Var-args
class Vararg{
static void wide_vararg(long... x)
{System.out.println("long...");}
static void box_vararg(Integer... x)
{System.out.println("Integer...");}
public static void main(String [] args) {
int i = 5;
wide_vararg(5,5); // widening y var-args
box_vararg(5,5); // boxing y var-args
}
}
61. class Eggs {
int doX(Long x, Long y) { return 1; }
int doX(long... x) { return 2; }
int doX(Integer x, Integer y) { return 3; }
int doX(Number n, Number m) { return 4; }
public static void main(String[] args) {
new Eggs().go(); }
void go() {
short s = 7;
System.out.print(doX(s,s) + " ");
System.out.println(doX(7,7));
} }
>! Cuál es el resultado?
¿
A. 1 1 B. 2 1 C. 3 3 D. 4 3
62. Resumen
>! l widening de primitivos usa el tipo más
E
pequeño posible.
>! oxing y Var-args, usados individualmente,
B
son compatibles con sobrecarga.
>! o se puede ensanchar de un wrapper a otro.
N
>! idening -> Boxing = falla
W
>! oxing -> Widening = funciona
B
>! uede combinarse Var-args con widening o
P
boxing.
63. Garbage Collection
>! n C, C++ y otros lenguajes, el programador
E
es responsable de la administración de
memoria.
>! n Java, se provee un hilo de sistema que se
E
encarga de esta tarea.
64. Garbage Collection (II)
>! urante los ciclos ociosos de la JVM, el
D
garbage collector revisa y libera la memoria
que este en condiciones de ser liberada.
>! Elegible” significa que puede ser
“
recolectado.
>! olo podemos pedir el garbage collector
S
usando System.gc();
>! o puede forzarse, sino más bien, sugerirse.
N
65. Garbage Collection (III)
>! n el examen tendremos que identificar
E
cuales objetos son “elegibles” para ser
recolectados.
>! a clave es encontrar los objetos que refieren
L
a NULL.
66.
67. class CardBoard{
Short story = 5;
CardBoard go(CardBoard cb) {
cb= null;
return cb; }
public static void main(String[] args) {
CardBoard c1 = new CardBoard();
CardBoard c2 = new CardBoard();
CardBoard c3 = c1.go(c2);
c1 = null;
// do Stuff
} }
>!Cuando llegamos a “//do Stuff”, ¿Cuantos elementos son
elegibles para gc?
A. 0 B. 1 C. 2 D. no compila E. Excepción