Está en la página 1de 7

Convenciones:

Java es sensible e la mayuscula por lo tanto edad y Edad son identificadores diferentes. Los identificadores comienzan con una letra minúscula y las palabras dentro del identificador con mayúscula. Ejemplo: salarioMinimo. Otros:

Int num3;

Double salarioMinimo = 4; // inicialización estandar

Int x = 0, num1 = 0;

// inicialización por defecto

// declaración de dos variables

Comentarios:

/* muchas líneas */

// en una línea

ENTRADA/SALIDA

La E/S básica por Terminal se hace mediante readLine y println. La entrada básica es System.in, y la salida estándar es System.out.

Operadores aritméticos binarios:

*, /, +, -. Se utilizan para realizar las operaciones aritméticas básicas.

Operadores de Asignación: =, +=, -=, *= y /=

a

= 4;

// a es igual a 4

a

= 4, b=6, c=8

c

+= b;

// c es igual a 14 pues es c+b

también existe -=, *=, /= que modifican el valor de la variable según el operador.

Operadores Unarios:

Requieren un operando. Son varios, el menos unario sería - , luego ++ y – (que son operadores de autoincremento y autodecremento). OJO: La semántica de ++x es que la expresión es el nuevo valor de x sin embargo x++ hace que x mantenga su valor, esto recibe el nombre de incremento postfijo, la otra prefijo.

Paso de parámetros por valor:

Forma de paso de parámetros en que los argumentos reales se copian a los formales.

INSTRUCCIONES CONDICIONALES:

Operadores relacionales y de igualdad

A == b (verdadero si son iguales)

A != b (verdadero sin son distintos)

Todos los operadores se asocian de izquierda a derecha. La expresión a < b < c en el segundo daría error dado que el primer < genera un valor del tipo bolean y el segundo pasa a ser ilegal. Para lograr esto debemos utilizar los operadores lógicos.

Operadores Lógicos

Son Y, O y NO del álgebra de Boole. Se conocen como de conjunción, disyunción y negación y sus operadores son: &&, ||, !. El test anterior se implementaría como:

A < b && b < c

Importante && y || son operadores de evaluación de ciclo corto si la primer expresión es falsa no se sigue con las siguientes.

Si el resultado de un operador lógico se puede determinar a partír del primer operando entonces ya no se evalúa el segundo operando.

IF Principal herramienta para tomar decisiones, su forma básica es:

IF (expresión) Instrucción Siguiente instrucción

ELSE

Instrucción Siguiente instrucción

Ejemplo:

If(x != 0)

System.out.print(1/x);

Else

System.out.print(*Indefinido*);

System.out.printl();

WHILE(expresión) Instruccion Siguiente instrucción

FOR(inicialización; test; actualización) Instrucción Siguiente instrucción

Ejemplo:

For(int I = 1; I <= 100; i++) System.out.println(i);

DO (igual a while pero se ejecuta siempre la primera vez, pues evalúa luego)

DO

Instrucción WHILE(expresión); Siguiente instrucción

BREAK; : Provoca la salida de cualquier bucle hacia el exterior.

Existe una excepción de etiqueta del break que se puede utilizar para salír hasta x sitio

Ejemplo:

Exterior:

{

.)

While(

.)

If(desastre)

Break exterior;

CONTINUE; : Parecido al BREAK pero funciona dentro del bucle actual, es para saltar ciertos tramos, ejemplo:

For (int i = 1; i <=100; i++)

{

If (i % 10 == 0) Continue; System.out.println(i);

Con esto se realizan los 100 primeros enteros con excepción de los divisibles por 10.

SWITCH se usa para elegir entre varios valores enteros, consiste en una expresión y un bloque, se debe utilizar la expresión break para terminar la evaluación, en caso contrario también realizaría las siguientes

Ejemplo:

Switch(algunaCosa)

{

 

case ‘(’ :

case ‘[’ :

case ‘{’ :

// hago algo si encuentro estos símbolos Break; case ‘)’ :

case ‘]’ :

case ‘}’ :

// hago algo si encuentro los símbolos de cierre Break; Case ‘\n’ :

// hago algo si termíno la línea Default :

// si no encontre nada Break;

}

Operador Condicional ?:

Se utiliza como abreviatura de if-else simple. Ejemplo:

exprTest ? exprSi : exprNo

Para asignar el mínimo entre x e y a valMin tendríamos: valMin = x <= y ? x : y

Objetos:

Tipos:

Java tiene 8 tipos llamados primitivos. Además ofrece la posibilidad de definir nuevos tipos tipos de objetos llamados CLASES.

Tipos Primitivos:

En java los tipos primitivos se manipulan siempre por valor.

Java tiene 8 tipos primitivos:

byte

entero de 8 bits

de -128 a 127

short

entero de 16 bits

de -32.768 a 32.767

int

entero de32 bits

de -2.147.483.684 a 2.147.483.647

long

entero de 64 bits

de -2ª63 a 2ª63-1

float

coma flotante 32 bits

6 dígitos significativos (10ª-46, 10ª38)

double

coma flotante 64 bits

15 dígitos significativos (10ª-324, 10ª308)

char

carácter Unicote

boolean

variable booleana

verdadero o falso

Tipos Enteros:

Byte, char, short, int y long.

Constantes:

Las constantes enteras se representan en notación decimal, en octal o hexadecimal son:

octal

mediante un 0 delante del número

hexadecimal

mediante un 0x delante del número

Las constantes tipo carácter se encierran entre dos comillas simples (‘t’). Internamente ese carácter se interpreta como un número pequeño, las rutinas de salida interpretan luego ese número como el carácter correspondiente.

Una constante del tipo cadena se encierran entre comillas dobles (“ttt”).

Hay constantes especiales conocidas como “secuencias de escape”, como ser:

‘\n’

Nueva línea

‘\\’

Carácter de doble barra inclinada hacia atrás

‘\’

Comilla simple

‘\\’

Comilla doble

Declaración de Tipos Primitivos:

Cualquier variable, incluyendo los tipos primitivos se declara mediante su nombre, tipo y opcionalmente su valor inicial.

Conversiones de Tipo:

Considérese el caso:

Double cociente:

Int x = 6; Int y = 10; Cociente = x / y;

// no da pues cociente queremos que sea double

Entonces se haría de la siguiente manera:

Cociente = (double) x / y;

Aquí ni x ni y se modifican, se crea una variable temporal sin nombre cuyo valor se usa para efectuar la división.El operador de conversión de tipo tiene mayor precedencia que la división.

Declaración de Objetos:

Cuando se de declara un objeto no primitivo (una variable referencia), solo estamos indicando un nombre que puede emplearse para referenciar un objeto, pero con esto no se genera al objeto. Ejemplo: Queremos crear un objeto b del tipo Button para agregarlo en un Panel p existente.

Button b;

// b referencia a un objeto del tipo Button

Pero aún no se a creado por lo tanto es imprescindible la palabra new. De modo que quedaría:

Button b;

B = new button ()

// b referencia a un objeto del tipo Button

// b referencia ahora a un objeto creado

New se emplea para crear un objeto y se necesitan los paréntesis tras el tipo de objeto.

Es posible declarar un objeto, luego construírlo y luego darle un valor inicial, o todo junto, ejemplos:

Button b; B = newButton(); b.setLabel(“No”); p.add(b);

otra forma:

// b referencia a un objeto button // ahora creo el objeto b // le asigno la etiqueta “No” // añado b al panel p

button b = newButton(); b.setLabel(“No”); p.add(b);

otra forma:

// referencio y creo el objeto // asigno etiqueta // b se añade al panel p

button b = newButton(“No”); b.add.(b);

// referencio, creo y asigno etiqueta a b // b se añade al panel p

El Operador =

Si tenemos dos variables primitivas y asignamos el valor de una a la otra este valor se copia de

una a la otra (a + b hace que b tome el valor de a).

En objetos el resultado es el mismo pero lo que se copia es la dirección de memoria a donde apunta el objeto. (objetos a = b –de tipos compatibles- luego de la asignación a pasará a referenciar al objeto que b apunta). Tener en cuenta.

El Operador Punto (.):

El operador punto se utiliza para seleccionar un método y aplicarlo a un objeto.

Ejemplo: Si se tiene un objeto de tipo Circulo, en el que se define un método area, si elCirculo referencia a un Circulo, entonces podríamos calcular el area del Circulo referenciando (y guardando en una variable double), haciendo:

Double elArea = elCirculo.area();

El significado de ==

En variables referencia == es verdadero cuando ambos apuntan al mismo objeto. Equals se utilizaría para ver en caso de dos objetos si estos contien el mismo valor. Ejemplo.

Button a = new Button(“Si”); Button b = new Button(“Si”); Button c = b;

b==c CORRECTO a==b INCORRECTO pues son dos objetos distintos cabría equals.

Cadenas de Caracteres:

Se manipulan mediante el tipo String. Se comporta como cualquier tipo no primitivo con la excepción del + y el +=.

Son inmutables, una vez que se crean su contenido no puede modificarse. Por lo que siempre es seguro utilizar el operador == con ellos. Ejemplo: un operador puede declararse de este modo:

String vacia String mensaje String repetición

= “ ” ; = “Hola” ; = mensaje ;

Luego de esto se crearon dos objetos string, una cadena vacía, referenciada por “vacia” y un string “Hola” referenciado por mensaje y repetición, no olvidar

Métodos del tipo string:

Length para obtener la longitud de un objeto String charAt obtiene un carácter de una cadena comenzando por el 0. Substring devuelve una referencia a un nuevo string especificando inicio y primer posición no incluída. Ejemplos:

String saludo = “Hola”; Int lon = saludo.length(); Char ch = saludo.CharAt(1); Strng sub = saludo.substring(2,4);

// lon es 4 // ch es “o” // sub es “la”

Conversión entre cadenas y tipos primitivos: toString convierte valores de tipos primitivos y objetos en un objeto de tipo string.

METODOS

Lo que se conoce como funciones o procedimientos en Java se llama método.

Main:

Función especial que se invoca al ejecutarse un programa. Un programa java está formado por una colección de clases que interactúan entre sí, las cuales contienen métodos. El main es el compilable.

La cabecera de un método consiste en: un nombre, una lista (posiblemente vacía) de parámetros y el tipo de resultado.

El código que normalmente implementa el método es el bloque. La declaración de un método está formada por una cabecera y un cuerpo. Ejemplo de declaración y llamada a un método:

Public class MinTest

{

Public static void main (string[] args)

{

 

Int a = 3; Int b = 7;

System.out.println(min(a,b));

}

// definición de la function

Public static int min(int x, int y)

{

Return x < y ? : y;

Sobrecarga de los nombres de los métodos.

Java permite la sobrecarga de nombres de los métodos. Varios métodos pueden tener el mismo nombre y declararse en el mismo ámbito de clase mientras sus signaturas (los tipos de la lista de parámetros) sean diferentes. Ejemplo pueden coexistir:

Int max(int a, int b, int c) Int max(int a, int b)

Y son tomados como dos métodos distintos pues tienen diferentes parámetros.

Variable Referencia o Referencia:

Todos los tipos de java que no sean primitivos son referencia incluyendo las cadenas de caracteres, los vectores y los ficheros. Pero qué son:

“Son una variable que guarda la dirección de memoria en la se que almacena un objeto.”

No se permiten referencias a los tipos primitivos.

Hay dos categorías de cosas que podemos hacer con las referencias. Una nos permite examinar o manipular el valor referencia. Ejemplo: si modificamos el valor almacenado en “Punto1” pasaríamos a referenciar a otro objeto. También es posible comparar dos referencias a ver si lo hacen al mismo punto. La otra categoría se aplica a lo referenciado: es posible examinar o cambiar el estado interno de uno de los objetos de tipo “Punto”. Las variables referencia almacenan direcciones de memoria por lo que no es posible asociarles ningún significado lógico al producto de ellas (no tiene sentido “Punto1” * ”Punto2, por ejemplo). Los únicos operadores permitidos para manipular los tipos referencia (con excepción de los strings) son las asignaciones via = y las comparaciones de igualdad a través de == y !=.

La otra categoría de operaciones maneja el objeto que está siendo referenciado. Sobre el puede hacerse:

- Realizar una conversión de tipos

- Acceder a un campo interno o invocar a un método, empleando el operador punto (.)

- Emplear el operador instanceof para comprobar que el objeto almacenado es de un tipo deteminado.

Un Objetos es un elemento de cualquier valor no primitivo. Los primitivos se manipulan por valor es decir los valores supuestos para las variables primitivas se almacenan en esas variables y son copiados de unas a otras en las asignaciones mientras que las variables referencia guardan referencias a objetos. El objeto actual se almacena en algún lugar de la memoria y la referencia guarda la posición de memoria del objeto. Una referencia guarda la posición de memoria del objeto.