¿Que es Java?
Java es un lenguaje de programación y una plataforma informática comercializada por primera vez en 1995 por Sun Microsystems. Hay muchas aplicaciones y sitios web que no funcionarán a menos que tenga Java instalado y cada día se crean más. Java es rápido, seguro y fiable. Desde portátiles hasta centros de datos, desde consolas para juegos hasta súper computadoras, desde teléfonos móviles hasta Internet, Java está en todas partes.
¿Que hace a Java distinto a otros programas?
En Java disponemos de los operadores lógicos habituales en lenguajes de programación como son “es igual”, “es distinto”, menor, menor o igual, mayor, mayor o igual, and (y), or (o) y not (no). La sintaxis se basa en símbolos como veremos a continuación y cabe destacar que hay que prestar atención a no confundir == con = porque implican distintas cosas.
OPERADOR
|
DESCRIPCIÓN
|
==
|
Es igual
|
!=
|
Es distinto
|
<, <=, >, >=
|
Menor, menor o igual, mayor, mayor o igual
|
&&
|
Operador and (y)
|
||
|
Operador or (o)
|
!
|
Operador not (no)
|
Operadores lógicos principales en Java
El operador || se obtiene en la mayoría de los teclados pulsando ALT GR + 1, es decir, la tecla ALT GR y el número 1 simultáneamente.
Los operadores && y || se llaman operadores en cortocircuito porque si no se cumple la condición de un término no se evalúa el resto de la operación. Por ejemplo: (a == b && c != d && h >= k) tiene tres evaluaciones: la primera comprueba si la variable a es igual a b. Si no se cumple esta condición, el resultado de la expresión es falso y no se evalúan las otras dos condiciones posteriores.
En un caso como ( a < b || c != d || h <= k) se evalúa si a es menor que b. Si se cumple esta condición el resultado de la expresión es verdadero y no se evalúan las otras dos condiciones posteriores.
El operador ! recomendamos no usarlo hasta que se tenga una cierta destreza en programación. Una expresión como (!esVisible) devuelve false si (esVisible == true), o true si (esVisible == false). En general existen expresiones equivalentes que permiten evitar el uso de este operador cuando se desea.
ORDEN DE PRIORIDAD, PRELACIÓN O PRECEDENCIA
Los operadores lógicos y matemáticos tienen un orden de prioridad o precedencia. Este es un esquema general que indica el orden en que deben evaluarse en la mayoría de los lenguajes de programación:

Una expresión como A+B == 8 && A-B == 1 siendo A = 3 y B = 5 supondrá que se evalúa primero A+B que vale 8, luego se evalúa A-B que vale -2. Luego se evalúa si se cumple que la primera operación es cierta y luego si la segunda también es cierta, resultando que no, por lo que la expresión es falsa.
¿Que se puede programar en Java?
La respuesta corta es: Sí, puedes programar muchas cosas con Java.
La respuesta media es: Ten cuidado, aunque puedes programar muchas cosas, Java no se ejecuta en todos los dispositivos, porque Java es un lenguaje que genera un código para un software especial que se llama “Máquina Virtual de Java” (JVM). El dispositivo donde quieres ejecutar tu programa debe tener instalada esta máquina virtual; no te preocupes millones de dispositivos tienen acceso a la JVM.
La respuesta más comprensiva a a tu pregunta es: Parece ser que eres nuevo en el mundo de la programación y tienes mucha energía y mucho por aprender. ¡Te felicito! pero eso solo es el primer paso. Con Java puedes crear muchas cosas, pero, imagina un aprendiz de carpintero que te dice “¿Con un martillo puedo crear una casa de madera?”. Así se ve tu pregunta. Java no es más que una herramienta más dentro del arsenal de un programador y los programas que mencionas (Facebook, Whatsapp, AutoCad) son cosas creadas por cientos de personas usando muchas herramientas que pueden o no incluir Java (por ejemplo, Facebook es principalmente PHP y AutoCad muy seguramente es sobre todo C++). Aparte de un lenguaje de programación necesitas muchos otros recursos, diseños gráficos, infraestructuras de red, arquitecturas, otros lenguajes de programación para otros objetivos y muchas otras herramientas. Así, que apoyando lo que otro Quoran dijo por ahí: Relájate y disfruta el viaje, tienes mucho por aprender antes de crear un facebook o algo así; empieza por un “Hola Mundo”.
En todo caso, sí, puedes crear muchas cosas con Java.
Características del lenguaje
- Lenguaje totalmente orientado a Objetos. Todos los conceptos en los que se apoya esta técnica, encapsulación, herencia, polimorfismo, etc., están presentes en Java.
- Disponibilidad de un amplio conjunto de bibliotecas. Como ya se mencionó anteriormente, Java es algo más que un lenguaje. La programación de aplicaciones con Java se basa no solo en el empleo del juego de instrucciones que componen el lenguaje, sino, fundamentalmente, en la posibilidad de utilizar el amplísimo conjunto de clases que Sun pone a disposición del programador y con las cuales es posible realizar prácticamente cualquier tipo de aplicación.
- Lenguaje simple. Java posee una curva de aprendizaje muy rápida. Resulta relativamente sencillo escribir applets interesantes desde el principio. Todos aquellos familiarizados con C++ encontrarán que Java es más sencillo, ya que se han eliminado ciertas características, como los punteros. Debido a su semejanza con C y C++, y dado que la mayoría de la gente los conoce aunque sea de forma elemental, resulta muy fácil aprender Java. Los programadores experimentados en C++ pueden migrar muy rápidamente a Java y ser productivos en poco tiempo.
- Distribuido. Java proporciona una colección de clases para su uso en aplicaciones de red, que permiten abrir sockets y establecer y aceptar conexiones con servidores o clientes remotos, facilitando así la creación de aplicaciones distribuidas.
- Interpretado y compilado a la vez. Java es compilado, en la medida en que su código fuente se transforma en una especie de código máquina, los bytecodes, semejantes a las instrucciones de ensamblador. Por otra parte, es interpretado, ya que los bytecodes se pueden ejecutar directamente sobre cualquier máquina a la cual se hayan portado el intérprete y el sistema de ejecución en tiempo real (run-time).
- Robusto. Java fue diseñado para crear software altamente fiable. Para ello proporciona numerosas comprobaciones en compilación y en tiempo de ejecución. Sus características de memoria liberan a los programadores de una familia entera de errores (la aritmética de punteros), ya que se ha prescindido por completo de los punteros, y la recolección de basura elimina la necesidad de liberación explícita de memoria.
- Seguro (?). Dada la naturaleza distribuida de Java, donde las applets se bajan desde cualquier punto de la Red, la seguridad se impuso como una necesidad de vital importancia. A nadie le gustaría ejecutar en su ordenador programas con acceso total a su sistema, procedentes de fuentes desconocidas. Así que se implementaron barreras de seguridad en el lenguaje y en el sistema de ejecución en tiempo real.
- Indiferente a la arquitectura. Java está diseñado para soportar aplicaciones que serán ejecutadas en los más variados entornos de red, desde Unix a Windows Nt, pasando por Mac y estaciones de trabajo, sobre arquitecturas distintas y con sistemas operativos diversos. Para acomodar requisitos de ejecución tan diversos o variopintos, el compilador de Java genera bytecodes: un formato intermedio indiferente a la arquitectura diseñado para transportar el código eficientemente a múltiples plataformas hardware y software. El resto de problemas los soluciona el intérprete de Java.
- Portable. La indiferencia a la arquitectura representa sólo una parte de su portabilidad. Además, Java especifica los tamaños de sus tipos de datos básicos y el comportamiento de sus operadores aritméticos, de manera que los programas son iguales en todas las plataformas. Estas dos últimas características se conocen como la Máquina Virtual Java (JVM).
- Alto rendimiento.
- Multihebra. Hoy en día ya se ven como terriblemente limitadas las aplicaciones que sólo pueden ejecutar una acción a la vez. Java soporta sincronización de múltiples hilos de ejecución (multithreading) a nivel de lenguaje, especialmente útiles en la creación de aplicaciones de red distribuidas. Así, mientras un hilo se encarga de la comunicación, otro puede interactuar con el usuario mientras otro presenta una animación en pantalla y otro realiza cálculos.
- Dinámico. El lenguaje Java y su sistema de ejecución en tiempo real son dinámicos en la fase de enlazado. Las clases sólo se enlazan a medida que son necesitadas. Se pueden enlazar nuevos módulos de código bajo demanda, procedente de fuentes muy variadas, incluso desde la Red.
- Produce applets. Java puede ser usado para crear dos tipos de programas: aplicaciones independientes y applets. Las aplicaciones independientes se comportan como cualquier otro programa escrito en cualquier lenguaje, como por ejemplo el navegador de Web HotJava, escrito íntegramente en Java. Por su parte, las applets son pequeños programas que aparecen embebidos en las páginas Web, como aparecen los gráficos o el texto, pero con la capacidad de ejecutar acciones muy complejas, como animar imágenes, establecer conexiones de red, presentar menús y cuadros de diálogo para luego emprender acciones, etc.
Librerías de Java
Ejemplo de import en Java
Vamos a suponer que al interior de nuestro proyecto hemos creado cuatro clases diferentes en paquetes diferentes, cada clase se llamará "Clase_1", "Clase_2", "Clase_3" y "Clase_4" respectivamente.
En la imagen de abajo se puede apreciar la estructura de los paquetes de cada una de las cuatro clases de Java. Veamos con detalle esto para quedar claros.

Muy bien, ya sabemos la estructura de nuestros paquetes y necesitamos importarlos al interior de alguna otra clase para hacer uso de ellas, para esto, Java nos proporciona el comando import (tal como mencioné anteriormente). Antes de comenzar a mostrar como importar las clases de estos paquetes, voy a dar algunas normas y definiciones útiles al momento de importar librerías, clases o paquetes en Java.
Antes de importar en Java...
Al igual que sucede con la declaración de los paquetes, realizar el import en Java también tiene una localización especifica al interior del archivo java. La importación de librerías y demás siempre debe ir después de la declaración del paquete, si la clase no posee alguna declaración de paquete (pertenece al paquete por defecto), entonces los import deberán estar en las primeras líneas del archivo.
Ejemplo 1: Sintaxis para import en Java
En el código anterior básicamente estamos diciendo que la clase contenida en el archivo Java, estará en el paquete "paquete/mipaquete", es decir, esa será la ruta de acceso a esa clase en el proyecto. En la siguiente línea hemos realizado el import de un paquete. Por medio del "*" hemos indicado a Java que queremos importar todas las clases pertenecientes a dicho paquete, puede ser una o más.
Ejemplo 2: Sintaxis para import en Java
En el código anterior hemos usado el mismo paquete para la clase pero hay una pequeña diferencia al momento del import, en esta ocasión hemos importado una clase directamente (MiClase), es decir, como no usamos el "*" no hemos importado todas las clases pertenecientes al paquete "paquete3.otropaquete2" sino que solo hemos importado a "MiClase"
Ejemplo 3: Sintaxis para import en Java
En esta ocasión se puede apreciar que no hemos declarado paquete alguno para nuestra clase y que únicamente hemos realizado el import, sin embargo este import como tal es algo particular para nosotros, pues hemos importado TODAS las clases pertenecientes al paquete "paquete.mipaquete" que es el paquete al cual pertenecen las clases del ejemplo 1 y 2, esto quiere decir que al interior de la clase Ejemplo3, podemos usar las clases Ejemplo1 y Ejemplo2.
Muy bien!! Hasta el momento ya sabemos muchas cosas acerca del import en Java, sabemos cómo importar todas las clases pertenecientes a un paquete, también como importar una única clase de un paquete cualquiera y vimos también que los paquetes que nosotros mismos creamos al interior del proyecto, pueden ser usados en otras clases de manera instantánea. Pero aún hay algo que no hemos visto y lo cual es de gran importancia, ¿cómo importar las clases y librerías propias de Java?, pues bien vamos a verlo.
Importando clases de Java
Importar clases propias de Java es prácticamente igual que importar clases de nuestros propios paquetes, sin embargo, ¿cuáles son esas clases?, ¿cómo conocerlas?, ¿cuál es el paquete al que pertenecen?, pues bien, de una vez te comento que Java está conformado por una enorme cantidad de clases y paquetes y desde mi punto de vista creo que es bastante complejo conocerlas todas, aunque si es importante conocer las más comunes y útiles, básicamente lo que debes hacer es ingresar a la API de Java y allí encontrarás todas las clases que componen el lenguaje, el paquete al que pertenecen, los métodos que poseen, los atributos y una breve explicación de cada uno de estos. Si ingresas a la documentación de Java verás que por ejemplo existe una clase llamada ArrayList, ésta pertenece al paquete java.util, esto quiere decir que para importarla debemos usar esa dirección, veamos:
Ejemplo 4: Importando clases de Java
Aquí hemos importado la clase ArrayList y podremos hacer uso de sus componentes, siempre y cuando sean públicos (más adelante hablaremos de esto). Hay otra forma de hacerlo, pero posee ciertos inconvenientes:
Ejemplo 5: Importando clases de Java
Aqui hemos importado TODAS las clases pertenecientes al paquete "java.util" lo cual incluye la clase ArrayList y por lo tanto es funcional y válido, sin embargo esto es bastante ineficiente, pues estamos importando todas las clases que son aproximadamente 50 y que seguramente no usaremos. Veamos entonces cómo importar algunas clases propias de Java.
Ejemplo 6: Importando clases de Java
Como podrás ver, existen muchas librerías muy útiles y es bastante sencillo hacer uso de ellas cuando sea necesario y así ahorrarnos mucho tiempo, trabajo y esfuerzo.
Muy bien, hasta ahora hemos aprendido todo lo necesario acerca del import en Java, sabemos cómo importar nuestra propias clases, importar todas las clases de un paquete, también vimos que Java posee una API y que está conformada por una enorme cantidad de Clases, interfaces, excepciones, etc. y que en cualquier momento podemos hacer uso de cualquiera de estas.
Hemos llegado al final de este contenido, espero que hayas comprendido a la perfección cada uno de los detalles aquí explicados y que ahora domines correctamente el concepto de librerías en Java y del import en Java. Recuerda que si tienes algún problema, duda o comentario, puedes dejarlo sin ningún temor en la sección de comentarios.Puedes continuar con la sección de sistema de tipos en Java.
https://www.facebook.com/Josue.LeonLH7lml
https://www.facebook.com/alancito.alvarezhernandez
https://www.facebook.com/Josue.LeonLH7lml
https://www.facebook.com/alancito.alvarezhernandez
No hay comentarios.:
Publicar un comentario