Un dato byte es más pequeño que uno int, int se compone de más de un byte, por ejemplo dos o cuatro bytes. Java convierte de
forma implícita. Sin embargo es necesario codificar así:
int a=1;
int a=1;
byte b;
b=(byte) a; //No da error.
Y no así:
int a=1;
byte b;
b=a;
Por otro ejemplo, se debe escribir:
n3= (byte) (n1*n2/100);
en lugar de:
byte n1=100, n2=100, n3;
n3= n1*n2
/100;
Siempre hay que hacer casting, o el compilador devuelve error.
Operadores condicionales: Siempre comparan valores y
devuelven valores en booleano.
Operador distinto
!=
Operador No lógico(NOT)
!
Operador "Y" lógico (AND)
&&
Operador "O" lógico (OR)
||
!=
Operador No lógico(NOT)
!
Operador "Y" lógico (AND)
&&
Operador "O" lógico (OR)
||
AND, OR y NOT, evalúan condiciones complejas. NOT niega una
condición.
Operadores de BIT: Manípulan los bits de los números. Son:
Operador NOT
~
Operador XOR
^
Desplazamiento a la derecha
>>
Desplazamiento a la izquierda
>>
Desplazamiento a la derecha o izquierda con ceros
>>> o <<<
Operadores de asignación: Permiten asignar valores a una variable.
Operador NOT
~
Operador XOR
^
Desplazamiento a la derecha
>>
Desplazamiento a la izquierda
>>
Desplazamiento a la derecha o izquierda con ceros
>>> o <<<
Operadores de asignación: Permiten asignar valores a una variable.
Incremento
++
Decremento
--
Ejemplo: “x´+= 3;” es “x= x+3;“.
x++; //esto es x= x+1;
x--; // esto es x= x-1;
Operador ?: Es conocido como “if” de una línea. Ejemplo: expresionlogica?valorSiVerdadero:valorSiFalso;
La clase Math
Se invoca o utiliza mediante “import java.lang.Math;”
Posee dos constantes
Constante
Significado, double E, el número e(2,7182818245…)
El número double PI El número II(3,14159265…)
Posee numerosos
métodos que son:
operador
|
Significado
|
double ceil(double x)
|
Redondea x al entero mayor siguiente. Por ejemplo Math.floor(2.8)
vale 3
|
double floor(double x)
|
Redondea x al entero menor siguiente. Por ejemplo Math.floor(2.8)
vale 2
|
Int round(double x)
|
Redondea x de forma clásica. Por ejemplo Math.round(2.8) vale 3, y
Math.round(2.4) vale 2. Math.round(-2.8) vale -3.
|
double rint(double x)
|
Idéntico al anterior, sólo que éste método da como resultado un
número “doublé” mientras que round da un entero tipo “int”.
|
double random()
|
Número aleatorio de 0 a 1.
|
Tiponúmero abs(tiponúmero x)
|
Devuelve el valor absoluto de x.
|
Tiponúmero min(tiponúmero x, tiponúmero y)
|
Devuelve el menor valor de x o y.
|
Tiponúmero max(tiponumero x, tiponumero y)
|
Devuelve el mayor valor de x o y.
|
double sqrt(double x)
|
Calcula la raíz cuadrada de x
|
Double pow(double x,
double y)
|
Calcula
|
Double exp(double x)
|
Calcula
|
Double log(double x)
|
Calcula el logaritmo neperiano de x
|
Double acos(double
x)
|
Calcula el arco coseno de x
|
Double asin(double
x)
|
Calcula el arco seno de x
|
Double atan(double
x)
|
Calcula el arco tangente de x
|
Double sin(double x)
|
Calcula el seno de x
|
Double cos(double x)
|
Calcula el coseno de x
|
Double tan(double x)
|
Calcula la tangent de x
|
Double toDegress(double anguloEnRadianes)
|
Convierte de radianes a grados
|
Double toRadians(double anguloEnGrados)
|
Convierte de grados a radianes
|
Estructuras de control de flujo
If
Estructuras condicionales simples.
If (condición){
Insturcciones que se ejecutan si la condición es true
}
Else {
Instrucciones que se ejecutan si la condición es falsa
}
Por ejemplo:
If ((diasemana>=1) && (diasemana<=5)) {
trabajar = true;
}
else {
Trabajar
= false;
}
Se pueden anidar varios if a la vez De modo que se comprueban varios valores. Por ejemplo:
If (diasemana==1) dia=”Lunes”;
Else if (diasemana==2) dia=”Martes”;
Else if(diasemana==3) dia=”Miércoles”;
else día=”?”;
Switch
Estructura condicional compleja porque permite evaluar varios valores a la vez.
Switch (expresión) {
Case valor1:
Sentencias si la expresión es igual al valor1;
[break]
Case valor2:
Sentencias si la expresión es igual al valor2;
[break]
.
.
.
default:
Sentencias que se ejecutan si no se cumple ninguna de las anteriores.
}
Ejemplo:
Switch(diasemana){
Case 1:
Dia=”Lunes”
Break;
Case 2:
Dia=”Martes”
Break;
Default:
Dia=”?”;
}
Otro ejemplo o ejemplo 2:
Switch (diasemana){
Case 1:
Case 2:
Case 3:
Case 4:
Case 5:
Laborable= true;
Break;
Case 6:
Case 7:
Laborable=false;
}
While
Permite crear bucles(sentencias que se repiten si se cumple una determinada condición). Los bucles while agrupan instrucciones las cuales se ejecutan continuamente hasta que una condición que se evalúa sea falsa.
while (condición) {
Sentenciaas que se ejecutan si la condición es true
}
Do while
Se ejecutan instrucciones hasta que una condición pasa a ser falsa. La condición se ejecuta después de ejecutar las instrucciones. Al menos el bucle se ejecuta una vez.
Do {
Instrucciones
} while (condición)
For
Búcle especialmente pensado para rellenar arrays o para
ejecutar instrucciones controladas por un contador.
for (expresiónInInicial; condición; expresiónEncadavuelta) {
instrucciones;
}
Break;
Sentencia de una salida de un búcle.
Continue
Para la iteración de un búcle. Hace que el flujo del programa ignore el resto de instrucciones de un búcle. Va hasta la siguiente iteración del búcle.
Arrays
Colección de valores de un mismo tipo, engrosados en la
misma variable. Tras la declaración del array, se tiene que iniciar. Eso lo
realiza el operador new(cuando se usa new se crea el array indicando un tamaño
y se reserva el espacio necesario en memoria; un array no inicializado es un
array “null”).
Int notas[]; // o int[] notas;
Notas = new int[3];
// array de tres valores tipo int.
Int notas[]=new
int[3];
Arrays multidimensionales
Los arrays pueden tener varias dimensiones.
Se puede saber la longitud del array por “length”: System.out.println(notas.lenght);
//sale 3
Fill
Rellena un array.
Array.fill(valores,5,8,-1); // del elemento 5 al 7 valdrán
-1.
Equals
Compara dos arrays y devuelve true si son iguales.
Sort
Permite ordenar un array en orden ascendente.
Arrays.sort(x,2,5); //Ordena del 2° al 4° elemento.
BinarySearch
Devuelve el índice en el que está colocado el elemento.
Permite buscar un elemento de forma ultrarrápida, en un array ordenado.
System Array Copy
System.arraycopy(uno, 0, dos, 0, uno.length);
Recibe cinco argumentos: array que se copia, array índice,
array destino de la copia, índice dese el que se copia en el destino, y el
tamaño de la copia.
Las cadenas de texto se manejan creando objetos de tipo “string”.
El operador de concatenación es “+”.
String.valueOf
Método que convierte valores de una clase a otra.
Concatenar cadenas
Se puede hacer con el método “concat” o con “+”.
…
Propiedades de la POO
-
Encapsulamiento.- Una clase se compone de
variables o propiedades, funciones y procedimientos o métodos. No se puede
definir variables y funciones fuera de una clase, o bien no hay variables
globales.
-
Ocultación.- Hay zona privada, y zona pública o
interfaz de la clase.
-
Polimorfismo.- Métodos con varias definiciónes.
-
Herencia.- Una clase puede heredar propiedades
de otra.
Un objeto es cualquier entidad representable en un programa
informático. Posee una identidad, un estado y un comportamiento. Se crea
utilizando el constructor o código de
inicialización.
1.
El estado marca las condiciones de existencia
del objeto dentro del programa.
2.
El comportamiento determina como responde el objeto
ante peticiones de otros objetos.
3.
La identidad determina que cada objeto es único
aunque tengan el mismo valor.
En java los objetos son los tipos simples: int, char, byte,
short, long, float, doublé, boolean. Arrays, strings.
Las clases son las plantillas para hacer objetos. Definen
una serie de objetos con propiedades o atributos, comportamientos u operaciones
o métodos, y semántica comunes.
Antes de utilizar un objeto, se debe definir la clase a la
que pertenece.
Atributos públicos y privados, métodos o funciones, acciones
u operaciónes que puede realizar una clase, código de inicialización (realizar
operaciones previas, o bien el constructor de la clase), otras clases (definir
clases dentro de otras clases.).
Nombre de clase.
Atributos.
Métodos.
Nombre de clase.
Atributos.
Métodos.
El método “static” hace que la propiedad se pueda utilizar
de manera genérica.
Para poder utilizar un objeto, hay que crearle con “new”.
Al inializar un objeto mediante “new” se reserva el espacio
de memoria necesario.
Especificadores de acceso
1.
Public (para cualquier clase public; subclases,
clases, no clases en otros o el mismo paquete.)
2.
Private (para quien lo utiliza; misma clase.)
3.
Protected(para quien lo utiliza y las clases
heredadas; no se ocupa en subclase o clase en el mismo paquete; tampoco se
ocupa en subclases en otro paquete.)
4.
Friendly (por defecto, todas las clases del
mismo paquete; no se utiliza en paquetes diferentes.)
Return
Modo para regresar un valor.
Void
No se devuelven valores
Polimorfismo
Se crean distintas variantes del mismo método. Se sobrecarga
un método.
This
Es una referencia al propio objeto en el que estamos.
this.referenciaalobjetoactual
this.atributo
this.metodo(parámetros)
this(parámetros)
Clase
|
Atributos y métodos Static
|
|
Applet
Son subclases de la clase applet.
Ejemplo de un primer applet:
1.-
import.java.applet.*;
import java.awt.*;
public class applet HolaMundo extends Applet {
public void paint(Graphics g){
g.drawString(Hola Mundo, 50, 25);
}
}
2.-
Se guarda el archivo con terminación ".java".
3.-
Se compila en msdos, o "cmd" con el comando "javac" + "el nombre del archivo java".
El archivo generado en "bytecode" tiene la terminación ".class".
4.-
Se genera un archivo ".html", y se escribe el código para usar el applet, por ejemplo:
<html>
<head>
<title> un primer applet </title>
</head>
<body>
salida del programa.
<br>
<Applet Code= "HolaMundo.class" Width=150 Height=45>
</applet>
</body>
</html>
5.-
Se abre el archivo con un navegador que soporte applets, por ejemplo, Internet Explorer.