Está en la página 1de 32

COMPUTACIN AVANZADA

(PRESENTACIN NRO. 1)

Prof. Alejandro E. Bolvar P.


Departamento de Computacin. Ctedra de Computacin Avanzada.

Lenguaje de Programacin

Java es un lenguaje de programacin orientado a objetos


diseado para ser portable en diversas plataformas y
sistemas operativos. Desarrollado por Sun Microsystems
en 1995.
Es orientado a objetos (POO)
Es independiente de la plataforma (independiente del sistema op.)
Es Seguro
Es Robusto
Es Confiable
Es fcil de aprender (estructuras similares, lenguaje C, C++)
Se ajusta a Internet (diseo de applets)
Es gratuito (disponible online)

Requerimientos

Java SE Development Kit (JDK)


Contiene elementos necesarios para ejecutar un programa independiente de la
plataforma por medio de la mquina virtual de java (JVM). Descarga gratuita en
lnea (50 MB aprox.) disponible en: http://java.sun.com/j2se/1.4.2/installwindows.html

Entornos Integrados de Desarrollo:


NetBeans versin 6.1: disponible Personal Tcnico del Departamento de
Computacin.
NetBeans versin 6.9: descarga gratuita en lnea (145 MB aprox.) disponible en:
http://java.sun.com http://www.oracle.com/technetwork/java/index.html
Top Downloads: Java SE
JDK 6 Update 22 with NetBeans 6.9.1

Elementos del Lenguaje

Sensible al uso de maysculas y minsculas


Al escribir identificadores, por ejemplo el identificador Edad es diferente del
identificador edad.
Todas las sentencias de Java deben escribirse en minsculas, por ejemplo al
escribir la sentencia if else, el compilador generara un error al escribirlo en
maysculas.

Comentarios
Una sola lnea:
int max = 10; //cantidad de elementos
Mltiples lneas:
/* Mtodo que retorna el mayor valor de un vector v de tV
* elementos tipo int
*/

Convenciones de codificacin
Enlace a convenciones java.sun

Tipos de Datos

Primitivos
Una variable de tipo primitivo contiene un valor simple: un nmero (entero o real), un carcter (char),
o un valor tipo boolean.

Referencias de Memoria o Apuntadores


Un dato cuyo valor es una direccin de memoria

Tipos de Datos
D
T

A T A
Y P E

I Z E

I T E R A L

V A L U E

byte

8 bit

short

16 bit

int

32 bit

178

long

64 bit

8864L

float

32 bit

87.5F

double

64 bit

37.2 / 37.2D /3.72e1

char

16 bit

boolean

true

/ false

Variables

Los nombres de variables deben comenzar con


una letra en minscula. Si el nombre se deriva de
Declaracin de variables una combinacin de palabras las subsiguientes
tipo identificador;palabras deben comenzar con una letra
mayscula. Puede ser nombres cortos pero con
int x;
significado, de modo que cualquier lector infiera
short diaSemana;su uso a partir de su nombre.

Inicializacin de variables
float sueldo = 12.45F;
int a, b, c;
long z, y;
z = y = a = b = c = 0;

Si no se inicializan las variables Java


asignar cero a las variables de tipo
numrico (enteros y reales), false a
las de tipo bolean, \u0000 a las de
tipo char.

Conversin de Tipos
Conversin automtica
Conversin de un dato de un tipo menor a uno mayor
double < float < long < int < short < byte
Ejemplo:
long sumaEdades;
short edad = 15;
sumaEdades = edad; //convierte automticamente short a long

Conversin de tipo (casting)


Se permite entre tipos numricos. Se puede convertir de carcter a entero y
viceversa. No se puede convertir booleanos a nmeros y viceversa. Incluye
conversin de un dato de tipo mayor a uno menor.
(tipo_dato) expresin_a_convertir
Ejemplo:
float kilogramos, resultado;
double calculo, valor;
// casting
kilogramos = (float)(calculo * 1.2);
resultado = (float) valor;

Constantes
El identificador
MAYSCULAS.
Declaracin

de

una

constante

debe

escribirse

final tipo IDENTIFICADOR = valor;

Ejemplo:
final float ACELERACION = (float)9.8;

La palabra final es un
modificador de acceso que indica
que ese es el valor final del lugar de
memoria y que evita que pueda ser
modificado.

en

Operadores
Operadores unarios: operadores de un solo operando

operador operando //notacin de prefijo


Ejemplo:

y = -x;
--z;

operando operador //notacin de postfijo


Ejemplo:
x++;

Operadores
Operadores binarios: operadores de dos operandos
op1 operador op2 //notacin de infijo
Ejemplo:
y = a + b;
z = (a + b)* y;
int x = (int)(Math.random() * 10);

Mtodo de la Clase
Math para generar
nmeros aleatorios entre
0 y 1.

Operadores
Operadores ternarios: operadores de tres operandos
op1 ? op2 : op3

//notacin de infijo

Ejemplo:
int z = (a+b>0) ? 1 : -1;

Operadores Aritmticos

Operadores aritmticos
Prioridad de los operadores aritmticos
grupo 0: (
grupo 1:
grupo 2: *
grupo 3: +

) (parntesis)
(unario) ++ -/ %
- + (concatenacin)

Los parntesis se utilizan para especificar el orden en que


deben ejecutarse las operaciones.

Operadores Aritmticos

Operadores de incremento y decremento


Ejemplo:
int
y =
y =
y =
y =

y, x = 10;
x++ + 5; //al
++x + 5; //al
x-- + 5; //al
--x + 5; //al

Elementos del Lenguaje

evaluar;
evaluar;
evaluar;
evaluar;

y
y
y
y

=
=
=
=

15,
17,
17,
15,

x
x
x
x

=
=
=
=

11
12
11
10

Operadores Relacionales

Operadores relacionales: > ; <; >=; <=; !=; ==


Cmo comparar valores de punto flotante?
final double TOLERANCIA= 0.0001;
double a = (float) 12.45;
double b = (float) 12.49:

Math.abs(a-b) <= TOLERANCIA


Solo es posible realizar
comparaciones indirectas.
P.E: Retorna true si a y b son
iguales. Se calcul la diferencia
absoluta entre ambos valores para
compararlo con la tolerancia de
clculo.

Operadores Lgicos y de desplazamiento de bits


Operadores lgicos
&& (and); || (or)
Operadores lgicos a nivel de bits
& (and a nivel de bit) ; | (or a nivel de bits)

Operadores de desplazamiento de bits


>> ; << ; >>> (no conserva el signo)

Otros Operadores
Operador condicional ternario
if (mes == 2)
ultimoDia = (anho % 4 == 0)? 29 : 28;
Operador new (pedir memoria)
int arreglo1[] = new int[100];
Circulo obj = new Circulo();
Resumen Prioridad de Operadores

Operadores y su Precedencia
Separador
DaI
IaD
IaD
IaD
IaD
IaD
IaD
IaD
IaD
IaD
IaD
DaI
DaI

. [] () ; ,
++ -- + - ~ !
*/%
+<< >>
< > <= >= instanceof
== !=
&
^
|
&&
||
?:
= *= /= %= += -= <<= >>= &= ^= |=

Salida por Consola


System.out.println(e);
Donde e son elementos a escribir concatenados con el operador +
Ejemplo:
float s = (float) 123.456789;
System.out.println(Suma = + s + \n);
System.out.println((int)(s*1000)/1000.0);

Asignacin
Asignacin sencilla
variable = expresin;
temperatura = 25.5;
Escritura de expresiones de asignacin muy frecuentes

Estructuras Selectivas
Selectiva simple

if (edad > 18)


sumaMayor++;

if (condicion) {
// bloque de sentencias
}

if (edad > 18){


sumaMayor++;
contador++;
}

Estructuras Selectivas
Selectiva doble

if (condicion) {

if (edad > 18)


sumaMayor++;
else
sumaMayor--;

// bloque de sentencias

}
else{
// bloque de sentencias
}
if

(edad > 18){


sumaMayor++;
contador++;
}else{
sumaMayor--;
contador--;
}

Estructuras Selectivas
Selectiva mltiple if else if

if (condicion1){if (nota >= 9)


calificacion
=
//bloque de sentencias
1
else if (nota >= 7)
}else if (condicion2){
calificacion =
//bloque de sentencias
2 >= 5)
else if (nota
calificacion =
else{
else
//bloque de sentencias
calificacion =
}

B;
'N';
'A';
'S';

Estructuras Selectivas
Prdida del else

if (sexo == F) {
if (edad > 60)
jubiladas++;
}
else
caballeros++;

el else est asociado al if inmediatamente anterior

Estructuras Selectivas
Selectiva Mltiple

switch (expresin){
case constante1: sentencia; break;
case constante1: sentencia; break;
....
default: sentencia; break;
}
switch (califLetra){
case 'A': puntos
case 'B': puntos
case 'C': puntos
default : puntos
}

=
=
=
=

20; break;
12; break;
8; break;
0; break;

Estructuras Repetitivas

Mientras
while (condicin){
// bloque de sentencias
}

raiz = 1;
while ((raiz * raiz) < x){
x)
System.out.println(raiz:
raiz++;
+raiz);
raiz++;
}

Estructuras Repetitivas

Hacer mientras
do{
// bloque de sentencias
}while (condicin);

raiz = 0;
do{
raiz++;
}while((raiz * raiz) < x));

Estructuras Repetitivas

Desde o Para
for ( iniciaVarControl; condicin; incremento ){
// bloque de sentencias
}
for( int i = 1, multiplo3 = 1; i <= 5; i++, multiplo3 += 2 )

boolean encontrado = false;


System.out.println("Valor: " + multiplo3) ;
for(
; !encontrado;
){
for(float
r i= =0.0;
suma =
for(
int
0;
100;r i<=>=15.0;
5; i r-=+=5 0.1)
)
//
bloque
dei sentencias
System.out.println("Valor:
" +" r)
;i;
for(int
System.out.println("Valor:
i = 1;
<= n; i++) suma
+
+=i);
}

Mtodos
Mtodo con resultado

tipo_a_retornar identificador( lista


de parametros formales)
{
//bloque
de sentencias
double
cubo(
float x ){
return
valor_
a_retornar ;
return
x*x*x;
}

El valor a retornar puede


ser un valor de tipo
Las variables locales no se
primitivo o una referencia
inicializan por defecto

Mtodos
Mtodo tipo void

void identificador( lista de


parametros formales)
{
void mensaje(){
inicializa( float r, float l ){
// bloque de sentencias
System.out.println("
radio = r;
Hola amigos");
}
longitud = l;
}
}

Llamada a un mtodo
x += cubo(3);
System.out.println(cubo(3));
inicializa(2.5, 2);
inicializa(r, l);
mensaje();

En Java el pase de parmetros es por valor

Mtodos

Sobrecarga de mtodos (polimorfismo en la sobrecarga)


class Desarmadores{
int tamanhoPunta( float ancho, float espesor,
float altura ){
// bloque de sentencias
}

int tamanhoPunta( float ancho ){


// bloque de sentencias
}
int tamanhoPunta(int indiceEstandard){
// bloque de sentencias
}

También podría gustarte