Fundamentos de Programación en Java: Variables, Matrices y Operadores

1. Introducción

Los lenguajes estructurados se basan en estructuras de control, bloques de código y subrutinas independientes que soportan recursividad y variables locales. La programación orientada a objetos toma las mejores ideas de la programación estructurada y las combina con nuevos conceptos de organización.

La programación orientada a objetos permite descomponer un programa en grupos relacionados. Cada subgrupo pasa a ser un objeto autocontenido con sus propias instrucciones y datos. Tres características de los lenguajes orientados a objetos son: encapsulación, polimorfismo y herencia.

Encapsulación

Actúa como un envoltorio protector alrededor del código y los datos que se manipulan. El envoltorio define el comportamiento y protege el código y los datos para evitar que otro código acceda a ellos de manera arbitraria. La ventaja es que todos saben cómo acceder a él y pueden utilizarlo de este modo, independientemente de los detalles de implementación. En Java, la base del encapsulamiento es la clase (conjunto de objetos que comparten la misma estructura y comportamiento). Una clase se define mediante métodos que operan sobre esos datos. Un método es un mensaje para realizar alguna acción en un objeto.

Herencia

Permite que los objetos se relacionen entre sí de una manera jerárquica. Es decir, a partir de una clase donde están los atributos generales (superclase), se definen otras clases con atributos más específicos (subclase).

Polimorfismo

A los métodos que actúan sobre los objetos se les pasa información. Estos parámetros representan los valores de entrada a una función. El polimorfismo significa que un método tenga múltiples implementaciones que se seleccionan en base al tipo de objeto que se le pasa.

2. Primer Programa

Los ficheros se almacenan con la extensión .java. Al compilar el código fuente, se crea uno con extensión .class. Java requiere que todo el código resida dentro de una clase con nombre. El nombre del fichero debe ser el mismo que el nombre de la clase donde está la función main.

public class holamundo {
    public static void main(String args[]) {
        System.out.println("HOLA MUNDO");
    }
}

Para compilar, necesitamos el compilador javac y, posteriormente, para ejecutar la aplicación, utilizamos el fichero java.

C:\> javac holamundo.java
C:\> java holamundo

3. Variables

Una variable es la unidad básica de almacenamiento. Su creación es la combinación de un identificador, un tipo y un ámbito. Tenemos 8 tipos de variables. La sintaxis para la creación es:

tipo identificador = valor;
TipoTamañoRango
byte8 bitsValores numéricos de -128 a 127
short16 bitsValores numéricos de -32,768 a 32,767
int32 bitsValores numéricos de -2,147,483,648 a 2,147,483,647
long64 bitsValores numéricos sin límite
float32 bitsValores numéricos hasta 38 cifras
double64 bitsValores numéricos hasta 308 cifras
char16 bitsValores alfanuméricos
StringSegún longSe utiliza para cadenas de caracteres
boolean8 bitsSolo admite true o false
matriz []Según longAgrupar variables del mismo tipo

Ejemplo: Programa utilizando variables.

class hola {
    public static void main(String args[]) {
        int x, y;
        x = 42;
        y = 12;
        System.out.print("X = " + x);
        System.out.println("Y = " + y);
    }
}

4. Matrices

Una matriz es un grupo de variables con el mismo nombre y tipo. La manera de referirse a cada uno de los elementos de una matriz es mediante su índice. Los tipos de las matrices son los mismos que los de las variables. Tenemos 2 tipos de array: unidimensional y bidimensional.

Unidimensionales

tipo nombre_array[] = new tipo[nº];
tipo nombre_array[] = {valores};

Bidimensionales

tipo nombre_array[][] = new tipo[nº][nº];
tipo nombre_array[][] = {valores};

Ejemplo: Se declara una matriz para guardar los días que tienen los meses del año. Luego mostramos los días del mes de abril.

class meses {
    public static void main(String args[]) {
        int mesdias[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
        System.out.println("Abril: " + mesdias[3] + " días");
    }
}

Ejemplo: En este programa se utiliza un array bidimensional.

class multima {
    public static void main(String args[]) {
        int m[][] = new int[3][3];
        m[0][0] = 1;
        m[1][1] = 1;
        m[2][2] = 1;
        System.out.println(m[0][0] + " " + m[0][1] + " " + m[0][2]);
        System.out.println(m[1][0] + " " + m[1][1] + " " + m[1][2]);
        System.out.println(m[2][0] + " " + m[2][1] + " " + m[2][2]);
    }
}

5. Operadores

Aritméticos

OperadorDescripción
+Suma
Resta
*Multiplica
/Divide
%Devuelve el resto de una división
++Incrementa en 1
Decremento en 1

Solo se pueden utilizar para variables de tipo numérico.

Relacionales

OperadorDescripción
==Igual
!=Distinto
>Mayor que
<Menor que
>=Mayor o igual
<=Menor o igual

Para todo tipo de datos.

Lógicos

OperadorDescripción
&&condición Y condición
||condición O condición
!Negación de la condición

6. Introducción de Datos

Para introducir valores en aplicaciones que trabajan bajo MS-DOS se utiliza el argumento (matriz de String) de la función main. Estos valores se introducen a la hora de ejecutar el programa, es decir, desde el prompt de MS-DOS. Hay que tener en cuenta que estos valores serán siempre de tipo String y, si queremos realizar operaciones matemáticas, deberemos transformarlos a valor numérico. En los applets, esta manera de introducir datos quedará desfasada.

Ejemplo:

class nombre {
    public static void main(String clientes[]) {
        System.out.println("Hola " + clientes[0]);
        System.out.println("Hola " + clientes[1]);
    }
}
// A la hora de ejecutar: c:\>java nombre Pepe Antonio

7. Conversión de Datos

En Java hay una serie de funciones que realizan la conversión entre los distintos tipos de datos. Las conversiones pueden ser de número a carácter, de número a cadena, entre números, de carácter a número, de carácter a cadena y de cadena a número. Este tipo de funciones se utilizará también en los applets.

De Número a Carácter

var_char = Character.forDigit(var_num, base);

De Número a Cadena

El dato a convertir debe ser un objeto de una clase numérica.

clase_num objeto = new clase_num(valor);
var_String = objeto.toString();
var_String = String.valueOf(var_numerica);

Entre Números

El dato a convertir debe ser un objeto de una clase numérica.

clase_num objeto = new clase_num(valor);
var_tipo = objeto.tipoValue();
Float F = new Float(3.1416);
int i = F.intValue();
long l = F.longValue();
float f = F.floatValue();
double d = F.doubleValue();

De Carácter a Número

var_num = Character.digit(var_char, base);

De Carácter a Cadena

El char a convertir debe ser un objeto de la clase Character.

Character objeto = new Character(letra);
var_String = objeto.toString();

De Cadena a Número

El dato al que convertimos debe ser un objeto.

clase_num objeto = new clase_num(var_String);
var_num = objeto.tipoValue();

Ejemplo:

class conver2 {
    public static void main(String numero[]) {
        int n1 = Character.digit('7', 10);
        int n2 = 1;
        Character letra = new Character('z');
        double n3 = 150.50;
        String cad1 = "Numero";
        String cad = String.valueOf(n3);
        String cad2 = letra.toString();
        System.out.println(cad1 + cad + cad2);
        System.out.println(n1 + n2);
        char nletra = Character.forDigit(n2, 10);
        System.out.print(n1 + " " + nletra);
    }
}

Ejemplo:

class conver {
    public static void main(String numero[]) {
        Integer entero = new Integer(numero[0]);
        double n1 = entero.doubleValue();
        double n2 = 150.50;
        System.out.print(n1 + n2);
    }
}

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.