Modulo 1 El lenguaje Java 13 - Codificación en Java Una de las grandes diferencias entre Java y Pascal en cuando a la codificación es que Java se trata de un lenguaje de los llamados case sensitive Esto simplemente quiere decir que el compilador de Java distingue entre las letras mayúsculas y minúsculas Supongamos que de alguna manera declaramos una variable llamada edad Más adelante, en el código cuando queremos referirnos a ella debemos hacerlo tal como fue declarada, ya que si lo hacemos como Edad o EDAD el compilador nos informará sobre un error de compilación Este fenómeno se dará también con las palabras claves de Java, tal como los if, while, for, etc, las cuales deben ir siempre en minúscula 131 Migrando el programa principal de Pascal a Java Tal como en Pascal, los programas ejecutables de Java deben tener un punto de inicio o de arranque, esto en Pascal se indicaba de la siguiente manera: program ejemplo; // Código del programa principal end La traducción de este código a Java es la siguiente: public class ejemplo // Código del programa principal Comparando ambos trozos de código podemos observar lo siguiente: En Java los indicadores de inicio y fin de un bloque de código no son y end como en Pascal, sino que son las llaves y respectivamente La sentencia program de Pascal que indica el comienzo de un programa, en Java se indica mediante public class Más adelante veremos que significa esto Se agrega además en Java un procedimiento o función llamado public static void main (String[] args) el cual será invocado cuando el programa sea ejecutado Más adelante volveremos sobre esto Por el momento nos quedaremos con la forma que debe tener el programa principal en Java, el por qué lo dejaremos para más adelante
132 Comentarios Java tiene 3 tipos de comentarios: dos para comentarios regulares en el código fuente y uno para la documentación especial del sistema javadoc Por el momento nos concentraremos en los dos primeros Los símbolos /* y */ rodean comentarios de varias lineas Todo el texto que se encuentre entre estos delimitadores se ignorará: /* Esto es un comentario de bloque de Java, por lo tanto el compilador lo ignorará, pero yo no*/ Estos comentarios no pueden anidarse, esto significa que no podemos poner un comentario dentro de otro comentario La doble diagonal // puede ser usada para un comentario de una sola línea Todo el texto que se encuentra a partir de la doble diagonal hasta el final de la linea se ignora: Systemoutprintln ( Buenos días!!! ); // Saludamos al usuario 14 - Tipos de datos Declaración de variables 141 Tipos de datos Java contiene todos los tipos de datos vistos en Pascal Algunos de ellos son: Tipo de dato Pascal Java Entero integer int Byte byte byte Real real float Booleano boolean boolean Carácter char char Cadena de caracteres string String Cabe aclarar que el tipo de cadena de caracteres debe escribirse tal cual como esta en la tabla: String comenzando con mayúscula Más adelante le encontraremos una explicación a esto 142 Declaración de variables Las declaraciones de variables en Java consisten de un tipo y un nombre de variable: int edad; String nombre; boolean esmayor; Recordemos, que una variable debe ser declarada antes de ser utilizada En Pascal, las variables se declaran al comienzo del programa principal, del procedimiento o función A diferencia de esto, en Java las variables pueden ser declaradas en cualquier lugar del programa, aunque, por lo común se declaran al principio Veamos un ejemplo: int a, b; String primernombre, segundonombre;
a=14; b=9; primernombre= Erika ; segundonombre= Martina ; El ejemplo anterior también podríamos codificarlo de la siguiente manera: int a=14, b=9; String primernombre= Erika, segundonombre= Martina ; a=14; b=9; primernombre= Erika ; segundonombre= Martina ; 143 Arreglos Los arreglos en Java, como en Pascal, son un medio para almacenar colecciones de elementos en una sola unidad Un arreglo tiene cierto número de posiciones, cada una de ellas puede contener un elemento individual Se puede agregar o eliminar elementos en esas posiciones según se necesite Un arreglo puede tener cualquier tipo de valor de elemento, pero no se puede almacenar diferentes tipos de datos en un solo arreglo Es posible tener un arreglo de enteros o un arreglo de cadenas de caracteres o un arreglo de arreglos, pero no se puede tener un arreglo que contenga, por ejemplo, enteros y cadenas de caracteres El primer paso para la creación de un arreglo es crear una variable que lo guarde, justo como se haría con cualquier otra variable Las variables de arreglo indican el tipo de dato que el mismo contendrá y el nombre del arreglo, seguido por corchetes vacíos ([]) Además será necesario indicar la cantidad de elementos del arreglo, esto lo haremos por medio del operador new String nombres[] = new String[10]; int edades[] = new int[10]; Más adelante explicaremos en detalle la función del operador new Cuando se crea un arreglo utilizando new, todas las posiciones del arreglo son inicializadas en 0 para arreglos numéricos, en false para arreglos booleanos y en \0 para arreglos de caracteres Después se podrán asignar valores a las posiciones del arreglo También, es posible crear arreglos e inicializar su contenido al mismo tiempo En lugar de utilizar new para crear un arreglo nuevo, se debe encerrar los elementos del arreglo dentro de llaves, separados por comas: String[] clubes = Nacional, Defensor, Danubio, Cerrito, Rentistas ; Acceder a los elementos de un arreglo se hace de idéntica manera que en Pascal, por ejemplo para obtener el elemento almacenado en la posición 3 del array nombres se utiliza la siguiente expresión: nombres[3]; La siguiente expresión modifica el contenido del arreglo en la posición 3: nombres[3] = Carlota ; Es importante de destacar que el subíndice de un arreglo se calcula en tiempo de ejecución, por lo que la siguiente expresión:
nombres[11]; generará un error al momento de ejecutar el programa y NO al momento de compilarlo Es necesario tener en cuenta, que los subíndices de los arreglos comienzan en 0, por lo que en el ejemplo del arreglo nombres, los subíndices válidos son los que van desde el 0 hasta el 9 Un ultimo punto que hay que considerar sobre los arreglos, son los arreglos bidimensionales En el lenguaje Pascal, este tipo de arreglo se declara de la siguiente manera: matriz = array [10, 10] of integer; La expresión anterior, declara un arreglo bidimensional de 10 columnas y 10 filas Esta misma declaración puede hacerse en Java de la siguiente forma: int matriz[][] = new int[10][10]; Es bueno aclarar que Java no soporta arreglos multidimensionales, sin embargo, lo que se puede declarar y crear un arreglo de arreglos y accederlos tal como lo haríamos en Pascal: matriz[0][1] = 3; 15 Estructuras básicas de control de flujo 151 Condicionales if Hagamos un poco de memoria La proposición if vista en Pascal, usa la palabra if que en inglés significa sí, la oración si su edad es mayor a 16 entonces déjelo pasar al baile, de otra manera no lo deje entrar en Pascal la representábamos de la siguiente manera: then entrar:= true; end entrar:= false; end En general, la proposición if se utiliza cuando se desea ejecutar diferentes partes del código con base en una simple prueba Las condiciones if en Java son casi idénticas a las condiciones if en Pascal: contienen la palabra if, seguida por una pruena booleana y una instrucción sencilla o un bloque de instrucciones que serán ejecutados si el resultado de la prueba es true, en caso de ser false se ejecutará el código correspondiente al (si que este esta presente) El siguiente código representa la misma condición planteada líneas más arriba, pero ahora en Java: entrar = true; entrar = false;
Como podemos observar existen algunas diferencias: Como ya hemos visto, los bloques de código en Java se abren y se cierran con llaves, en lugar del y end de Pascal La asignación de valores a variables se debe hacer con el símbolo de igual (=) en lugar del dos puntos igual (:=) de Pascal Ha desaparecido el then!!! Así es, la sintaxis de Java no lo incluye como parte del if Busquemos la parte positiva de esto: hay que escribir menos IMPORTANTE: Cuando queremos en Java hacer un test de igualdad, debemos usar dos símbolos de igual En Pascal usábamos uno solo, pero esto esta reservado en Java para asignar valores a variables Por ejemplo: En Pascal escribíamos: if (edad = 18) then writeln ( Usted es mayor de edad ); En Java debemos escribir: if (edad == 18) Systemoutprintln ( Usted es mayor de edad ); Todo aquel que tenga memoria y haya prestado atención al ejemplo en Pascal, pudo haber observado que los y end son totalmente innecesarios, ya que cuando escribíamos una sola línea de código no era necesario ponerlos En Java sucede exactamente los mismo con las llaves, por lo que el ejemplo quedaría de la siguiente manera: entrar = true; entrar = false;