Documentos de Académico
Documentos de Profesional
Documentos de Cultura
java.net
Librera que apoya interfaces con telnet y URLs.
java.util
Clases como diccionarios, tabla de hash, stack, tcnicas de
codificacin y decodificacin, hora, fecha, etctera.
java.awt
Abstract Windowing Toolkit que proporciona una capa abstracta que
permite llevar una aplicacin en Java de un sistema de ventanas a
otro. Contiene clases para componentes bsicos de la interfaz,
tales como eventos, colores, tipos de letra, botones, campos de
texto, etc.
Identificadores
identificador
nombre_usuario
Nombre_Usuario
_variable_del_sistema
$transaccion
int contador_principal;
char _lista_de_ficheros;
float $cantidad_en_Ptas;
Literales
100
98.6
X
<<Esto
es una prueba>>
Comentarios
mltiples lneas /* */
De una lnea //
De documentacin /** */
Separadores
Palabras clave
abstract
continue
for
new
switch
boolean
default
goto
null
synchroniz
ed
break
do
if
package
this
byte
double
implements
private
threadsafe
byvalue
else
import
protected
throw
case
extends
instanceof
public
transient
catch
false
int
return
true
char
final
interface
short
try
class
finally
long
static
void
const
float
native
super
while
Palabras
Reservadas
cast
future
generic
inner
operator
outer
rest
var
Literales
Enteros
Tipo
Porejemplo
byte
8 bits
complemento a
dos
short
16 bits
complemento a
dos
int
32 bits
complemento a
dos
long
64 bits
complemento a
dos
21 077 0xDC00
Realesencomaflotante:
Tipo
Porejemplo
float
32 bits IEEE
754
double
64 bits IEEE
754
3.18 2e12
3.1E12
Booleanos:
true
false
Caracteres:
Por ejemplo:
a \t \u???? [????] es un nmero unicode
Cadenas:
Porejemplo:
"Esto es una cadena"
Tipos de datos,
variables y matrices
Sintaxis
Ejemplos:
int a, b, c;
int d = 3, e, f = 5;
byte z = 22;
double pi = 3.14159;
char X = x;
Inicializacin dinmica
Tipos simples
Enteros
byte,
Caracteres
Char
Booleano
boolean
Enteros:
Byte
Tamao 8-bits.
Valores entre -128 y 127.
Enteros:
short
Tamao 16-bits.
Entre -32,768 y 32,767.
Enteros:
int
Tamao 32-bits.
Entre -2,147,483,648 y 2,147,483,647.
Enteros:
long
Tamao 64-bits.
Entre -9,223,372,036,854,775,808 y
9,223,372,036,854,775,807.
Ejercicio
class Luz{
public static void main(String args[]){
int velocidadluz;
long dias;
long segundos;
long distancia;
float
Tamao 32-bits
Con un rango de 3.4e-038 a 3.4e+038
double
Tamao 64-bits.
Con un rango de 1.7e-308 a 1.7e+308
Ejercicio
class Area{
public static void main(String args[]){
double pi, r, a;
r = 10.8; //radio del circulo
pi = 3.1416; //pi, aproximadamente
a = pi * r * r; //calcula el area
System.out.println("El area del circulo es " + a);
}
}
Caracteres:
char
Tamao 16-bits.
Unicode. Desde '\u0000' a '\uffff' inclusive.
Esto es desde 0 a 65535
Ejercicio
class CharDemo{
public static void main(String args[]){
char ch1, ch2;
ch1 = 88; //codigo de X
ch2 = 'Y';
System.out.print("ch1 y ch2: ");
System.out.println(ch1 + " " + ch2);
}
}
Ejercicio
class CharDemo2{
public static void main(String args[]){
char ch1;
ch1 = 'X';
System.out.println("ch1 contiene " + ch1);
ch1++; //incrementa ch1
System.out.println("ch1 es ahora " + ch1);
}
}
Booleano:
Boolean
Puede contener los valores true o false.
Ejercicio
Usa ya operadores de comparacin
Expresiones condicionales como:
If
For
class BoolTest{
public static void main(String args[]){
boolean b;
b = false;
System.out.println("b es " +b);
b = true;
System.out.println("b es " +b);
//un valor boleano puede controlar la sentencia if
if(b)
System.out.println("Esta sentencia si se ejecuta.");
b = false;
if(b)
System.out.println("Esta sentencia no se ejecuta.");
//el resultado de un operador relacional es un valor boleano
System.out.println("10 > 9 es " + (10>9));
}
}
Inicializacin dinmica
Ejercicio
class DynInit{
public static void main(String args[]){
double a = 3.0, b = 4.0;
//inicializa dinmicamente la variable c
double c = Math.sqrt(a * a + b * b);
System.out.println("La hipotenusa es " + c);
}
}
Ejercicio
class Scope{
public static void main(String args[]){
int x; //visible por todo el cdigo main
x = 10;
if(x==10){//comienza un nuevo mbito
int y = 20; //visible slo en este bloque
//x e y son visibles aqui
System.out.println("x e y: " + x + " " + y );
x = y * 2;
}
//y = 100; //Error! y no es visible aqu
//x todava es visible aqu
System.out.println("x es " + x);
}
}
Conversiones de tipos
int, long
byte, short, long
compatibles:
double, byte
char, boolean
Condiciones:
Los
Qu ocurre?
Un
ensanchamiento o promocin.
Ejemplo:
a byte
byte es ms pequeo que int
Se le llama a este tipo de conversin
estrechamiento
Se usa un cast
(tipo) valor
Donde:
tipo indica el tipo al que se ha de convertir el valor
especificado
Ejemplo:
Convierte
int a;
byte b;
b = (byte) a;
de int a byte
Ejercicio
class Conversion{
public static void main(String args[]){
byte b;
int i = 257;
double d = 323.142;
System.out.println("\nConversion de int a byte.");
b = (byte) i;
System.out.println("i y b: " +i + " " + b);
System.out.println("\nConversion de double a int.");
i = (int) d;
System.out.println("d e i: " +d + " " + i);
System.out.println("\nConversion de double a byte.");
b = (byte) d;
System.out.println("d y b: " +d + " " + b);
}
}
byte
a = 40;
byte b = 50;
byte c = 100;
Int d = a + b
Ejercicio
class Promote{
public static void main(String args[]){
byte b = 42;
char c = 'a';
short s = 1024;
int i = 50000;
float f = 5.67f;
double d = .1234;
double result = (f * b) + (i / c) - (d * s);
System.out.println((f * b) + " + " + (i / c) + " - " + (d *
s));
System.out.println("resultado = " + result);
}
}
Arreglos
s[ ];
int Array[ ];
Matriz unidimensional
1. tipo nombre_matriz [ ];
int dias[ ]; //declaracin
2. nombre_matriz = new tipo [tamao]
//new reserva memoria
dias = new int [12];
Ejercicio
class Array{
public static void main(String args[]){
int dias[ ]; // p bien int dias[ ] = new int[12];
dias = new int[12];
dias[0] = 31;
dias[1] = 28;
dias[2] = 31;
dias[3] = 30;
dias[4] = 31;
dias[5] = 30;
dias[6] = 31;
dias[7] = 31;
dias[8] = 30;
dias[9] = 31;
dias[10] = 30;
dias[11] = 31;
System.out.println("Abril tiene " + dias[3] + "dias.");
}
}
Inicializacin de matrices al
declararse
Es una listas de expresiones separadas
por comas y entre llaves { }
Los valores se separan con las comas
Ejercicio
class AutoArray{
public static void main(String args[]){
int dias[] =
{31,28,31,30,31,30,31,31,30,31,30,31};
System.out.println("Abril tiene " + dias[3] +
"dias");
}
}
Ejercicio
class Media{
public static void main(String args[]){
double nums[] = {10.1, 11.2, 12.3, 13.4, 14.5};
double result = 0;
int i;
for(i=0; i<5; i++)
result = result + nums[i];
System.out.println("La media es " + result/5);
}
}
Matriz multidimensionales
Declaracin
Bidimensional
Int
Ejercicio
class DosDArray{
public static void main(String args[]){
int dosD[][] = new int[4][5];
int i, j, k = 0;
for(i=0; i<4; i++)
for(j=0; j<5; j++){
dosD[i][j] = k;
k++;
}
for(i=0; i<4; i++){
for(j=0; j<5; j++)
System.out.println(dosD[i][j] + " ");
System.out.println("&&");
}
}
}
Ejemplo:
int
[0] [1]
[0] [2]
[0] [3]
[0] [4]
[1] [0]
[1] [1]
[1] [2]
[1] [3]
[1] [4]
[2] [0]
[2] [1]
[2] [2]
[2] [3]
[2] [4]
[3] [0]
[3] [1]
[3] [2]
[3] [3]
[3] [4]
Ejercicio
class DosDArrayN{
public static void main(String args[]){
int dosD[][] = new int[4][];
dosD[0] = new int[1];
dosD[1] = new int[2];
dosD[2] = new int[3];
dosD[3] = new int[4];
int i, j, k = 0;
for(i=0; i<4; i++)
for(j=0; j<i+1; j++){
dosD[i][j] = k;
k++;
}
for(i=0; i<4; i++){
for(j=0; j<i+1; j++)
System.out.print(dosD[i][j] + " ");
System.out.println();
}
}
}
Inicializacin de matrices
multidimensionales
Ejercicio
class Matrix{
public static void main(String args[]){
double m[][] = {
{ 0*0, 1*0, 2*0, 3*0 },
{ 0*1, 1*1, 2*1, 3*1 },
{ 0*2, 1*2, 2*2, 3*2 },
{ 0*3, 1*3, 2*3, 3*3 }
};
int i,j;
for(i=0; i<4; i++){
for(j=0; j<4; j++)
System.out.print(m[i][j] + " ");
System.out.println();
}
}
}
Ejercicio
class threeDMatrix{
public static void main(String args[]){
int threeD[][][] = new int [3][4][5];
int i,j,k;
for(i=0; i<3; i++)
for(j=0; j<4; j++)
for(k=0; k<5; k++)
threeD[i][j][k] = i * j * k;
for(i=0; i<3; i++){
for(j=0; j<4; j++){
for(k=0; k<5; k++)
System.out.print(threeD[i][j][k] + " ");
System.out.println();
}
System.out.println();
}
}
}
Operadores
[]
()
++
--
<<
>>
<
>
<=
&
&&
||
>=
==
!=
Operadores aritmticos
++
--
-=
*=
/=
%=
--
Ejercicio
class BasicMath{
public static void main(String args[]){
//operaciones aritmeticas con enteros
System.out.println("Aritmetica con enteros");
int a = 1 + 1;
int b = a * 3;
int c = b / 4;
int d = c - a;
int e = -d;
System.out.println("a = " +a);
System.out.println("b = " +b);
System.out.println("c = " +c);
System.out.println("d = " +d);
System.out.println("e = " +e);
//aritmetica utilizando el tipo double
System.out.println("\nAritmetica en coma flotante");
double da = 1 + 1;
double db = da * 3;
double dc = db / 4;
double dd = dc - a;
double de = -dd;
System.out.println("da = " + da);
System.out.println("db = " + db);
System.out.println("dc = " + dc);
System.out.println("dd = " + dd);
System.out.println("de = " + de);
}
}
Operador Modulo
Devuelve el resto de un divisin.
Se aplica tanto a tipos flotantes como a
enteros.
Ejercicio
/ El operador %
class Modulo{
public static void main(String args[]){
int x = 42;
double y = 42.3;
System.out.println("x mod 10 = " +x % 10);
System.out.println("y mod 10 = " +y % 10);
}
}
= a + 4;
a += 4;
Sintaxis:
Ejercicio
Control de Flujo
Sentencias de Salto
if/else
if( Boolean ) {
sentencias;
}
else {
sentencias;
}
switch
switch( expr1 ) {
case expr2:
sentencias;
break;
case expr3:
sentencias;
break;
Default:
sentencias;
break;
Sentencias de Bucle
Buclesfor
for(expr1inicio;expr2test;expr3incremento)
{
sentencias;
}
int contador;
for( contador=1; contador <= 12; contador++ ) {
switch( contador % 3 ) {
case 0:
setColor( Color.red );
break;
case 1:
setColor( Color.blue );
break;
case 2:
setColor( Color.green );
break;
}
g.drawLine( 10,contador*10,80,contador*10 );
}
Bucleswhile
while( Boolean ) {
sentencias;
}
Buclesdo/while
do {
sentencias;
}while( Boolean );
Manejo de memoria
y recoleccin de
basura