Les dejo información sobre java, cuando se crea, con que objetivo, con que código trabaja, como se declaran sus variables, etc. espero les sirva.
Sun Microsystems desarrolló, en 1991, el lenguaje de programación orientado a objetos que se conoce como Java. El objetivo era utilizarlo en un set-top box, un tipo de dispositivo que se encarga de la recepción y la descodificación de la señal televisiva. El primer nombre del lenguaje fue Oak, luego se conoció como Green y finamente adoptó la denominación de Java.
La intención de Sun era crear un lenguaje con una estructura y una sintaxis similar a C y C++, aunque con un modelo de objetos más simple y eliminando las herramientas de bajo nivel.
Los pilares en los que se sustenta Java son cinco: la programación orientada a objetos, la posibilidad de ejecutar un mismo programa en diversos sistemas operativos, la inclusión por defecto de soporte para trabajo en red, la opción de ejecutar el código en sistemas remotos de manera segura y la facilidad de uso.
Lo habitual es que las aplicaciones Java se encuentren compiladas en un bytecode (un fichero binario que tiene un programa ejecutable), aunque también pueden estar compiladas en código máquina nativo.
Sun controla las especificaciones y el desarrollo del lenguaje, los compiladores, las máquinas virtuales y las bibliotecas de clases a través del Java Community Process. En los últimos años, la empresa (que fue adquirida por Oracle) ha liberado gran parte de las tecnologías Java bajo la licencia GNU GPL.
La aplicación de Java es muy amplia. El lenguaje se utiliza en una gran variedad de dispositivos móviles, como teléfonos y pequeños electrodomésticos. Dentro del ámbito de Internet, Java permite desarrollar pequeñas aplicaciones (conocidas con el nombre de applets) que se incrustan en el código HTML de una página, para su directa ejecución desde un navegador; cabe mencionar que es necesario contar con el plug-in adecuado para su funcionamiento, pero la instalación es liviana y sencilla.
Razones para escoger Java por sobre otros lenguajes
* Es orientado a objetos: si bien existen detractores de esta modalidad, la programación orientada a objetos resulta muy conveniente para la mayoría de las aplicaciones, y es esencial para los videojuegos. Entre las ventajas más evidentes que ofrece se encuentra un gran control sobre el código y una mejor organización, dado que basta con escribir una vez los métodos y las propiedades de un objeto, independientemente de la cantidad de veces que se utilicen.
* Es muy flexible: Java es un lenguaje especialmente preparado para la reutilización del código; permite a sus usuarios tomar un programa que hayan desarrollado tiempo atrás y actualizarlo con mucha facilidad, sea que necesiten agregar funciones o adaptarlo a un nuevo entorno.
* Funciona en cualquier plataforma: a diferencia de los programas que requieren de versiones específicas para cada sistema operativo (tales como Windows o Mac), las aplicaciones desarrolladas en Java funcionan en cualquier entorno, dado que no es el sistema quien las ejecuta, sino la máquina virtual (conocida como Java Virtual Machine o JVM).
* Su uso no acarrea inversiones económicas: programar en Java es absolutamente gratis; no es necesario adquirir ninguna licencia, sino simplemente descargar el kit de desarrollo (Java Development Kit o JDK) y dar riendas sueltas a la imaginación.
* Es de fuente abierta: Java ofrece el código de casi todas sus librerías nativas para que los desarrolladores puedan conocerlas y estudiarlas en profundidad, o bien ampliar su funcionalidad, beneficiándose a ellos mismos y a los demás.
* Es un lenguaje expandible: continuando con el punto anterior, cada programador tiene la libertad de revisar y mejorar el código nativo de Java, y su trabajo puede convertirse en la solución a los problemas de muchas personas en todo el mundo. Infinidad de desarrolladores han aprovechado esta virtud del lenguaje y continúan haciéndolo.
En la siguiente ilustración podemos ver gráficamente la relación entre cada una de las ediciones de Java y los tipos de dispositivos con que se podrían programar:
Variables y Tipos
Una variable en Java es un identificador que representa una palabra de memoria que contiene información. El tipo de información almacenado en una variable sólo puede ser del tipo con que se declaró esa variable. Una variable se declara usando la misma sintaxis de C. Por ejemplo la siguiente tabla indica una declaración, el nombre de la variable introducida y el tipo de información que almacena la variable:
Declaración | identificador | tipo |
int i; | i | entero |
String s; | s | referencia a string |
int a[]; | a | referencia a arreglo de enteros |
int[] b; | b | referencia a arreglo de enteros |
Java posee dos grandes categorías de tipos para las variables:
Tipos Primitivos | referencias a Objetos |
int, short, byte, long | Strings |
char, boolean | Arreglos |
float, double | otros objetos |
Las variables de tipos primitivos almacenan directamente un valor que siempre pertenece al rango de ese tipo. Por ejemplo una variable int almacena un valor entero como 1, 2, 0, -1, etc. Esto significa que al asignar una variable entera a otra variable entera, se copia el valor de la primera en el espacio que ocupa la segunda variable. Las variables de tipo referencia a objetos en cambio almacenan direcciones y no valores directamente. Una referencia a un objeto es la dirección de un área en memoria destinada a representar ese objeto. El área de memoria se solicita con el operador new. Al asignar una variable de tipo referencia a objeto a otra variable se asigna la dirección y no el objeto referenciado por esa dirección. Esto significa que ambas variables quedan refenciando el mismo objeto. La diferencia entre ambas asignaciones se observa en la siguiente figura:
Esto tiene implicancias mayores ya que si se modifica el objeto referenciado por r, entonces también se modifica el objeto referenciado por s, puesto que son el mismo objeto. En Java una variable no puede almacenar directamente un objeto, como ocurre en C y C++. Por lo tanto cuando se dice en Java que una variable es un string, lo que se quiere decir en realidad es que la variable es una referencia a un string.
Tipos primitivos
En la siguiente tabla se indica para cada tipo primitivo el número de bits que se emplea en su representación y el rango de valores que se puede almacenar en las variables de estos tipos.
Tipo | Bits | Rango | Ejemplos |
int | 32 | -2**31 .. 2**31-1 | 0, 1, 5, -120, ... |
short | 16 | -2**15 .. 2**15-1 | 0, 1, 5, -120, ... |
byte | 8 | -2**7 .. 2**7-1 | 0, 1, 5, -120, ... |
long | 64 | -2**63 .. 2**63-1 | 0, 1, 5, -120, ... |
boolean | 1 | n/a | false, true |
char | 16 | n/a | 'a', 'A', '0', '*', ... |
float | 32 | IEEE | 1.2 |
double | 64 | IEEE | 1.2 |
Se dice que un tipo A es de mayor rango que un tipo B si A es un superconjunto de B. Esto quiere decir que las variables de tipo B siempre se pueden asignar a variables de tipo A (eventualmente con pérdida de significancia). Por ejemplo int es de mayor rango que short, que a su vez es de mayor rango que byte. Float y double son de mayor rango que int. Double es de mayor rango que float. Esto se puede resumir en:
double > float > long > int > short > byte
A continuación les mostrare un ejercicio con la sentencia IF en Scratch
esto llevado a java seria así:
package tarea.de.programacion;
import java.util.Scanner;
public class TareaDeProgramacion {
public static void main(String[] args) {
byte resp =0;
System.out.println("Que equipo de futbol te gusta, Colo Colo, La U de Chile o Catolica");
System.out.println("1. Colo Colo");
System.out.println("2. La U de Chile o catolica");
Scanner sc = new Scanner(System.in);
resp = leer.nextbyte();
if (resp = 1)
{
System.out.println("Eres un ganador");
}
else
{
System.out.println("cambiate a Colo Colo para que no sigas sufriendo");
}
}
}
En seudocódigo seria así:
Inicio
leer resp
escribir "Que equipo de futbol te gusta, Colo Colo, La U de Chile o Catolica"
escribir "1. Colo Colo");
escribir "2. La U de Chile o católica"
si resp = 1 entonces
escribir " Eres un ganador"
sino
escribir "cambiate a Colo Colo para que no sigas sufriendo"
FinSi
Fin
Espero que este material les guste y les sea de ayuda.
Saludos