Sie sind auf Seite 1von 49

Definicin de Java

(Sun
Microsystems)

El lenguaje de programacin Java es un lenguaje de alto nivel


que se caracteriza por las siguientes palabras:

Simple y familiar
Arquitectura neutral
Orientado a objetos
Portable
Distribuido

Alto rendimiento
Interpretado
Multihilos
Robusto
Dinmico
Seguro

Caracteristicas de Java

Familiar:
Estrucutra parecida a lenguajes como C++

Simple:
Eliminaron caracteristicas inecesarias del
lenguaje C++ y no eran necesarias para aplicar
orientacin a objetos (Se elimin: typedefs,
define, estructuras y uniones, enumeraciones,
funciones, herencia multiple, goto, apuntadores,
ajuste automtico valores primitivos.

Caracteristicas de Java

Orientado a Objetos
Encapsulacin
Polimorfismo
Herencia
Construccin Dinamica

Caracteristicas de Java
Programa.java
______________
__________
_____________

Compilador

Programa.class
BYTE CODE

Arquitectura Neutral
Portable

Interpretador

Windows

Interpretador

Solaris

Interpretador

Mac

Caracteristicas de Java

Arquitectura neutral, portable

Byte-Codes
Byte-Codes
Mquina
MquinaVirtual
Virtual(JVM)
(JVM)
Sistema
SistemaOperativo
Operativo
Computadora
Computadora

Caracteristicas de Java

Dinmico
Independencia entre clases. (link)
Clases se cargan conforme se van requiriendo

Multi Hilos (Threads)


Sincronizacin
Threads Seguros

Rendimiento (Performance)
Just In Time (JIT) compiler

Caracteristicas de Java

JDK
JDK
(Java
(Java Development
Development Kit)
Kit)

JDK

Bajar la ltima versin del JDK del


site de SUN (JDK 1.4.2)
www.javasoft.com
Instalar el JDK en la mquina
Bajar la documentacin
Instalar la documentacin
Comenzar a programar en Java

Instalacin del JDK

Ejecutar el instalador (j2sdk-1_4_2_06windows-i586-p.exe)


Modificar la variable de entorno path
(\raiz\jdk\bin\)
Ej: path=%path%;c:\j2sdk1.4.2_06\bin

Modificar la variable de entorno


CLASSPATH
Ej: CLASSPATH=%CLASSPATH%

;.

El primer programa

Ejecucin

Java

Conceptos Bsicos

Palabras reservadas

Palabras con funcionalidad especifica en Java. No pueden


Ser utilizadas como identificadores

Variables

Un objeto guarda su estado en


variables.

Una variable es un espacio en


memoria que sirve para almacenar
informacin

El tamao de el espacio en memoria


vara dependiendo de la informacin
que se desea guardar.

Variables

Identificador legal con carcteres


unicode (65,536 posibles, 34,168
asignados)
Debe iniciar con letra (A-Z,a-z)
No debe ser palabra reservada
Convencin:
Primera letra minscula y cada palabra

subsiguiente comienza con mayscula, sin


espacios (variableDeVariasPalabras)
Constantes todas en mayuscula separando
las palabras cor el carcter _
(EJEMPLO_CONSTANTE)

Variables

Declaracin de Variables:
tipo_dato lista_de_variables;
Donde lista_de_variables puede ser el nombre de una
variable o una lista separada por coma.

Ejemplos:
int edad, semestre, matricula;
boolean encontrar;
char sigla;

Tipos de datos primitivos


Tipo

Tamao

Descripcin

byte
short
int
long
float
double
char
boolean

8 bits
16 bits
32 bits
64 bits
32 bits
64 bits
16 bits

entero complementos a 2
entero complementos a 2
entero complementos a 2
entero complementos a 2
punto flotante prec. sencilla
punto flotante prec. doble
Unicode, entero sin signo
true/false

Literales

Una literal es una representacin en


cdigo de los tipos de dato
primitivos, por ejemplo:
b //literal para char
42 //literal para int
false //literal para boolean
2453.345 //literal para double

Literales

Enteros: Se pueden representar de 3


formas:
Decimal (base 10): smbolos del 0 al 9
int longitud = 345;

Octal (base 8): smbolos del 0 al 7. Se antepone un


0 al inicio
int longitud = 010;

Hexadecimal (base 16): Utiliza 16 simbolos


diferentes(0 al 9 adems de las letras A, B, C, D, E).
int longitud = 0X10

Por default todos son tipo entero. Si se quieren


definir como long se tendr que agregar al final la
letra L.

Literales

Punto Flotante
Representacin decimal
double d = 112424.3453;

Por default las literales de punto flotante son


double. si se quiere representar como float es
necesario agregar una F al final del nmero
float f = 1234.35F;

Literales

Literales boolean
Pueden tener solo el valor de true o false.
boolean t=true;
boolean f=false;

Literales

Literales char
Carcter entre comilla simple
char a = a;

Para valores Unicode se antepone el carcter de


escape \u, seguido de el cdigo en Hexadecimal
char a = \u004E

//Letra N

Debido a que el char es en realidad un entero


sin signo de 16 bits, es posible asignarle un
valor entero.
char a = 16;

Literales

Strings

El valor de un String se puede representar


como Literal.
String letrero = Letrero

El operador + es el nico operador


sobrecargado en Java. Sirve para
concatenar Strings
String letrero = Parte 1 + Parte 2;

Operadores

Unitarios
Requiere solo un operando, prefijo o postfijo

Binarios
Dos operandos, infijo

Ternarios
Tres operadores
expresin ? op1 : op2

Operadores aritmticos
Operador

Uso

Descripcin

+
*
/
%
+
++
++
---

op1+op2
op1-op2
op1*op2
op1/op2
op1%op2
+op
-op
op++
++op
op---op

Suma
Resta
Multiplicacin
Divisin
Residuo de op1 / op2
Promueve a int si es byte, short o char
Regresa el valor negado de op
Incrementa a op en 1, se evalua antes del incremento
Incrementa a op en 1, se evalua despus del incremento
Decrementa a op en 1, se evalua antes del incremento
Decrementa a op en 1, se evalua antes del incremento

Ejemplos
class Aritmeticos {
public static void main
int x = 17, y = 5;
System.out.println("x
System.out.println("y
System.out.println("x
System.out.println("x
System.out.println("x
System.out.println("x
System.out.println("x
}
}

(String args[]) {
=
=
+
*
/
%

"
"
y
y
y
y
y

+
+
=
=
=
=
=

x);
y);
" +
" +
" +
" +
" +

(x
(x
(x
(x
(x

+
*
/
%

y));
y));
y));
y));
y));

Salida a pantalla

x = 17
y=5
x + y = 22
x - y = 12
x * y = 85
x/y=3
x%y=2

Ejemplos
class Incrementos {
public static void main (String args[]) {
int x = 8, y = 13;
System.out.println("x = " + x);
System.out.println("y = " + y);
System.out.println("++x = " + ++x);
System.out.println("y++ = " + y++);
System.out.println("x = " + x);
System.out.println("y = " + y);
}
}

Salida a pantalla

x =
y =
++x
y++
x =
y =

8
13
= 9
= 13
9
14

Operadores relacionales

Regresan un valor booleano (true o

Operador

Uso

>
<
>=
<=
==
!=

op1>op2
op1<op2
op1>=op2
op1<=op2
op1==op2
op1!=op2

false)

Descripcin
Regresa verdadero si op1 es mayor que op2
Regresa verdadero si op1 es menor que op2
Regresa verdadero si op1 es mayor o igual que op2
Regresa verdadero si op1 es menor o igual que op2
Regresa verdadero si op1 es igual a op2
Regresa verdadero si op1 es diferente a op2

Ejemplos
class Relacionales {
public static void main (String args[]) {
int x = 7, y = 11, z = 11;
System.out.println("x = " + x);
System.out.println("y = " + y);
System.out.println("z = " + z);
System.out.println("x < y = " + (x < y));
System.out.println("x > z = " + (x > z));
System.out.println("y <= z = " + (y <= z));
System.out.println("x >= y = " + (x >= y));
System.out.println("y == z = " + (y == z));
System.out.println("x != y = " + (x != z));
}
}

Salida a pantalla

x
y
z
x
x
y
x
y
x

= 7
= 11
= 11
< y = true
> z = false
<= z = true
>= y = false
== z = true
!= y = true

Operadores Logicos

Regresan un valor booleano (true o


Operador
&&
||
!
&
|
?:

int
int
int
int
int
int

a
b
c
d
e
f

=
=
=
=
=
=

Uso

false)

Descripcin

AND lgico, condicionalmente evalua op2


OR lgico, condicionalmente evalua op2
Niega lgicamente a op
AND lgico, siempre evalua op2
OR lgico, siempre evalua op2
Evalua exp y regresa op1 si es verdadera
exp?op1:op2
o regresa op2 si exp es falsa
op1&&op2
op1||op2
!op
op1&op2
op1|op2

28;
4;
45;
0;
(b == 0) ? 0 : (a / b);
(d == 0) ? 0 : (c / d);

e=7
f =0

Operadores Logicos
public class ShortCut {
public static void main (String args[]){
if ((esMenor(3)) || (esMenor(9))) {
System.out.println("Resultado es true");
}
}
public static boolean esMenor(int i) {
if (i < 5) {
System.out.println(i +" menor que 5");
return true;
}
else {
System.out.println(i + " mayor que 5");
return false;
}
}
}

Salida

3 menor que 5
Resultado es true

Operadores Logicos
public class ShortCut {
public static void main (String args[]){
if ((esMenor(3)) | (esMenor(9))) {
System.out.println("Resultado es true");
}
}
public static boolean esMenor(int i) {
if (i < 5) {
System.out.println(i +" menor que 5");
return true;
}
else {
System.out.println(i + " mayor que 5");
return false;
}
}
}

Salida

3 menor que 5
9 mayor que 5
Resultado es true

Operadores de bit
Operador

Uso

Descripcin

>>
<<
>>>
&
|
^

op1>>op2
op1<<op2
op1>>>op2
op1&op2
op1|op2
op1^op2

Recorre los bits de op1 hacia la derecha op2 bits


Recorre los bits de op1 hacia la izquierda op2 bits
Recorre a la derecha, pero sin signo
AND lgico, bit a bit
OR lgico, bit a bit
XOR lgico, bit a bit
Complementa op, bit a bit

op

Ejemplos
class Shift {
public static void main (String args[]) {
int x = 7;
System.out.println("x = " + x);
System.out.println("x >> 2 = " + (x >> 2));
System.out.println("x << 1 = " + (x << 1));
System.out.println("x >>> 1 = " + (x >>> 1));
System.out.println("12 & 13 = "+ (12 & 13));
}
}

Salida a pantalla

x=7
x >> 2 = 1
x << 1 = 14
x >>> 1 = 3
12 & 13 = 12

Operadores de asignacin
Operador

Uso

=
+=
-=
*=
/=
%=
&=
|=
^=
<<=
>>=
>>>=

op1=op2
op1+=op2
op1-=op2
op1*=op2
op1/=op2
op1%=op2
op1&=op2
op1|=op2
op1^=op2
op1<<=op2
op1>>=op2
op1>>>=op2

Equivalente a
op1 = op1 + op2
op1 = op1 - op2
op1 = op1 * op2
op1 = op1 / op2
op1 = op1 % op2
op1 = op1 & op2
op1 = op1 | op2
op1 = op1 ^ op2
op1 = op1 << op2
op1 = op1 >> op2
op1 = op1 >>> op2

Prioridad de Operadores

Expresiones

Se forman utilizando operadores


relacionales y lgicos y se evalan de
acuerdo a la prioridad de los
operadores involucrados.
Ejemplo Expresiones Lgicas:
5 > 3 && 7 == 0

false

Ejemplo Expresiones Aritmticas:


int x = 10+8*2;
int x = (10+8)*2;

Resultado x=26
Resultado x=36

Cast datos primitivos

Realizar un Cast permite convertir


datos primitivos de un tipo a otro.

Existen 2 tipos:
Implcito
Explcito

Casting Implcito

Se realiza de forma automtica


cuando un tipo de menor capacidad
se asigna a un tipo de mayor
capacidad, tambin llamado
promocin numrica.
byte -> short -> int -> long -> float -> double

Ejemplo:

double n;
int x = 7;
n= x / 3;

Resultado n=2

Casting Explcito

Es necesario utilizar un operador de


tipo cast.
Ejemplo:
double n;
int a = 7;
n = (double) a / 3;

Resultado n = 2.333

Ejemplo:
double n;
int a = 7;
n = (double) (a / 3);
Resultado n = 2.0

Estatutos Secuenciales

Un estatuto forma una unidad


completa de ejecucin.
Estatutos de declaracin:
double valor=10;

Estatutos de expresiones:

valor = 8933.234;
//asignacin
valor++;
//incremento
System.out.println(valor);
//llamadas a mtodo
Integer integer = new Integer(4);
//Creacin de Objetos

Estatutos de Control

Decisin (seleccin) se ejecuta un


bloque de cdigo de acuerdo a la
condicin.

Repeticin (ciclo) se repite la


ejecucin de un bloque de cdigo de
acuerdo a una condicin.

Estatutos de Control

Condicionales: Se utilizan estatutos


condicionales cuando se tienen varias
alternativas de ejecucin.
if - else
switch

Ciclos: Se utilizan cuando se desea repetir


un bloque de estatutos una o ms veces.
while
do - while
for

Bloque de Cdigo

Grupo de cero o ms estatutos.


Se delimita entre llaves ( { } )
Una variable declarada dentro de un
bloque de cdigo, solo puede ser
utilizado en el mismo.
Ejemplo:

{
int x = 10;
System.out.println(x)

Bloque

}
System.out.println(x);

Error

Comentarios

Para agregar comentarios dentro


del cdigo de Java se utilizan 2
metodos

Comentarios de una sola lnea: 2 diagonales


(//) seguido del comentario deseado.
Comentarios de varias lneas: Comienzan con
/* y para indicar el final del comentario */
{ //comentarios 1 lnea
{ /*comentarios varias lneas
//se repiten las diagonales
//por cada rengln

Se marca solo el inicio


y el fin, pueden ser N lneas */

int x = 10;
System.out.println(x)
}

int x = 10;
System.out.println(x)
}

Pedir dos nmeros por teclado y mostrar en pantalla el resultado:


import java.io.*;
public class Main
{
public static void main (String [] args)
{
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader (isr);
try
{
System.out.print("Sumando 1 : ");
int s1 = Integer.parseInt(br.readLine());
System.out.print("Sumando 2 : ");
int s2 = Integer.parseInt(br.readLine());
int suma=s1+s2;
System.out.println ("La suma es " + s1 + "+" + s2 +"="+ suma);
}
catch (Exception e)
{
e.printStackTrace();
}
}
}

Escriba un programa que imprima en la


pantalla su nombre completo en una lnea y
en la lnea siguiente su fecha de nacimiento.
Dados los siguientes identificadores que se
van a utilizar en un programa escrito en
Java, diga cules de ellos son correctos y
cules no. Justifique su respuesta.
a) mi variable
b) unavariable
Escriba un programa que escriba en pantalla
cunto le costar comprar unas zapatillas
cuyo precio de catlogo es de S/. 85, y se
sabe que puede conseguir una rebaja del
15%.

Escribir un programa que defina dos


variables enteras para describir las
longitudes de los lados de un rectngulo.
El programa debe calcular y escribir en la
pantalla las longitudes de los lados, el
permetro y el rea del rectngulo.
Suponga que el rectngulo mide 15cm de
alto y 25cm de ancho.
Expresiones aritmtico-lgicas. Qu
devuelve?:
a) 25 > 20 && 13 > 5
b) 10 + 4 < 15 3 || 2 * 5 + 1 > 14 2 * 2
c) 4 * 2 <= 8 || 2 * 2 < 5 && 4 > 3 + 1

Das könnte Ihnen auch gefallen