Fundamentos de Java
Material de Estudio
  1. Ver CD de Pañol
  2. Manual en línea
  3. Programas del texto Guía (que está en biblioteca)
  4. Ejemplos de que acompañan al SDK (Software Development Kit) Ver en /usr/local/java/j2sdk/demo
Ejemplos
  1. Welcome
  2. ImageViewer
  3. Applet:  WelcomeApplet    Prueba    Código  (ver html)
Ideas Generales
  1. Un programa Java es la definición de una clase que contiene el método main, a través de él se pueden invocar a otros objetos y clases.
  2. Una clase es la especificación que define una categoría de entes reales o no reales. Candidatos para definir clases serían: persona, muebles, pasaporte,  cuenta. Generalmente son sustantivos. Toda clase define el comportamiento (métodos) y/o los atributos (datos) del ente que representa.
  3. Un Objeto es una instancia de una clase. Es un caso particular de los especificados por la clase. Se carateriza por tener: una Identidad, un Estado y un Comportamiento. Por ejemplo: Paula podría ser una instancia de la clase persona. Si la clase persona tiene definida la edad como atributo, Paula tendría 3 años. Si la clase persona tiene definido el comportameinto hacerUnDibujo(), Paula podría hacer un dibujo. Se lo pedimos: dibujoEjemplo=Paula.hacerUnDibujo();  Suponemos aquí que el método retorna un objeto que almacenamos en dibujoEjemplo, el cual es una instancia de la case Dibujo, por ejemplo.
    El comportamiento generalmente se relaciona con verbos.
  4. Los lenguajes orientados a objetos no son otra cosa que una definición de reglas sintácticas para expresar todo lo que conviente poder hacer con estos objetos para vincularlos y con ellos plantear las soluciones a los problemas.
  5. A través de ejemplo iremos viendo esas reglas y cómo se usan.
Aspectos sintácticos
  1. Tipos primitivos en Java: Hay 8.

Tipo
Tamaño
Entero
int
4
short
2
long
8
byte
1
Punto flotante
float
4
double
8
Caracter
char
2
Booleano
boolean

  1. Constantes
    Se usa la palabra reservada final.
    Ejemplo: final double CM_PER_INCH= 2.54;
  2. Operadores: Los mismos que en C y con casi igual semántica difiere en la comparación.
  3. El booleano es distinto que el entero => while(1) .... no vale en Java   if (a=3) ... es error en Java
  4. Los string no son primitivos => son objetos => if ("Hola" == "Hola") ... es falso debido a que en Java los nombres de los objetos no son más que refencias a ellos en Java.
    Lo anterior equivale a: Sea
    String a="Otro" , b="Otro"; //luego
    if (a==b)   ...  // es falso porque a y b se refieren a objetos distintos que casualmente tienen igual estado.
    Por otro lado, si tenemos:
    String a="Mas"; 
    String b=a;
    if (a ==b) ... // es verdadero.
  5. En Java todos los objetos son asignados y pasados como referencias (sintáxis de punteros en C). Cuando definimos un nombre para una variable, sólo se crea el nombre de para un objeto. Luego, debemos crear el objeto y asignarlo al nombre. En cierta forma esto es similar a crear un puntero y luego hacer un malloc para darle ubicación en memoria.
Control de flujo
El control de flujo: while, for, switch, if, etc... son iguales que en C excepto que no hay goto en Java (y hay una versión rotulada del break).

Estudio de temas vía ejemplos:FirstSample.java,   InputTest.javaLotteryOdds.javaLotteryArray.java