





















Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Java es un lenguaje de programación y plataforma informática comercializada por primera vez en 1995 por Sun Microsystems. Conocida por su seguridad, rapidez y fiabilidad, Java se utiliza en muchas aplicaciones y sitios web. En este documento, exploraremos su historia, características y aplicaciones. Creado en 1991 por James Gosling y un equipo de 13 personas, Java se ha convertido en un lenguaje popular y de amplio uso. Su arquitectura neutral, seguridad y simplicidad lo hacen un excelente opción para desarrolladores. Java es un lenguaje orientado a objetos que ofrece características como comprobación de tipos, verificación de byte-codes y arquitectura independiente de la máquina.
Tipo: Resúmenes
1 / 29
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!






















República Bolivariana de Venezuela Instituto Universitario de Tecnología “Antonio Ricaurte” Sede Maracay Lenguaje de Programación JAVA Nombre: Martinez.E.Hidelberg.E CI: 27146297 Maracay, Abril del 2021 Materia: Lenguaje y programación IV Profesor: Ing. Carlos Montiel
1. Lenguaje de programación JAVA Es un lenguaje de programación y una plataforma informática que fue comercializada por primera vez en 1995 por Sun Microsystems. Hay muchas aplicaciones y sitios web que no funcionarán, probablemente, a menos que tengan Java instalado y cada día se crean más. Java es rápido, seguro y fiable. Historia Java se creó como una herramienta de programación para ser usada en un proyecto de set-top-box en una pequeña operación denominada the Green Project en Sun Microsystems en 1991. El equipo (Green Team), compuesto por trece personas y dirigido por James Gosling, trabajó durante 18 meses en Sand Hill Road, en Menlo Park, para desarrollarlo. El lenguaje se denominó inicialmente Oak (por un roble que había fuera de la oficina de Gosling), luego pasó a llamarse Green tras descubrir que Oak era ya una marca comercial registrada para adaptadores de tarjetas gráficas, y finalmente se le renombró Java. Es frecuentada por algunos de los miembros del equipo. Pero no está claro si es un acrónimo o no, aunque algunas fuentes señalan que podría tratarse de las iniciales de sus diseñadores: J ames Gosling, A rthur V an Hoff y A ndy Bechtolsheim. Otros abogan por el siguiente acrónimo, J ust A nother V ague A cronym ("sólo otro acrónimo ambiguo más"). La hipótesis que más fuerza tiene es la de que Java debe su nombre a un tipo de café disponible en la cafetería cercana; de ahí que el icono de Java sea una taza de café caliente.
Java implementa la tecnología básica de C++ con algunas mejoras y elimina algunas cosas para mantener el objetivo de la simplicidad del lenguaje. Java trabaja con sus datos como objetos y con interfaces a esos objetos. Soporta las tres características propias del paradigma de la orientación a objetos: encapsulación, herencia y polimorfismo. DISTRIBUIDO: Java se ha construido con extensas capacidades de interconexión TCP/IP. Existen librerías de rutinas para acceder e interactuar con protocolos como http y ftp. Esto permite a los programadores acceder a la información a través de la red con tanta facilidad como a los ficheros locales. La verdad es que Java en sí no es distribuido, sino que proporciona las librerías y herramientas para que los programas puedan ser distribuidos, es decir, que se corran en varias máquinas, interactuando. ROBUSTO: Java realiza verificaciones en busca de problemas tanto en tiempo de compilación como en tiempo de ejecución. La comprobación de tipos en Java ayuda a detectar errores, lo antes posible, en el ciclo de desarrollo. Java obliga a la declaración explícita de métodos, reduciendo así las posibilidades de error. Maneja la memoria para eliminar las preocupaciones por parte del programador de la liberación o corrupción de memoria.
Java proporciona, pues: Comprobación de punteros Comprobación de límites de arrays Excepciones Verificación de byte-codes ARQUITECTURA NEUTRAL: Para establecer Java como parte integral de la red, el compilador Java compila su código a un fichero objeto de formato independiente de la arquitectura de la máquina en que se ejecutará. Cualquier máquina que tenga el sistema de ejecución (run-time) puede ejecutar ese código objeto, sin importar en modo alguno la máquina en que ha sido generado. Actualmente existen sistemas run-time para Solaris 2.x, SunOs 4.1.x, Windows, Windows NT, Linux, Irix, Aix, Mac, Apple y probablemente haya SEGURO: La seguridad en Java tiene dos facetas. En el lenguaje, características como los punteros o el casting implícito que hacen los compiladores de C y C++ se eliminan para prevenir el acceso ilegal a la memoria. Cuando se usa Java para crear un navegador, se combinan las características del lenguaje con protecciones de sentido común aplicadas al propio navegador.rupos de desarrollo trabajando en el porting a otras plataformas. Si los byte-codes pasan la verificación sin generar ningún mensaje de error, entonces sabemos que: El código no produce desbordamiento de operandos en la pila El tipo de los parámetros de todos los códigos de operación son conocidos y correctos
Al ser multithreaded (multihilvanado, en mala traducción), Java permite muchas actividades simultáneas en un programa. Los threads (a veces llamados, procesos ligeros), son básicamente pequeños procesos o piezas independientes de un gran proceso. Al estar los threads contruidos en el lenguaje, son más fáciles de usar y más robustos que sus homólogos en C o C++. El beneficio de ser multithreaded consiste en un mejor rendimiento interactivo y mejor comportamiento en tiempo real. Aunque el comportamiento en tiempo real está limitado a las capacidades del sistema operativo subyacente (Unix, Windows, etc.), aún supera a los entornos de flujo único de programa (single-threaded) tanto en facilidad de desarrollo como en rendimiento. DINAMICO: Java se beneficia todo lo posible de la tecnología orientada a objetos. Java no intenta conectar todos los módulos que comprenden una aplicación hasta el tiempo de ejecución. Las librerías nuevas o actualizadas no paralizarán las aplicaciones actuales (siempre que mantengan el API anterior).
3. Aplicabilidad Java sirve para crear aplicaciones y procesos en una gran diversidad de dispositivos. Se base en programación orientada a objetivos, permite ejecutar un mismo programa en diversos sistemas operativos y ejecutar el código en sistemas remotos de manera segura. Su ámbito de aplicación es tan amplio que Java se utiliza tanto en móviles como en electrodomésticos. Muchos programadores también utilizan este lenguaje para crear pequeñas aplicaciones que se insertan en el código HTML de una página para que pueda ser ejecutada desde un navegador. 4. Nociones básicas de programación Objeto Es un elemento de software que intenta representar un objeto del mundo real. De esta forma un objeto tendrá sus propiedades y acciones a realizar con el objeto. Estas propiedades y acciones están encapsuladas dentro del objeto, cumpliendo así los principios de encapsulamiento. El paradigma de la orientación a objetos aparece como contraste a la programación estructurada que se venía utilizando desde los años 60. Un objeto tiene su estado (o estados) y su comportamiento. Esto se modela mediante propiedades (o variables) y métodos. Incluso un objeto puede contener a su vez a otro tipo de objeto. Encapsulación de datos Las interacciones con los objetos se hacen mediante los métodos. Es decir, si queremos conocer información del estado del objeto deberemos de llamar a uno de sus métodos y no directamente a las propiedades. Esta encapsulación nos permitiría el cambiar las propiedades del objeto sin que los consumidores se vean afectados siempre y cuando les sigamos retornando el mismo resultado. Si bien hay objetos que tienen propiedades públicas, por lo cual podremos acceder directamente a dichas propiedades sin necesidad de utilizar un método. El uso de objetos nos proporciona los siguientes beneficios:
this. altura = altura ; } public long area() { return ( base ***** altura )/ 2 ; } } Triangulo t1 = new Triangulo( 2.0 , 3.0 ); Triangulo t2 = new Triangulo( 4.0 , 7.0 ); t1. area (); // Área 3. t2. area (); // Área 14. De momento no te preocupes por entender el código del todo, pero verás que hemos definido una clase triángulo la cual tiene dos propiedades base y altura. Estas propiedades las hemos definido como “private” lo cual hace que no puedan ser visibles desde fuera. private long base ; private long altura ; Luego tenemos lo que se conoce como un método constructor. Es el método que tiene el mismo nombre que la clase: Triangulo () y que nos sirve para inicializar las propiedades desde el exterior. public Triangulo(long base , long altura ) { this. base = base ; this. altura = altura ; } Además hemos creado un método que nos calcula el área de un triángulo (base x altura / 2). Este método ya es público y podrá ser invocado de forma externa. public long area() { return ( base ***** altura )/ 2 ; } Vemos cómo creamos diferentes objetos del tipo Triángulo. A estos objetos los pasamos diferentes valores.
Triangulo t1 = new Triangulo( 2.0 , 3.0 ); Triangulo t2 = new Triangulo( 4.0 , 7.0 ); Y por último hemos invocado al método que nos devuelve el área del triángulo del objeto en concreto. t1. area (); // Área 3. t2. area (); // Área 14. Interface Un interface es una forma de establecer un contrato entre dos elementos. Un interface indica qué acciones son las que una determinada clase nos va a ofrecer cuando vayamos a utilizarla. Cuando implementemos un interface (cuando lo usemos) deberemos de implementar todas las acciones (métodos) que este contenga. Por ejemplo podríamos definir un interface Figura el cual indique qué métodos son obligatorios cuando vayamos a definir una figura. El interface se define mediante la palabra interface. interface Figura { ... } Dentro del interface definimos los métodos que serán obligatorios. Por ejemplo, que de una figura se pueda calcular su área y calcular su perímetro. interface Figura { public long area(); public long perimetro(); } Cuando queramos que una clase implemente un determinado interface deberemos de utilizar el operador implements indicando el nombre del interface a implementar. Así, si un triángulo queremos que implemente el interface Figura lo definiremos de la siguiente forma: public Triangulo implements Figura { ... }
public class Cuadrado extends Poligono { ... } public class Pentagono extends Poligono { ... } La herencia entre clases se indica mediante el operador extends. La clase superior de la que heredan las figuras puede definir una serie de propiedades y métodos que heredarán las clases hijas y que por ende podrán utilizar. Por ejemplo, la clase Poligono puede tener una propiedad que sean las longitudes de los lados del polígono y que utilice esas longitudes para calcular el perímetro del polígono. public class Poligono { private long[] lados ; public Poligono(long[] lados ) { this. lados = lados ; } public long perimetro() { ... } } Cuando ahora indiquemos que la clase Triangulo hereda de la clase Poligono. public class Triangulo extends Poligono { ... public Triangulo (long base , long altura , int[] lados ) { super( lados ); this. base = base ; this. altura = altura ; } }
Veremos que los objetos instanciados como triángulos tendrán acceso a los métodos del polígono. Triangulo t1 = new Triangulo( 2.0 , 3.0 ); t1. perimetro (); En este caso accedemos al método perímetro que heredamos de la clase Polígono. Una de las cosas que tienes que saber en la herencia es que en el constructor de la clase que hereda (o clase hija) se deberá de llamar al constructor de la clase padre. Para ello se utiliza el método especial super();
5. Expresiones abstract boolean break byte case catch char class continue default do double else extends false final finally float for if impleme nts import instanceof int interface long native new null package private protected public return short static super switch syncroniz ed this throw throws transient true try void volatile while var rest byvalue cast const future generic goto inner operator outer
i= 3 ; System.out.println(++i); Muestra 4 porque el incremento se ejecuta antes de utilizar la variable con la instrucción println. Si la variable no se utiliza en una expresión, las dos versiones llevan al mismo resultado. La línea de código i++;
1. Los operadores unarios Sólo se puede utilizar el operador! (exclamación) en variables de tipo boolean o en expresiones que producen un tipo boolean (comparación). 2. Los operadores de asignación El único operador disponible en esta categoría es el operador =. Permite asignar un valor a una variable. Se utiliza el mismo operador sea cual sea el tipo de la variable (numérico, cadena de caracteres…).
Se puede combinar este operador con un operador aritmético, lógico o binario. La sintaxis siguiente x+= 2 ;
x=x+ 2 ;
3. Los operadores aritméticos Los operadores aritméticos permiten efectuar cálculos en el contenido de las variables. 4. Los operadores bit a bit Estos operadores efectúan operaciones únicamente con enteros (Byte, Short, Integer, Long). Trabajan a nivel de bit en las variables que manipulan.
long duración; String liebre; String tortuga=""; long principio, fin; principio = System.currentTimeMillis(); for ( int i = 0 ; i <= 10000 ; i++) { tortuga = tortuga + " " + i; } fin = System.currentTimeMillis(); duración = fin-principio; System.out.println("duración para la tortuga: " + duración + "ms"); principio = System.currentTimeMillis(); StringBuffer sb = new StringBuffer(); for ( int i = 0 ; i <= 10000 ; i++) { sb.append(" "); sb.append(i); } liebre = sb.toString(); fin = System.currentTimeMillis(); duración = fin-principio;
System.out.println("duración para la liebre: " + duración + "ms"); if (liebre.equals(tortuga)) { System.out.println("las dos cadenas son idénticas"); } Resultado de la carrera: duración para la tortuga: 953ms duración para la liebre: 0ms las dos cadenas son idénticas ¡Este resultado no necesita comentarios!
7. Los operadores lógicos Los operadores lógicos permiten combinar las expresiones en estructuras condicionales o estructuras de bucle. Tendremos que tener cuidado con los operadores && (doble ampersand) y || (tubería doble) porque la expresión que probaremos en segundo lugar (test