Java

Java es un lenguaje de programación de propósito general. Desde hace muchos años encabeza el ranking Tiobe de lenguajes de programación, con lo que tiene una buena acojida y podemos encontrarlo en numerosos sistemas. Su sintaxis deriva de C y C++, está fuertemente orientado a objetos (todo en Java son objetos), y su principal característica es ser multiplataforma.

Es decir, Java se caracteriza porque sus códigos fuentes son compilados a un código intermedio entre el fuente y el código máquina llamado bytecode. Dicho bytecode se ejecuta sobre la Máquina Virtual de Java (JVM), que está disponible en la gran mayoría de plataformas, con lo que conseguimos construir una vez y ejecutar en todos lados.

Dispone de librerías de todo tipo para programación de alto nivel. Y dado que corre sobre la capa de la JVM carece de librerías de bajo nivel. Esta capa intermedia que proporciona la multiplaforma merma su velocidad comparádose con otros lenguajes pero las últimas versiones de la máquina virtual ha mejorado mucho en rendimiento. Hay frameworks de Java que van desde la programación de entornos gráficos, pasando por microservicios, a desarrollo de grandes aplicaciones web.

Con Java puedes hacer casi de todo y para casi todo tipo de proyectos.

Java Básico 3: Bucles y estructuras de control

2012-10-06 - Categorías: Java

Sábado por la mañana, hace buena temperatura ahora en otoño, ni frio ni calor en Alicante. Así da gusto. Pues hoy voy a darle vueltas a los bucles y a controlar qué se ejecuta en un pequeño programa en Java.

Vamos a ver los bucles y las estructuras principales que se usan. Éstos son los if, else, switch, while, do while, for, break, continue y el try-catch para control de errores de ejecución.

Vamos al grano, si usamos el siguiente código:

// Paquete donde se organiza ésta clase de Java
package javaBasico;


// Declaración de la clase con su nombre
public class JavaBasico3BuclesEstructuras {

// Entrada principal al programa, el main para los amigos
public static void main(String[] args) {

// Aquí va el código que empieza nada más 
// arrancar el programa
System.out.println(«¡Hola Mundo!»);

// declaro la variable a y le doy valor
byte a = 1; 

// el if sirve para comprobar si ocurre
// una cosa…
if (a == 2) {

// si a vale 2 entonces hace ésto
System.out.println(«a sí vale 2»);

} else {

// si a no vale 2 muestra éste mensaje
System.out.println(«a no vale 2»);

}

// switch sirve para hacer una lista de 
// casos posibles
switch (a) {
case 1: // caso de que a valga 1
System.out.println(«a vale 1»);
break;
case 2: // ..
System.out.println(«a vale 2»);
break;
case 3: // ..
System.out.println(«a vale 3»);
break;
default:
break;
}

a = 0;

// el while repite lo que tenemos entre 
// llaves mientras se cumpla la
// condición
while (a != 10) {
a++;
System.out.println(«a = » + a);
}

// éste bucle es parecido al anterior
// pero comprueba si a > 5 después de ejecutar 
// una vez lo que hay entre llaves
do {
System.out.println(«a ahora vale » + a);
a–;
} while (a > 5);

short b;

// ésta parte del código intenta ejecutarse
// try significa ejecutar
try {

b = 0;
a = (byte) ((byte) 1 / b);

} catch (Exception e) {

// si ocurre algún error en el try
// ejecuta
// lo siguiente
System.out.println(«ERROR: « + e.getMessage());

}

// mensaje de fin de programa…
System.out.println(«Ha terminado el programa…»);
}
}

Nos tiene que dar la siguiente salida:
¡Hola Mundo!
a no vale 2
a vale 1
a = 1
a = 2
a = 3
a = 4
a = 5
a = 6
a = 7
a = 8
a = 9
a = 10
a ahora vale 10
a ahora vale 9
a ahora vale 8
a ahora vale 7
a ahora vale 6
ERROR: / by zero
Ha terminado el programa…

El código está comentado, espero que no sea demasiado de golpe, si estas empezando con ésto de la programación y te complicas mucho no dudes en comentar el post y gustoso lo aclaro.

Éstas son las formas sencillas de estructurar los programas para que hagan tareas cuando se cumplan ciertas condiciones de algunas variables. También se utilizan para tareas repetitivas los bucles. Con ésto y las funciones podremos estructurar nuestros programas de manera dividamos el problema en subproblemas más sencillos de solucionar.

Divide y vencerás

Ésta forma de afrontar los problemas de programación se utiliza mucho.

El try-catch necesita de una especial mención porque es una estructura para controlar los posibles que pueden suceder en un programa y evitar así que se queden colgados, terminen inesperadamente y en definitiva la tarea no se termine. El try-catch tiene muchas opciones pero necesitaría de otro post para ello así que tal vez en un futuro.

Espero que sirva para aclarar algo a los nuevos, o para repasar a los veteranos.
Un saludo


Java Básico 2: Tipos de datos

2012-10-04 - Categorías: Java

En éste post vamos a ver los tipos de datos primitivos, los básicos, sobre los que se construirán datos u objetos más complejos o complicados, valga la redundancia. Los más usuales son:

  • byte, que permite almacenar número de 8 bits, negativos y positivos. Es decir desde el -11111111 al +11111111, o que es lo mismo que desde -128 al +127.
  • short, es igual que el byte pero en vez de 8 bits con signo tenemos 16 bits. Aumentan considerablemente la contidad de números posibles que van desde el -32768 al +32767.
  • int, es igual pero ahora tenemos 32 bits.
  • long, ahora tenemos 64 bits.
  • char, guarda valores del 0 al 65535. Los primeros valores corresponden a los caracteres ASCII, que son los caracteres normales que usamos al escribir, es decir, las letras. Por ejemplo el 97 es la ‘a’
  • float, se utiliza para números decimales. Se utilizan 32 bits, con una precisión aproximada de 7 dígitos.
  • double, es un número decimal. Internamente se usan 64 bits, con lo que se tiene una mayor precisión, aproximadamente de unos 16 dígitos.
  • boolean, se usa para almacenar un valor booleano, es decir, verdadero o falso.
Éstos son los mínimos sobre los que se construyen los demás. Junto con éstos, tenemos un tipo de dato no tan básico, el String o cadena de caracteres, que se usa constantemente para almacenar cadenas de caracteres. Se utilizan de la forma:

// Paquete donde se organiza ésta clase de Java
package javaBasico;

// Declaración de la clase con su nombre
public class JavaBasico2TiposDeDatos {

// Entrada principal al programa, el main para los amigos
public static void main(String[] args) {

// Aquí va el código que empieza nada más 
// arrancar el programa
System.out.println(«Éste es un ejemplo de uso de  los tipos de datos primitivos:»);

byte a=127;
short b=32767;
int c=2147483647;
long d=9223372036854775807L; // necesita la L 
// para especificar que es un long
char e=’a’;
float f=2.3f; // también necesita la f
double g=2.3456789d; // usa la d para doubles
boolean h=true;
String cadena=»Esto es una cadena»;

// A continuación se imprimen los resultados 
// por el out del sistema, salida del sistema
// el n lo que hace es un retorno de carro
System.out.print(«a=» + a +
«nb=» + b +
«nc=» + c +
«nd=» + d +
«ne=» + e +
«nf=» + f +
«ng=» + g +
«nh=» + h +
«ncadena=» + cadena);

}

}

La salida del programilla debe de ser la siguiente:
Éste es un ejemplo de uso de los tipos de datos primitivos:
a=127
b=32767
c=2147483647
d=9223372036854775807
e=a
f=2.3
g=2.3456789
h=true
cadena=Esto es una cadena

Con éstos podemos construir casi todo tipo de programas y son los principalmente utilizados. Normalmente no tiene mucha importancia usar un tipo de dato u otro parecido como por ejemplo un int o un short.

Viene a ser muy importante si vas a trabajar por ejemplo con 20 millones de números o más. Si usas el tipo short, vas a usar 16 bits para cada uno, que vienen a ser 320 millones de bits, que son 40 millones de bytes, que viene a ser 39062,5 kBytes, que viene a ser, que viene a ser, que viene a ser, que vienen a ser alrededor de 38 megas xD Si en vez de un short se te ocurre usar un long, esos 38 megas utilizados para almacenar los números se convertirán en unos 153 megas más o menos.

Un saludo

Java Básico 1: ¡Hola Mundo!

2012-09-30 - Categorías: Java

Aquí dejo la estructura básico de un programa mínimo en Java, el clásico ‘Hola Mundo’. Suponemos que ya estamos familiarizados con nuestro IDE de desarrollo favorito, así que iremos al grano. Creamos una nueva clase, yo la he llamado JavaBasico1HolaMundo, está creada dentro del paquete de código javaBasico, con lo que el fichero del programa se llama JavaBasico1HolaMundo.java y su contenido es el siguiente:

// Paquete donde se organiza ésta clase de Java
package javaBasico;
 
// Declaración de la clase con su nombre
public class JavaBasico1HolaMundo {
// Entrada principal al programa, el main para los amigos
public static void main(String[] args) {
// Aquí va el código que empieza nada más 
                // arrancar el programa
System.out.println(«¡Hola Mundo!»);
}
}
Hay que saber que en Java todo son clases, se llaman clases. Es una forma de organizar el código utilizando la programación orientada a objetos (POO). Éstos conceptos trataré de estudiarmelos bien, repasarlos, y a ver si podemos verlos en un post más avanzado. De momento no hace falta saber más que todo son clases en Java. Así que verás la palabra ‘class’ por todos lados…
Ésta es una aplicación de consola, tipo MS-Dos, que cuando arranca escribirá por la salida estándar la cadena escrita dentro del:
System.out.println(»      «); 
Con ésta línea lo que hacemos es escribir una línea (println, que es abreviatura de print line, escribir linea en castellano). Ésta línea la escribimos en el out del System, es decir en la salida estándar del sistema, que es la salida por pantalla de consola.
Con todo ésto cuando ejecutamos deberá mostrarse: ¡Hola Mundo!
Lo siguiente a saber es:
public static void main(String[] args) {
 
}
Con ésto declaramos que ahí dentro es el programa ‘main’, en castellano programa principal. Se ejecuta nada más arrancar todo lo que hayamos escrito entre las llaves. De esta manera si escribimos el siguinte programa:
package javaBasico;
 
public class JavaBasico1HolaMundo {
public static void main(String[] args) {
System.out.println(«¡Hola Mundo!»);
System.out.println(«¡Hola Mundo!»);
System.out.println(«¡Hola Mundo!»);
                // aquí podemos añadir todo el código del
                // programa que queramos
 
}
}

Imprimirá 3 veces ¡Hola Mundo!

La parte donde pone ‘public class JavaBasico1HolaMundo {‘ es la forma de declarar la clase del programa, ya hemos visto que todo son clases en Java, o casi todo. Así que ya nos acostubraremos.

Doy por terminado el Hola Mundo en Java.
Saludos


Java Básico 0: Aterrizando

2012-09-28 - Categorías: Java

Daremos comienzo con éste post a una serie sobre programación para todos aquellos que siempre hemos querido aprender Java pero nos ha costado bastante. No será por la falta de información disponible sino todo lo contrario. Las posibilidades de Java para programar ordenadores, dispositivos móviles, tablets, coches, lavadoras y un largo etcétera… hacen, o por lo menos a mi, me han hecho aprender Java bastante engorroso. No recomiendo empezar con Java como primer lenguaje de programación, pero si lo prefieres tampoco es una mala opción porque tiene mucha salida, es muy completo, tiene de todo y sirve para todo.

Prácticamente se puede hacer de todo en Java aunque a veces no sea lo mejor. Depende de la aplicación que vayamos a desarrollar, la funcionalidad, tiempo disponible, recursos de hardware que tenemos, su tipo, si tenemos un pedazo de ordenador multinúcleo o necesitamos aprovechar al máximo el pequeño núcleo de un pequeño dispositivo, sería mejor un lenguaje u otro, pero ese es otro tema.

Para todo ello tenemos muchas herramientas disponibles, gratuitamente o de pago, a mi me gustan las gratuitas claro: Eclipse, NetBeans, Notepad++… que nos van a hacer la vida más fácil. Algunos programas tienen generadores de código, para crear nuevas clases, servlets, formularios, con diseñadores de formularios. Según yo he visto a fecha de hoy, los dos entornos de desarrollo, también llamados IDE de desarrollo, más utilizados para programar en Java vienen a ser Eclipse y NetBeans. Con el que estoy más familiarizado es Eclipse, así que va a ser Eclipse el que voy a utilizar, o casi siempre utilizaré.

Java es un lenguaje que nos proporciona unas cosas que lo hacen muy atractivo para aprender a programar. Algunas de ellas son:

  • Es independiente de la plataforma: o en la mayoría de los casos, nuestros programas hechos en Java podemos desarrollarlos de manera que se puedan ejecutar en todo tipo de Sistemas Operativos. Lo único necesario para poder ejecutarlos es tener la Máquina Virtual de Java, también llamada JRE para los amigos (Java Runtime Environment).
  • Es un lenguaje de programación muy utilizado, con lo que casi seguro que encontraremos ejemplos para todo tipo de problemas, ya que tarde o temprano repetimos el mismo problema unos programadores y otros y alguien publica la solución en algún foro o blog.
  • Grandes empresas estan implicadas, Sun Microsystems, Oracle, Microsoft es un gran competidor con Java con su C# que sorprendentemente se parece mucho… Las empresas de telefonía, todo tipo de industrias, bancos, etc…
  • Se puede hacer de todo: aplicaciones de escritorio, de servidor, para móviles, tablets.. el archiconocido Android tiene un entorno de desarrollo en el que usamos Java. Los móviles con su J2ME para poder hacer también programas para móviles. Se pueden hacer páginas web. También juegos, sobre todo ahora que los procesadores han mejorado tanto, ya que antes era un problema porque tener una interfaz con el Sistema Operativo, la Máquina Virtual de Java, hacia un poco más lentos los programas. Pero ahora eso no tiene casi importancia, o cada vez menos. Si necesitamos interconexión con Sistemas de Información antiguos seguro que en Java encontraremos la forma de interconectar. Etcétera…
Vamos, que tiene de todo! Ya me siento vendedor de Java.
Antes de empezar a instalar nada en nuestra máquina debemos tener claras unas cosas. Para éste curso rápido de aprendizaje en Java vamos a centrarnos en aprender las bases, en concreto, en aprender o practicar la sintaxis, variables, tipos de datos, bucles, etc… y a ver si podemos llegar a temas más avanzados como clases, objetos, herencia, polimorfismo y otras especies de otros mundos… Necesitaremos el JDK de Java, Eclipse y paciencia. Tenemos disponibles éstos dos aquí a continuación, la paciencia la tendrás que poner tú:
Si has seguido el tutorial o guía espero que con ésto ya tengas instalado Eclipse. Que estés probando o hayas conseguido ya hacer el ‘Hola Mundo’ clásico. Y no hayas tenido un aterrizaje forzoso.
Saludos

© 2021 JnjSite.com - MIT license

Sitio hecho con WordPress, diseño y programación del tema por Jnj.