Tutorial de Java.doc

download Tutorial de Java.doc

of 44

Transcript of Tutorial de Java.doc

  • 8/17/2019 Tutorial de Java.doc

    1/44

    Mag. Rosa E. MacaioneÍNDICE

  • 8/17/2019 Tutorial de Java.doc

    2/44

    Tutorial Java

    1. Introducción 3¿Qué es Java? 4Breve historia de Java 4

    2. El Java Develo ers !it "JD!# $¿%ó&o ' dónde o(tener el JD!? $¿Qué es el JD!? $

    3. Tecnolo)*a de o(+etos 12¿Qué son los o(+etos? 12¿%ó&o crear o(+etos? 12¿%ó&o usar los o(+etos? 13,e-erencia a varia(les de los o(+etos 13

    la&ada a los &étodos de los o(+etos 14,ecolector de (asura 1$¿Qué son los &étodos? 1$¿Qué son las clases? 1$

    os o(+etos son instancias de las clases 1/0ane+ando datos de o(+etos 1/

    sando los &étodos del o(+eto 1u(clases su erclases ' herencia 1o(rescri(iendo &étodos 15

    6culta&iento ' enca sulación de datos 15%ontrol de acceso a los &étodos 17El &étodo &ain"#

    21

    4. inta8is del len)ua+e Java 239aria(les ' ti os de datos 236 eradores arit&éticos 236 eradores de relación 236 eradores ló)icos 24:rra's 24

    trin)s 2/0;s so(re I& ort 2/Instrucciones de (loitch 25Bucles -or 3Bucle do@>hile 3

    $. Threads " rocesos# 34%uer o de un roceso 34Estados de los rocesos 34

    /. Introducción a los a lets 3%o&o introducir un a let en una ;)ina AT0 35

    rioridad en la e+ecución de tareas.4

    rocesos de&onios "threads dae&on# 41

    . as E8ce ciones 43¿Qué es una e8ce ción? 43El (lo

  • 8/17/2019 Tutorial de Java.doc

    3/44

    Tutorial Java

    si)ue siendo una herra&ienta -unda&ental en las co&unicaciones ero se han venidodesarrollando otras herra&ientas ' tecnolo)*as co&o el hi erte8to los cuales vienen aser o(+etos de in-or&ación los cuales ueden contener te8tos )r;-icos audio v*deoade&;s de v*nculos a otros hi erte8tos.

    a Corld Cide Ce( se encar)a de la trans-erencia de los hi erte8tos utili ando el rotocolo ATT hasta a

  • 8/17/2019 Tutorial de Java.doc

    4/44

    Tutorial Java

    : -inales de la década de los 5 un 0icros'ste&s inicia un ro'ecto de investi)aciónenca(e ado or Ja&es oslin) con el ro ósito de desarrollar un len)ua+e de ro)ra&ación ara dis ositivos electrónicos co&o tostadoras hornos &icroondas 'asistentes di)itales ersonales. oslin) ' su eareta&(ién necesita ser e8tre&ada&ente inteli)ente orare -ia(le.

    %o&o resultado de lo dicho anterior&ente en 177 oslin) co&en ó a dise ar un nuevo len)ua+e de ro)ra&ación

  • 8/17/2019 Tutorial de Java.doc

    5/44

    Tutorial Java

    E! JAVA DEVE!O"ERS #IT $JD#%

    ¿CÓMO & DÓNDE OBTENER E! JD#?

    El ri&er aso ser; descar)ar "do>nload# el JD! "Java Develo ers !it# el cual estadis oni(le ara las si)uientes lata-or&as=

    • :,% olaris "2.3 o su erior#• Intel 85/ olaris• Cindo>s OTP7$ "Intel 85/#• 0acintosh .$

    En la si)uiente , = htt =PPJava.sun.co&Pdevcorner.ht&l

    i su lata-or&a de desarrollo es Cindo>s 7$ ueden (a+arse el JD! desde=-t =PP-t .rc .net. eP u(Pnet>or sP>in7$P>e(edit

    :hora si tienen al)una lata-or&a co&o :I 6 2 Cindo>s 3.8 ueden revisar ladocu&entación de la , = htt =PPncc.hursle'.i(&.co&PJavain-o en donde encontraran&a'or in-or&ación so(re co& iladores "Just in Ti&e @JIT#

    ¿QUÉ ES E! JD#?

    El JD! es un con+unto de herra&ientas de desarrollo el cual consta de=

    a''(e)*ie+e,.e-e

    • Desc,i'ci n/ Es el visor de a lets de Java. El a letvie>er descar)a uno o &;s docu&entos AT0

    es eci-icados or la , en la l*nea de co&ando. Descar)a todos los a lets re-erenciados en cadadocu&ento ' &uestra estos. %ada uno en su ro ia ventana. i nin)uno de los docu&entos &ostradostiene una &arca R: ETS a letvie>er no hace nada.

    • O'ci nes/

    @de(u) Inicia el Java de(u))er +d( er&itiéndote de urar el a let en el docu&ento.

    Ja*a.e-e• Desc,i'ci n/ Es el intér rete de Java e+ecuta ('te@codes creados or Javac el co& ilador de Java. El

    ar)u&ento no&(re de clase es el no&(re de la clase a ser e+ecutada ' ar)u&entos son los ar;&etros asados a la clase.

    • Sin)a-is/

    Java Uo ciónesV no&(re de clase Rar)u&entosS Java ) Uo ciónesV no&(re de clase Rar)u&entosS

    • O'ci nes/

    @de(u) er&ite

  • 8/17/2019 Tutorial de Java.doc

    6/44

    Tutorial Java

    • %hec source= %on la del archivo -uente. %uando la clase es car)ada si el archivo -uente tieneuna -echa &as reciente

  • 8/17/2019 Tutorial de Java.doc

    7/44

    Tutorial Java

    .N%=WusersWavhWclassesN%=W+d Wclasses

    Ja*ac.e-e• Desc,i'ci n/ Javac es el co& ilador del len)ua+e Java es decir co& ila los archivos "X.Java# en

    ('te@codes Java archivos "X.class# el co& ilador Javac ha sido escrito en el &is&o Java.or de-ecto Javac )enera los archivos "X.class# en el &is&o directorio del archivo -uente "X.Java#

    %uando un archivo -uente de Java hace re-erencia a una clase arn er&ite

  • 8/17/2019 Tutorial de Java.doc

    8/44

    Tutorial Java

    )enera. or de-ecto es el directorio actual.

    @ver(ose Aace

  • 8/17/2019 Tutorial de Java.doc

    9/44

    Tutorial Java

    Javac la in-or&ación de nH&eros de l*nea esta dis oni(le sólo si una clase -ueco& ilada con la o ción @6.

    @ I& ri&e &étodos rivados ' rote)idos ' varia(les de la clase es eci-icadaade&; de las u(licas.

    203.e-e

    • Desc,i'ci n/ +d( es un de urador ara clases de Java. Este esta (asado en una l*nea de co&andos dete8to ' tiene una sinta8is de co&andos co&o la del d(8 en OI o de uradores )d(.

    • Sin)a-is/

    +d( Uo ciónes de JavaV class +d( U@host hostna&eV @ ass>ord ass>ord

    • O'ci nes/

    @host hostna&e

    @ ass>ord ass>ord

    • Co4an0os/

    YY catch Uclase de e8ce ciónV classes clear Uclass=lineV cont do>n UnV

    du& id"s# e8it "o

  • 8/17/2019 Tutorial de Java.doc

    10/44

    Tutorial Java

    TECNO!O5IA DE OBJETOSa tecnolo)*a de o(+etos es una colección de an;lisis dise o ' &etodolo)*as de

    ro)ra&ación.

    ara

  • 8/17/2019 Tutorial de Java.doc

    11/44

    Tutorial Java

    os constructores son &étodos es eciales rovistos en cada clase Java idth int hei)ht#,ectan)le"int >idth int hei)ht#,ectan)le" oint Di&ension d#,ectan)le" oint #,ectan)le"Di&ension d#

    0;s adelante tratare&os acerca de la clase ,ectan)le.

    ¿CÓMO USAR !OS OBJETOS?

    na ve creado el o(+eto or e+e& lo el ,ect;n)ulo necesita&os &overlo or la antalla de la co& utadora es decir i&a)ine&os 2 varia(les 8 '

  • 8/17/2019 Tutorial de Java.doc

    12/44

    Tutorial Java

    ara ca&(iar los valores de 8 ' ode&os usar lo si)uiente=

    cuadro.8 [ 1 N PPP 8 ahora tiene el valor 1cuadro.' [ 2 N PPP ' ahora tiene el valor 2

    Oo olvide&os

  • 8/17/2019 Tutorial de Java.doc

    13/44

    Tutorial Java

    e e+ecuta sincroni ada&ente cuando el siste&a corre -uera de &e&oria o enres uesta a un re

  • 8/17/2019 Tutorial de Java.doc

    14/44

    Tutorial Java

    :hora

  • 8/17/2019 Tutorial de Java.doc

    15/44

    Tutorial Java

    ara crear una nueva clase el ro)ra&ador de(e (asar esta en una clase

    e8istente. a nueva clase es derivada de la clase e8istente. a clase derivada es ta&(iénlla&ada una su(clase de la otra la cual es conocida co&o la su erclase. a derivaciónde clases es transitiva= si B es una su(clase de : ' % es una su(clase de B entonces % es

    una su(clase de :.ara declarar

  • 8/17/2019 Tutorial de Java.doc

    16/44

    Tutorial Java

    i er&ites a un ro)ra&ador "

  • 8/17/2019 Tutorial de Java.doc

    17/44

    Tutorial Java

    ",i*a)e/

    En este nivel de acceso sólo la clase

  • 8/17/2019 Tutorial de Java.doc

    18/44

    Tutorial Java

    :hora su on)a&os

  • 8/17/2019 Tutorial de Java.doc

    19/44

    Tutorial Java

    Escri(a este códi)o en cual

  • 8/17/2019 Tutorial de Java.doc

    20/44

    Tutorial Java

    ('te 5@(it short 1/@(it int 32@(it lon) /4@(it -loat 32@(it

    dou(le /4@(itchar 1/@(it

    O"ERADORES ARITMÉTICOS

    Java so orta varios o eradores arit&éticos inclu'endo :dición"K#u(stracción"@# 0ulti licación"X# Division"P# ' ,esto"_# or e+e& lo=

    8KK R[[S i a[1 ' se e-ectHa '[aKK lue)o '[1 a[2 '@@ R[[S i a[1 ' se e-ectHa '[a@@ lue)o '[1 a[

    KK8 R[[S i a[1 ' se e-ectHa '[KKa lue)o '[2 a[2 @@' R[[S i a[1 ' se e-ectHa '[@@a lue)o '[ a[

    6tras o eraciones ta&(ién son=

    'X[a K 1

  • 8/17/2019 Tutorial de Java.doc

    21/44

    Tutorial Java

    9eri-ica la edad de una ersona entre el ran)o R Edad 0a8S

    ARRA&S

    0ucho de lo .• on enviados auto&;tica&ente al colector de (asura cuando de+an de ser

    usados.

    C,ean0o < 0es),6. os ele&entos de un arra' creados de esta &anera con elvalor or de-ecto del ti o. os ele&entos de un arra' de int son iniciali ados a or e+e& lo ' los de un arra' de o(+etos a null "no a untan a nada#.

    a otra &anera de crear un arra' es &ediante un iniciali ador est;tico >% a:i - i > a:i ? ) ;

    En todas las re-erencias a los ele&entos del arra' el *ndice es che

  • 8/17/2019 Tutorial de Java.doc

    22/44

    Tutorial Java

    En el e+e& lo anterior los ele&entos de a estar*an en el ran)o " ..77#.

    i el *ndice es eci-icado no est; en el ran)o se )enera un error de e8ce ción":rra'Inde86-BoundsE8ce tion# ero no interru& e la e+ecución del ro)ra&a sino >% {

    trian6le:i - ne s4ort:i> ) ; "or $int B - 0; B < i > ); B>>%

    trian6le:i :B - i > B; }

    22

  • 8/17/2019 Tutorial de Java.doc

    23/44

    Tutorial Java

    :si &is&o se ueden declarar ' iniciali ar arra's de esta &anera=

    static int: : DosDim - {{),&},{(,*,+},{+,@, , }}

    ¿Son (os A,,a

  • 8/17/2019 Tutorial de Java.doc

    24/44

    Tutorial Java

    n (lo

  • 8/17/2019 Tutorial de Java.doc

    25/44

    Tutorial Java

    i" $evento -- ouseClic5% 2entencia o blo!ue;else i" $evento -- Drop% 2entencias o blo!ue;

    else i" $evento -- Iail% 2entencias o blo!ue;else i" $evento -- Complete% 2entencias o blo!ue;

    Este ti o de sentencias "i-# es conocida co&o los "i-# anidados.

    En Java e8iste una -or&a &;s a(reviada de &ane+ar los "i-# anidados usando lasentencia "s>itch# cu'a sinta8is es=

    s itc4 $1valuar% {

    case valor)G2entencia o blo!ue; brea5; case valor&G

    2entencia o blo!ue; brea5; case valor(G 2entencia o blo!ue; brea5; ... de"aultG 2entencia o blo!ue por de"ecto;

    }En la sentencia "s>itch# el testeo es co& arado con cada uno de los valores

    "case# si se encuentra una coincidencia la sentencia o sentencias des ués del case ese+ecutada.

    i no se encuentran coincidencias la sentencia "de-ault# es e+ecutada. asentencia "de-ault# es o cional.

    %o&o varia el e+e& lo del "i-# anidado con la sentencia "s>itch#=

    s itc4 $evento% { case ouseClic5G 2entencia o blo!ue; brea5; case DropG 2entencia o blo!ue; brea5; case IailG 2entencia o blo!ue; brea5; case CompleteG

    2entencia o blo!ue; brea5;

    2$

  • 8/17/2019 Tutorial de Java.doc

    26/44

    Tutorial Java

    de"aultG 2entencia o blo!ue por de"ecto; }

    or e+e& lo en el si)uiente e+e& lo=

    "Ou& es un nu&ero ar# ser; i& reso si Ou& tiene co&o valor= 2 4 / o 5cual

  • 8/17/2019 Tutorial de Java.doc

    27/44

    Tutorial Java

    BUC!E DO I!E/

    do {

    cuerpo } 4ile $condición%

    El (ucle do bcuer o^ >hile "condición# es si&ilar a un (ucle >hile "condición#bcuer o^ uesto

  • 8/17/2019 Tutorial de Java.doc

    28/44

    Tutorial Java

    B,ea ing O6) o7 !oo's $R6')6,a 0e( 36c(e%

    En todos los (ucles "-or >hile ' do# el (ucle -inali a cuando la condición no secu& le. :l)unas veces uede ocurrir > ; }

    En este e+e& lo se co ian ele&entos del arra'1 "arra' de enteros# al arra'2 "arra'de -loats# hasta > ; }

    En este e+e& lo se co ian solo los ele&entos del arra'1 "arra' de enteros#

  • 8/17/2019 Tutorial de Java.doc

    29/44

    Tutorial Java

    !a3e(e0 !oo's $B6c(es e)i;6e)a0os%

    Brea ' %ontinue ueden o cional&ente contener eti>% { O4ile $x < +0% {

    i" $i ' x -- *00% brea5 "uera; ... } ... }

    %uando este -ra)&ento de códi)o se e+ecute ' se cu& la B% K *% brea5 "uera; } 2ystem.out.println$3Iinal de bucles3%;

    :

  • 8/17/2019 Tutorial de Java.doc

    30/44

    Tutorial Java

    n roceso es si&ilar a una secuencia de ro)ra&as 6etName$%%; } }

    ESTADOS DE !OS "ROCESOS

    Ne+ T1,ea0

    ara crear un nuevo roceso utili a&os la si)uiente sentencia=

    A4read procesonuevo - ne QrocesosClass$%;ue)o de esta sentencia el roceso no se inicia se

  • 8/17/2019 Tutorial de Java.doc

    31/44

    Tutorial Java

    El &étodo start"# crea los recursos necesarios ara e+ecutar el roceso calcula el roceso a e+ecutar ' lla&a al &étodo run"# en este &o&ento el roceso se encuentra enel estado ",unna(le#.

    No R6nna3(en roceso se encuentra en el estado FOo ,unna(leG cuando ocurre al)uno de

    estos eventos=

    • e lla&ó al &étodo slee "#• e lla&ó al &étodo sus end"#• El roceso usa el &étodo >ait"# ara oner en ausa (a+a al)una condición.• El roceso es (lo

  • 8/17/2019 Tutorial de Java.doc

    32/44

    Tutorial Java

    proceso).start$%;try {

    A4read.currentA4read$%.sleep$+000%; } catc4 $7nterrupted1xception e% { }

    proceso).stop$%;:ser.

    Es),6c)6,a 0e 6n A''(e). public class iapplet extends 8pplet { ................ public void init$% {

    32

  • 8/17/2019 Tutorial de Java.doc

    33/44

    Tutorial Java

    .......} public void start$% { .......} public void stop$% {.......}

    public void destroy$% { .......}......... }

    o ini)$% er&ite iniciali ar el a let cada ve

  • 8/17/2019 Tutorial de Java.doc

    34/44

    Tutorial Java

    str a cadena a ser di(u+ada 8 a coordenada 8 ' a coordenada '

    COMO INC!UIR UN A""!ET EN UNA "A5INA TM!

  • 8/17/2019 Tutorial de Java.doc

    35/44

    Tutorial Java

    public void paint$Rrap4ics 6%{ 6.dra 2trin6$texto,+0,&+%; } }

    %o&o es de es erar este archivo de(er; )uardarse co&o : let2.Java lue)o deser co& ilado les devolver; el a let : let2.class

    E8 licando....

    )et ara&eter es un &étodo de la clase : let del a

  • 8/17/2019 Tutorial de Java.doc

    36/44

    Tutorial Java

    co& utadoras tienen un si& le % "nos esta&os re-iriendo es ec*-ica&ente al&icro rocesador# or lo tanto este solo uede e+ecutar una instrucción a la ve ' estainstrucción a su ve corres onde a un ro)ra&a car)ado en la &e&oria.

    uede ha(er &uchos ro)ra&as car)ados en la &e&oria. Quien decide >; } }

    Este &etodo run"# si& le&ente cuenta desde 1 a 4 . a varia(le deinstancia tic es H(lica or

  • 8/17/2019 Tutorial de Java.doc

    37/44

    Tutorial Java

    %ualCE"CIÓN?

    El tér&ino e8ce ción es conocido de &anera corta co&o un Fevento e8ce cionalG' uede ser de-inido de la si)uiente &anera= na e8ce ción es un evento

  • 8/17/2019 Tutorial de Java.doc

    38/44

    Tutorial Java

    try { int i;

    2ystem.out.println$31ntrando a la declaracion try3%;

    p2tr - ne Qrint2tream$ ne Ju""eredTutput2tream$ ne IileTutput2tream$38rc4ivo2alida.txt3%%%;

    "or $i - 0; i < si e; i>>% p2tr.println$3Malor en G 3 > i > 3 - 3 > victor.element8t$i%%; }

    a declaración tr' )o(ierna las sentencias encerradas con este ' de-ine el ca& ode acción de esta. na declaración tr' de(e ser aco& a ada or al &enos un (lo

  • 8/17/2019 Tutorial de Java.doc

    39/44

    Tutorial Java

    El &étodo >rite ist"# de la clase ist6-Ou&(ers usa dos &ane+adores dee8ce ción ara la declaración tr' con un &ane+ador ara cada ti o de e8ce ción

  • 8/17/2019 Tutorial de Java.doc

    40/44

    Tutorial Java

    try { someVeally1xceptional et4od$%; } catc4 $A4ro able t% { ".close$%; t4ro t;

    } }:

  • 8/17/2019 Tutorial de Java.doc

    41/44

    Tutorial Java

    • a coordenada "8 '# donde ocurrio el evento• a tecla

  • 8/17/2019 Tutorial de Java.doc

    42/44

    Tutorial Java

    %uando usted hace un clic con el ratón una sola ve el :CT )enera 2 eventosuno es el evento &ouseDo>n x > 3,3 > y%; return true; }

    a otra arte del evento &ouse es el &étodo &ouse "# el cual es lla&adocuando el (otón del ratón es li(erado vea&os la sinta8is del evento &ouse .

    public boolean mouseWp$1vent evt, int x, int y% { .... }

    9ea&os un e+e& lo usando los eventos del &ouse

    @@@ uardar este archivo co&o Te8t&ove.+ava@@@

    import Bava.a t.Rrap4ics;import Bava.applet.8pplet;import Bava.a t.1vent;

    public class Aextmove extends 8pplet implements Vunnable{ 2trin6 text_in;int xpos-0;

    A4read 5illme-null;

    42

  • 8/17/2019 Tutorial de Java.doc

    43/44

    Tutorial Java

    boolean suspended - "alse;

    public void init$%{ text_in-6etQarameter$3text3%; }

    public void paint$Rrap4ics 6%{ 6.dra 2trin6$text_in,xpos,)00%; }

    public void start$%{ i"$5illme--null%{ 5illme-ne A4read$t4is%; 5illme.start$%; } }

    public void set_x$%{ xpos -xpos?+; i"$xpos

  • 8/17/2019 Tutorial de Java.doc

    44/44

    Tutorial Java

    :)re)ar el si)uiente códi)o ara su docu&ento AT0 =