Está en la página 1de 12

CONCEPTOS BASICOS DE JAVA Tipos Primitivos: Como tipos primitivos entendemos aquellos tipos de informacin mas usuales y bsicos.

Son los habituales de otros lenguajes de programacin. Observemos algunos de los datos a tener en cuenta en cada tipo. Boolean: No es un valor numrico, solo admite los valores true o false. Char: Usa el cdigo UNICODE y ocupa cada carcter 16 bits. Enteros: Difieren en las precisiones y pueden ser positivos o negativos. o Byte: 1 byte. o Short: 2 bytes. o Int: 4 bytes. o Long: 8 bytes. Reales en punto flotante: igual que los enteros tambin difieren en las precisiones y pueden ser positivos o negativos. o Float: 4 bytes. o Double: 8 bytes.

Variables: Una variable es un espacio de la memoria del computador que referencia un tipo primitivo, la cual nos permite guardar informacin en el tiempo, y como su nombre lo dice varia en el mismo durante la existencia de la variable y su mbito. Ahora que tenemos las piezas necesarias (identificadores y tipos) podemos definir variables en Java. Una variable referenciar siempre a un tipo primitivo de Java o a cualquier otro objeto creado en nuestro programa. Veamos algunas declaraciones: Int a ; // declaracin de una variable 'a' //inicializada a 0 (valor por defecto). Int b = 8; // declaracin de una variable 'b' inicializada a 8. Ejemplo: import java.util.Scanner; public class p_bisiesto3 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int i = 1; int anio; int diasMes = 0; boolean bisiesto = false; String nombreMes = null; } }

Una vez tenemos un poco de idea de como declarar variables en Java, tenemos que tener en cuenta desde que sitios de nuestro programa podemos acceder a ellas, es lo que llamamos mbito de la variable. Bsicamente la norma es que la variable tiene validez dentro del bloque encerrado entre llaves donde ha sido declarada, ya sea dentro de una funcin o de por ejemplo una sentencia 'if'. Veamos un ejemplo con un pequeo programita en java. public class AmbitoVariables { public static void main(String[] args) { if (true) { int y=5; } System.out.println(y); } } Si intentamos ejecutar este cdigo el compilador nos dar un error dicindonos que la variable y no est definida puesto que la hemos declarado en un bloque distinto de donde la pretendemos utilizar. Hay mas normas de mbito respecto a las variables miembro de una clase. Para acceder a ellas depende si en la clase est declarada como 'public' o como 'private'. Las variables declaradas en una clase como 'public' se acceden directamente a travs de 'NombreClase.nombreVariable'. En caso de una variable 'private' solo podemos utilizarla mediante los mtodos de esa clase. Por otro lado desde la declaracin de cualquier funcin propia de una clase podemos acceder a las variables internas de esa clase directamente. public static void imprime_mes(int diasMes,String nombreMes){ int j; String impreso = null; j = 1; while (j<=diasMes){ if (j==1){ impreso = nombreMes + " {" + j + ","; } else{ if (j==diasMes){ impreso = impreso + j + "}"; } else{ impreso = impreso + j + ","; } } j++; } System.out.println(impreso); }

OPERADORES EN JAVA
Operadores de comparacin:
Operador == != === !== > >= < <= Ej1: if ((anio % 4)== 0) bisiesto = true; else bisiesto = false; Ej2: while (i<=12){ nombreMes = ajustaNombreMes(i); diasMes = ajustaDiasMes(i,bisiesto); imprime_mes(diasMes,nombreMes); i++; } Descripcion Igualdad de comparacin. La comparacin se realiza con ajuste de tipos si es necesario. Desigualdad (no igualdad) de comparacin. Ajustando tipos si es necesario. Igualdad de comparacin absoluta. Devuelve true si los elementos representan el mismo valor y adems son del mismo tipo. No igualdad absoluta. Mayor que Mayor o igual que Menor que Menor o igual que

Operadores aritmticos:
Operador + * / % ++ (u) -- (u) - (u) Suma Resta Multiplicacin Divisin (1) Mdulo. Resto de una divisin de dos enteros. Operador incremento. Incrementa en una unidad el valor de una variable. Operador decremento. Decrementa en una unidad el valor de una variable. Negacin. Cambia el signo del valor al que acompaa. Descripcion

(u) Operadores unarios (1) La operacin de divisin siempre devuelve un valor en coma flotante (aunque los operandos sean enteros)

Operadores lgicos:
Operador x && y x || y !x Descripcion Operador 'Y' (AND). Devuelve 'true' si son 'true' tanto 'x' como 'y'. Operador 'O' (OR). Devuelve 'true' si alguno de los operandos es 'true'. Operador 'NO' (NOT). Negacin del operando.

Ejemplo: public static int ajustaDiasMes(int mes, boolean senalBisiesto){ int nro_dias = 0; if ((mes==1)||(mes==3)||(mes==5)||(mes==7)||(mes==8)|| (mes==10) ||(mes==12)){ nro_dias = 31; } else{ if ((mes==4)||(mes==6)||(mes==9)||(mes==11)){ nro_dias = 30; } else{ if (senalBisiesto == true) nro_dias = 29; else nro_dias = 28; } } return nro_dias; }

Operadores lgicos a nivel de bits:


Operador x&y x|y x^y ~x x << y x >> y x >>> y Descripcion Operacin AND a nivel de bits Operacin OR a nivel de bits Operacin XOR a nivel de bits Operacin NOT. Negacin (inversin) a nivel de bits Desplazamiento a la izquierda de los bits de 'x' tantas posiciones como indique 'y'. Se rellena por la derecha con ceros. Desplazamiento a la derecha de los bits de 'x' tantas posiciones como indique 'y'. Se conserva el signo. Desplazamiento a la derecha de los bits de 'x' tantas posiciones como indique 'y'. Se rellena por la izquierda con ceros.

Operadores de asignacin:
Operador x=y x += y x -= y x *= y x /= y x %= y Asigna a 'x' el valor de 'y' Suma con asignacin. x = x + y Resta con asignacin. x = x y Multiplicacin con asignacin. x = x * y Divisin con asignacin. x = x / y Mdulo con asignacin. x = x % y Descripcion

Operadores de cadenas de caracteres:


Se utiliza el operador de concatenacin (+) y el de concatenacin con asignacin (+=): cadena = "Hasta" + " luego"; cadena = "Hasta"; cadena += " luego"; // equivalente a cadena = cadena + " luego";

Ejemplo: public static void imprime_mes(int diasMes,String nombreMes){ int j; String impreso = null; j = 1; while (j<=diasMes){ if (j==1){ impreso = nombreMes + " {" + j + ","; } else{ if (j==diasMes){ impreso = impreso + j + "}"; } else{ impreso = impreso + j + ","; } } j++; } System.out.println(impreso); }

//Al final imprime la cadena que muestra el mes y los das del mismo entre corchetes.

SENTENCIAS DE CONTROL EN JAVA


Control de flujo
Se consigue con las sentencias if...else (bifurcacin condicional) y switch (eleccin mltiple). if (condicin) { sentencias } else { sentencias alternativas } La expresin "condicin" debera devolver true o false. Ejemplo: public static String ajustaNombreMes(int mes){ String nomMes = null; if (mes==1){ nomMes = } if (mes==2){ nomMes = } if (mes==3){ nomMes = } if (mes==4){ nomMes = } if (mes==5){ nomMes = } if (mes==6){ nomMes = } if (mes==7){ nomMes = } if (mes==8){ nomMes = } if (mes==9){ nomMes = } if (mes==10){ "Enero"; "Febrero"; "Marzo"; "Abril"; "Mayo"; "Junio"; "Julio"; "Agosto"; "Septiembre";

nomMes = "Octubre"; } if (mes==11){ nomMes = "Noviembre"; } if (mes==12){ nomMes = "Diciembre"; } return nomMes; } O expresarlo en trminos de if...else anidados: if (condicion1) { } else if (condicion2) { } else if (condicion3) { } else (condicion4) { } public static String ajustaNombreMes2(int mes){ String nomMes = null; if (mes==1){ nomMes = "Enero"; } else if (mes==2){ nomMes = "Febrero"; } else if (mes==3){ nomMes = "Marzo"; } else if (mes==4){ nomMes = "Abril"; } else if (mes==5){ nomMes = "Mayo"; } else if (mes==6){ nomMes = "Junio"; } else if (mes==7){ nomMes = "Julio"; } else if (mes==8){ nomMes = "Agosto"; } else if (mes==9){

nomMes = "Septiembre"; } else if (mes==10){ nomMes = "Octubre"; } else if (mes==11){ nomMes = "Noviembre"; } else{ nomMes = "Diciembre"; } return nomMes; } La sentencia switch es equivalente a varios if...else anidados: Su sintaxis es: switch (expresion) { case valor1: sentencias 1 .... break; case valor2: sentencias 2 .... break; default: sentencias por defecto } La palabra clave break permite salir del bloque switch cuando se ejecutan las sentencias correspondientes al valor coincidente con "expresion": Ejemplo: public static String ajustaNombreMes1(int month){ String nomMes = null; switch (month) { case 1: nomMes = case 2: nomMes = case 3: nomMes = case 4: nomMes = case 5: nomMes = case 6: nomMes = case 7: nomMes = case 8: nomMes = "January"; break; "February"; break; "March"; break; "April"; break; "May"; break; "June"; break; "July"; break; "August"; break;

case 9: case 10: case 11: case 12: default: }

nomMes nomMes nomMes nomMes nomMes

= = = = =

"September"; break; "October"; break; "November"; break; "December"; break; "Invalid month.";break;

return nomMes; }

Bucles WHILE y DO ... WHILE


Sintaxis: WHILE while (condicin) { sentencias; .... } DO ... WHILE do { sentencias; .... } while (condicin)

Las sentencias del bucle while comienzan a ejecutarse slo si se cumple la condicin inicialmente. El bucle acaba cuando la condicin deja de cumplirse. Las sentencias del bucle do...while se ejecutan al menos una vez. El bucle termina cuando condicin es false. Ejemplo: while (i<=12){ nombreMes = ajustaNombreMes(i); diasMes = ajustaDiasMes(i,bisiesto); imprime_mes(diasMes,nombreMes); i++; } do{ nombreMes = ajustaNombreMes(i); diasMes = ajustaDiasMes(i,bisiesto); imprime_mes(diasMes,nombreMes); i++; } while (i<=12)

Bucle FOR
La sintaxis del bucle FOR es: for ( [expresin inicial] ; [condicin] ; [expresin incremental] ) { sentencias ... } Que se leera como: "Partiendo del valor proporcionado por la expresin inicial, ejecuta las sentencias contenidas en el bloque mientras se cumpla la condicin. En cada nueva iteracin ejecuta la expresin incremental". El funcionamiento interno sera: 1.2.3.4.Se Se Se Se ejecuta la expresin inicial. evala la condicin. Si es true contina con el bloque de sentencias. ejecuta el bloque de sentencias. ejecuta la expresin incremental y se pasa al punto 2.

Ejemplo: for (i=1;i<=12;i++){ nombreMes = ajustaNombreMes(i); diasMes = ajustaDiasMes(i,bisiesto); imprime_mes(diasMes,nombreMes); }

Entrada de Datos
La mayora de veces necesitamos capturar informacin desde el exterior para el computador para ello generalmente utilizamos el teclado, el mouse, un lector ptico, etc. Para ello en java inicialmente vamos a utilizar el teclado realizando una instanciacin del mismo mediante la librera Scanner la cual nos va a permitir recibir un valor, de acuerdo a los tipos primitivos utilizados en los programas. public static int pide_anio(){ int anio; Scanner in = new Scanner(System.in); System.out.print("Ingrese el Ao: "); anio = in.nextInt(); return anio; }

Recuerde que dependiendo del tipo de dato que usted desee recibir podr utilizar el next???, que desee recibir por ejemplos nextLong, nextString, etc. Ojo recuerde que uste debe importar el mtodo que le permite realizar la labor. import java.util.Scanner;

Elaborado por: Antonio Jos Rodrguez.

También podría gustarte