You are on page 1of 81
Fermi Vilé Java 2 (Manual FV) Java Fermi Vilé Antes de empezai = Mama RV. Bignifica “mnwual practice de informitiew’ pero realmente reskucute PRACTICO. = Enel texto me seficro coatintamente a Ts dodbe 2 sta, esto ¢8 ua subdircctorio de-tu ordenador os 1 de ee = Vind foe pragma y sa pre \(Gtandard Edition 1.2.2) prensa el Jase 2 SD = Micousejo, e8 que ceeribas de uucvo tal como te indica ea cl texto, cada uno de los programas iliconddy el fhlwe de Nats el Windows Salo an al exw de opie ol progr Famesons y o deseubras euil es ef aror, eapiale 2 partir del Worden al Blue de Nate y grab cow otro sombre; pare poder comprarade con el luyioy a sescubsirel error. Picasa gpte se mpreade mae deseubricad les propios envores, que avanzar sin hacer ning crror. INDICE 1 Introduecién Ejersictos de antoevahineiin 1 1s Soluciones 1 20 2-Bntrada y Salida ce Datos, Bjereteins de antoevalnac¥On 2.0. 0 .:snn nesnsnnn nnn vasnninnon seoscenmnimnn Fjereicios de aatoey, SSohacemes eo cnet ee a 4 Program Hjereicios de aaloevaluaciin & y solciomes coco . oe 4 Aplicaciones y Applets... eee coc Ejercicios de aitoevalisciin § y sol oe . coe M49 0 208 Java Fermi Vilé I.- Introduccién Origen del Java {La eniprest San Microsystems decile ntenchicinse a el mercid cle by electronic de comma p dvesqrollar progrnunas pan poqneuse digpositives eleetroaicos (testadoras, micro oadse, TV aaternetava, First ersom Ine Jae os Casting, dela Berson ‘que Ilseué Oak: para solucionse partir del C11 crea je de programacin (1981), rau problomade “prosranaciéa” en la electréaicnde consume: = Ena cleetrsnica de coasnmo, lox chips electrénicos comespondicates cambinn muy ripidameute’ pecuelia diferencts en el precio cle un chip, yor eens. = Al tilizar el longuaje “C+”, si cambiamos cl chip, c# mcccesrio rehscer todos I aubpielas al nuevo dispositiva elect onico, = Uuprograma cserito eu “OA” ao uscesitn rehacerse para compilarse de auev, al cambiar el chip. programas, para Ea definitive, «i programamos en “Oak” no ss necesario cambiar «l programa, si vs iauplementado, ra el chip donde esta Ea 1995 twas un coabie de nombre y majoras en ou digeio se present el “Java” em anc La ‘Caracteristicas del Java + EL Iwa” es un fenguaje de programacién completo orien ado a objetos BL rava ge dicen a pom © Bervedneida = Sencillo © Rapids + Eficiente © Transportalble (em diverse: platafonmas y sistemas operativos) CHE" com ef proposito de Con hava” podemos ere des tipes de programas: ‘= aplicacions Completa = Applets pple (pecwetta aplican es im pr ‘animacioucs, eréfices con cfectos interactive, jn eva, que ejecta ee ume pg of. ct. = Laprincipal caracteristica del Java cs sn “indepcadcacia de Ia plaratorma’™ _A7 Somer par Deaton, a sehere EXE (nea) pre Retna Codigo fwcate- Compilador para PowerPC —® fichero EXE para PowerPC mcr Compilador para Appsl——* fichier EXE para Appel | Ineoupatibles eatre ellos Java Fermi Vilé C6 digo fuente Compilador Fichero binario en “Sava” Jat —~ yg fuoce EXE. tino mn Se ente ejeculsble, ya irate re leon de ea “wage Luréxpecte Mac 1 defini Th finico Ta tmico compilader Eva Interpret. codigo fuente (ibreriae y fanciones Java propio [>| commas pars todos los JP} del sistema Ejecuciin del Programa En Sistemas PC/Windows el irterprete es un programa MsDos x ef exeo partic de um Agplet, etn navegador da Thlernet (el mterprete} El responsible de jecutar ef _ prograaia applet c: Ia Hamada Maquina Virtual vn oo IVI). prossama iateprete — — ‘emt fom wte del Nawegaador %, |_ "| MJ dle X Ayplet — Feber bytecode PN Nawegator ¥ MvIdeY Java Fermi Vilé java y JavaSeript = JavaSeript oo una veesida de Java directomeato interprotada, pagina ITTML, la que lo hace muy faeil y comodo para aplicaciones mimy pequetias, pero qe en realidad tiene inuchas lunitaciones. La principal lianitacién ¢3 que wo todos los browsers lo sopomtaa, ‘completamente (Ixplorer, por ¢ sopantaclas allan auliciames de Netscape, eon ‘imégeucs aniinadas) 0 ce ineluye como pate de-una - JavaSertpt oe un lenguaje creado por Noteeape y Sun, = VBScript (Vieal Basic Script) cs uaa copia mejoradta de Javafscript creada por Microsoft (ca 1a guerra com Nelseape), ¢pe silo imiciona cot si avec (Macrisn hulerel spplorer) 4, pores iene nienow apts eon, yeep eral a diferencia de JavaScript. que s6lo sirve paca atiadir cecil as pagnas wel JavaScript colo se puede compara (calvande bas distin cias) con loc applets de Java ‘Veamos con un gjsmplo la relacisn entre FavaSeript y un Applet de Java: te fichero: = Creatilizando el Boe de Nota de Windows, el si pt Ianguage-"JavaScript"= document write("Tsto et un unensajede JavaSeripe); Esto forma parte dela pagina Web Tho kcal» = faba ol fichero aateeioe on TuCarrers coa el nombee JOO Lhe = Bjecutael sichero autesioe sendy el Toe de Nos, ef siguiente Fiber pple. jW2 inp ort java.awt.Craphics Finp ort java applet ple public class 002 extends Applet} paint(Geaphics sit gdrawString("Esto es Fava",25,25); = Graba el fichero anterior en = Ceenel siguiente fichero: Java Fermi Vilé 6 br Esto forma parte dela pagina Web choy “heal = Gisba elfichore aativior cou el acabee $003.biem = Siiate ca MSIDOS, es decir ‘Clic ea [Zaiei9 (Cursor en “Prograsni Clic ca MS-DOS [Return] = ol programs java Re decix, x partir del codigo fn steado el fichero compilade (bimerie bytecode) j02-las te en jrvn“jO02 java oe hae + Ejscutn el fichero j003.h6m desde tu navegador Compiladores de Java Hay muichos en #1 mercado; Veal Caf de Symantec + Visual J++de Micrssnf = daillder de Barlaad + Be Now og Wifizaremos el Jawa 2 SDK (Standard Baliion 1.2.2), qe forma pute del kite desrrolbe de Java JDK), que es ua resalo oramuito de Sun a la conmunidad que peoerama en Kerra Probablemeate lo tcadede cu alga CD-ROM de los que scampata a las cevistae-de informitiea Die todaz form puedes biyjantelo de Internet a ln direecion win: jasnft com Al inser el JDK de Su tencanos los ts progranias hésicos = davnceve, qe es el cme ptladar = Tavacxe. el intéeprete para sirens PCWindows = Appiltstemarece, a vsaleator de applets se eres en nugstre disco shuro ba carpet CMDICL2.2 er enya cape HIN verano ejecular los pros isn do un editor detexta (Blac de Notas del Windows, por ejetplo) el frente de nests programs Jrva, Hemios de arsbario cea In extension Java, por jeaiplo nombrel.java ‘+ Desde MIS/DOS y en In caspota demle tenemos mem bret. java, escribimos: javac 1. ava [Retura. Java Fermi Vilé De esta forma co nombrel dass © Deade NS‘DOS y en In caspera doude tenemos nembred.javay nombret.ckacs, eecsibim oe java nombret [Retry] (De cata forma se “interpreta” fichero mombred.class ea auestro orveandor PC/Windows, = slecir se ejecula 03 nest progr ‘ye crear el fichero binario (bytecode) Applet = Ipnal que ca cL.easo sateriar, pero pava sjecuter cl applet, heuvos de uwclvir la Uamsda, correspondiente en wan pcan Wels Us cecir, en luc de utilise el mlerrele java.exe de sates, utilizamos cl amvcgador que coutionc la MT come intéxpecte, Los primeros programas ~ Bseribe wlilizanda el bloc de nota ee 5004 | li static void main(S wing [] args) { Systetn.out.printin(" Bienvenido a Javal™); 3 = Grabalo ea T.Caypera con el wombre JOO. java ~ -Compila y ejecuta el peotomia anterior, es deeit: fe jrvac j004 java = gavajood = Smpongo cme has deducido para que sirve fa sentencia: Systean out = Investiga fa util dear, est dovel siguiente progr tas MIS | public state vold main(String (] args) { Systean.out printin("HTolainQu a): ‘Syotean.out prindn("Une'nDosin Tree nCuntra"); z = -Gribalo com cl nombre ja0S fava - Compl oy ejeemtale, = ,Qué ntilidad tiene = Investiga la diferencia eatre print y primtin, estndiaade el siguiente progroma: lass 5006 Java Fermi Vilé 8 z = Gribalo cow el nombre 06. fava = Compilato y cieeutae, = Qué diferencia hay entre print y printin? Crmemeaje”) esque de escribir ef mensige” se produce mm coanlsio ce bine cequivale a pulsar [Remen] print¢-mensaje”) deepués de escribir el“mensaje" el eursor ee sia ol final del mensaje yen ba snisna fines. Parstrwcorclalo pension bi sigieeste~fenaun ls printin.~ print +In (linea anewa) = Becribe el siguiente pensrama a= ail ort java port javasnwtevent.*; lass j007 extends Frame { ie O00 setTitle("Das circumferencias"): low Listemor(now WindowAdapter) | ublic veld wind owCleskng( Wind ov vent) { System.esil(); } fseeSize(300,200); Esot\isiblo(ermey, } void paintiGeaphicn it gsecColor(Color:red): galrawOval( 10,30 gsotCelon(Coler blue); = beet Sizer 00,400) Determina el tamadie de la-ventana 1 eoorenada = 6140 = an chura en pixels 2! coordenada = 400 ~ altura en pixels = gsetCotor(Color.red) Establece elrojo como color de dibujo, Java Fermi Vilé 9 = gadraw Oval(10,30,30,30) Dibuja una caeunferencia cuyo “‘vértice” superior izquierdo se encuentra ea el punto 10.30: Latervera ‘coordeniadi ex el diet horizontal y la carta el diimetro vertical Como los dos d eeaulianaa cixcuaferencin. Sifuersn distintos, seria uns clipee awSming(~Dos ctrcunfer euctav” 49,100) “Dili” el lexto ame hay entre comills en el punto de coordenadkas 4,100 (1 coordenae distancia horizontal desde el borde inquierdo, 2” coordenada distancia vertical desde el borde superior} Agate j007. jan ve el siguiente programe 1 i008 cee import java.awt."; et vt oven ‘class 008 extends Frame { USO E set Title("Dos Eliseo” i public static void main(String [] ares) { Frame f-uew 080; Ladd WindowListener(new Window Adapter public vob wid ow Losin g(Wis System.exit(0): ‘void paint(Graphics Yt g.setColev(Colar-reen era Oval(19 30,2 gnsetColoriC adr Grl(b0. 58.2 g-serColor(Color blad ilrauString("Dos Eipses”, = Gravalo cow cl nombre ons. java = Compilalo y cjeettae. =A partir de low ajereieins amlriones eseribe al vias ite prograant (/ J009 java = Titalos gritiews fimp ort java.awt.*; 64 javacawet oven ‘dass 4009 extends Frame [ inoon t set Title("Des Elipses"}; Ladd WindowListeneruew Window Adap ter { wublie vebd wi Syatemexit(®); i Java Fermi Vilé 10 gaetColor{Color blue); salrawString("Hela”, 100,100); g.serColon(Coler ereem alrawString("Hola esetColor(Coler-yellow): xalrawString("Hola". Fundamentos de la Programacion Orientada a Objetos + Laprngramacién orieatada a objetos POO es unaorma de programar que se baa en el uso-de ‘elases = Unprograma Java consta de una o-més clases Tina clave consta de membros © Propiedades = campos o variables . icnes ~ métodlns o habilidaces Ejemplo: ‘Clase: Arboles: Miembros de "Arboles propiedades (color, altura el.) y faneioues (crecimiento, ef6} A pattix de la clase “Auboles” podemos defini una serie de objetos (cleuentos o ejemplares) pao. palmer, acacia, roble, ele = Cretcian de abjetos: ‘Sea “Arboles” uaa cleec Arholes pin ~ new Arbales: Acabanoe de crcar ua cbjeta de Ia clase “Arbelee” de nombee “pina” Aualiccunes ¢l programa J004.java) lass 7004 { tlhe static voi 2 I] ares) | ‘Syutem.out-prinda(""Bienvenide-a Javal ¥ 4 Defiaues una clace de nombre j00d (el fclero- debe grahaese con ‘Que constade wu tinico metodo ~ main ‘+ System es una elase yn definida en “Javat" que contienc todas las posibles propiedades rictodos de entrada-ealtd + sut es m ebjcto de fa clase “System” que contien las propisdades y métodos de salica Java Fermi Vilé uw © printin es un metodo del objeto “out” que imprime ea paatalls el mensaje'y a coutiamaciéa hhace um ffeetara) es olto metodo dal objeto “wat” que imprime a | mens = scribe el sigatiente pens public dass j010 publle 10190 sr ¥ plublie int get } ¥ : sonnei. java Jayne 010.java y crews ol fichero j010.eaes = Nerlo ejecttes. porque wo hora nada, Veaanos ‘© Defigauoe una clase de uombre J010 ‘© Lov miembros de dich claoe 200: Una propiedad: ‘ne x: ‘No c¢ mae que la declaraciéu denna variable entera (iat) de nombre x Tres métedas © Funciomes: public J0100 fx-0:) ‘Eeuaa funciGn especial lamada constra ctor (observa que tiene el siomabre [x clase). Sst principal like i en ‘variobles, ea avestro cago x0. public int ine Cuentag) £ xit reeurn x: we devuelve al valor le" increments na nidad (5+ 6s eqnivaleute a x-x+1), public int eet Cuemta() freturn x:} Esuna funcion que devuelve el-valor actual de Lo aque acalsmuoe de hacer eu CLASE, que no es mae que mn contador 12 (erlemios compilad en JOWOelass es const La clase © programa jiid aislado no sirve para nada, vamos @hacern nueva programa le utilice la clase "O10 daw + Bseribe el signiente prngrama Java Fermi Vilé az 4010 cuenta; static void main(String [] ars) | System.out printin(’*Cuenta, System, eprinne(eascra geeC'uenta()); Systean.owprimtin(euentaineCaent()): = Grivalo com el nombre OL fava = Compilato y ejecta. todo funciona correcta te sparecersen pantalla ‘iscoueae lo que heme beso e1 © En J010.class tenemos una clase que no es mate que Inicializado a 0 y com dos métodos-IncCuenta (aicrementa ea | el contador) y get Cuenta {minestra el-vnlor del contador). © Eu J011 teneuoe un programa Java (es deci, otra clase), doade Defines un objeto deka clase j010 cle nombre “ewemta” Cacata new 0180 centa gel Cen sina ineCuauta~ cesta inveCen semeuta.iaeCucuta 3 static int: public void paint(Geaphics x) [ gdrawString("Cuonta...".20,20); g-valueOf(iaCuenta.getC wemta() 20,38); LaCnentacineCuentad; Java 4B galrawString(String. valu oO JaCuentadncCuenta): alraw5i g.valneCM{laC nent agetC wentaQ), 20,65): galvawSting(String.valueOf(aCuenta.ineC wentag) 20,80); = Graal com ef Castes = -Coumpilalo (ue fo ejecutes) es dar (endresno el Ficters: IZelass applet code-""j12.slass" width: applet: body” = lata height 130 = Graba ol fchero anterior en co,c00 el nombee j013.am = Bjecutael prograia anterior ‘© Podriamog utilizar cualquier navegador ‘© Ontilizar el viewalizador de applets del SDE: Desde MS/DO8: appletview or {013.h8 ‘Cada vez que cxcamos un objeto. 2e hacc una copia de-todos los micabros de Ia elase ‘Veanos: Sen Arboles ane chi, y maDoProgontas un melaie de Artistes ‘Sea pimo y samce doe objetoe de Un clase Arboles. EL metodo me DeP regan tas del abjeln pine ex complet ‘objcto sauce Suponggamos que por Lurosin que se, um mietada (o peopiedoa ae ma lace, 2 ‘ieme para todos los objeto de Ia clase. Ea este cago necesitamos un mévede (@ propiedad) de claveno fun mite (0 prapiedid) de objeto El modificedor static determina wn méodo (o propiedad) de clase ile distin del mélado JePregunbas del = Analicanoe: jente progriaun (ev el mie sencille posible, es ia simaple ete no-bace nasa) lass HlaceeNada £ ublic static void main(St } al] | i 1a clase dle nombre “HacerNada’”, que silo tiene un métode de nombre main, == trata de an miedo veld (no devuelve nada) y tiene un modificador static, es decir es un método de clase, que sera amado dle In eiguiente forma: Hacer Nada.m ain Java Fermi Vilé u ‘Cumdo se ejecuta mn prosrama, hentos de dar el nombre de ma clase. “Fava” busea en dicha clase un meétedo-fmado main y empiera ejeculando el programa desde alli, como “Sra debe aceeder a clicho auétodo, dete debe tener ua modifiesdor public Comentarios. ~ Exeribe el siguisate programa: 4 java etase jon | Programa que mostrara en pantalla w mensajede ert public seacie void main(String [] args) { Systemn.owt prinn(” ‘System.out printin(”| " Systemoutprintia(’| = AVISO [i System.out printin("|Posible virus destructive "}¢ = Gribalo «a 12a rots con el uouibee OL4.Jaxa = Compilalo y ejecta. = Loe métodos prindn yy prime() 20m métodoe de objeta, no de clase, por lo tanto heanos de indicat el ‘olajeto correspondiente pie es 048 ake wen ee © podeuios mtilizare ew varias lines ~ System/ont prindn() newer bbaico. Tipos. Variables. Constantes Java es un lengaje con lipes y dieses estrictos, esto es: en uns expresiin silo podanos utilizar clementos del mismo tipo o clase, es decir no podemos mezclar cadenas y nimeros, ai arboles ni pajaros “Tava tiene 8 tipos predetinidos conocidos como tipes primitives, perm los tres mas nendos con e-ntmeros emteras hasta 2.800.000,000 Tong :enteros mas grandes o pararesultados de cualquier operactin entera imeros reales o para resullados de expresicmes en Ins que interviene come minino wn miimero Los stroetipes primitive gon: Beslean, byte, char, float, shart Java Fermi Vilé 4s Declaracién de variables Hay weeposibilidades: Tipenembre: ipe membre Tipe nombre-valor: 2, wombre3: Por ojemple sl Lemperadra et double iva-16.5: Declaracién de constantes static final tipo no por cjemplo: static fal double piss 141592, ‘Muchas veces noe mnteressna razén la inicializacisn ee tea pace ea Java) series, gs (por esta Expresiones +32) dard coma rogultado $9, o8 decir Resto de la divisins enter: 232 q B6 0 SLL 4 quoi) ‘Math sin(x) x Male povts,2) Male roundfs.6) =7 Math ronndt6.3)~ 6 static Final double kimpordMilla = 1.609, ‘System. oat printla(1000+" millas son °-+(1000*lmporMillaje™ un” Darapor resultado: 00 millas som 1609 tan, ‘Observa la forma de concatenar: y pueden ser nimeroey textos! Java Fermi Vilé 16 sseribe el signiente progr 015 java "Dadas dos casas de interés, calcuilala diferencia en el intorés simple para ef reste del ate a partir de ‘um mies dade */ lass 5 | static final double c~1000; static mma) AINE static final double tasa.ntigna~ canto per clente sutie final dawble isa wei ma ar cient public state void main(String [] ares) { l(c el at exe ‘Systean.out printin('--——-—~ ‘Caoetes profiminares donble cPretim~¢*(12-my12 imprimir resultado System.out printin("Dado un cambio en la tasade "+ ntl (cPretim *tasaN weva-cPrefim *tasaAmtign a); i + Gralbalo com el nombre jO45.java en TC = Compitato y ejecttao, de onteros y reales: Numero 10 550 7s Leis WVL.6243 ‘than00000001 103 vz enter scam ente realise ba “avin ‘Cuando cetndiemos cl paquete “javatest” ya veremos tomas de “coutrolae” Ia calida de atm eros por Paquetes Java Java e2 un lenguaje muy simple, pero auple st brevedad con muchas paguetes de elaces ya everitas que Dpodemos utilizar en umestros programas, Unpaguete ex unacoleccidn de clases que encajaa igicamente y cple pueden. iteraccionnr entre ellas ‘Alaynos de fos paquetes Java" mias importantes: Java Fermi Vilé = amg: funcioaes del leazuaie dades = awLevent: gestion de eventos = applet: progeamss pasa In“web” redles cconsegnair acceso a cualquiera de Ins parqetes (eseepir imp or java.nombreDdPaqaete.*: EL seterisce” indica pte lars kas clases del paquete h 1 stetmpre es presente le esti disponibles. = Boeribe el sigatiente pens (016 java i* Programa para ver In diferencks entre una constanie: System.out.printin(""Ahera el radio mide Siystean.out. situ eirewn feren + Constante: no Declarada sates del main(), al poacr el medificador static © Veaetasle: pede viet tt valor-shurale fa ajectetons del programma. [Declaenda em elmain: al.no ceeribir ninstia moditicadoe. Java Fermi Vilé 18 Autoevaluaci: 1) Eeeribewn programa de nombre EVALILA que dibujenn cireule azul ca cl centre de naa ‘ventana de 3003300 pixeles 2) Vseribenm programa se pve sir ra calc Lass signees espresiomes 52% 100, 9000009 Nich port3) 432 3) Ln clase “Math one wn método “sq”, qc sive para cakelar races enna cre un program ele nombre evaljic, qe sirva para resolver Ia eenncioa:x~ 10x +16-0 ncothe gasta 8 lites de gasolina cada 100 ku en earveleras noruales y un ‘carretera desiguales. Escribe un programa de nombre evaljld, que ealcle le ‘cache prede viajar con in depécito de 40 litme leno en carretera nonmales y cual es fn distancia -que podria recorrer en correteras desiguales 5) Harun programa de nombre evalje, que diluje fo siguiente: ©) Hazun programa de nombre evaljAf, qne caleale el area de un trapecio concreto, de forma que las basses del trspecio esten eeclaradles como constants v 7) Ha un programa de nombre eval ~ Ladivision eatera de Ty La divisiin exacta entre Ty 2 Revisa el resutindo del programa evaljid Java Fermi Vilé 19 8) Cream programa de nombre evaljIB, que ealeule I ‘eatetos 3.271 5.03 om. del triamagato rectangle de 9} -Ceeaua Applet le wowbee evalfil. que prescute Ia palsben HOLA de color rojo y In palaben 108 de colew verve, Crea une patient wel com ef misao timbre (evaljli) para poder -visualizar cl-applet 1) ire eval), que represent um ewntsdor, sirvapara decrocer 3 unidades seule eval] 1K, ype atilive ba ele eviljhj pa ares del contader: otra al slow inital y 12) Creaum applet de ‘que aga lo mismo que el ejercicio anterior: Deberic cree ‘uaa pagina web (con el unismo nombre), para comprobar el funciouaniente-deL appl 18) Cull era el deriva? bee primitive del Kawaay de qué lenguaje de programaci 14) Que diferencins hay entre um fichero binarie en C++ 9 en Fav 15) cPorqué un programa Java necesita mn intésprete? 16) {Quin es el "ink yrele” en el caseparticubwr de un applet de Java™ 17) cQué co un appler?. Relaciém entre wn applet y un programa Java complet. 18) {Que diferenci fun ment hay entre un agyplel ele Jia y um pron 19) Eu que eousiste la Méguiga Vistwal Java™ 20) {Que relics bing enlre an Gicher com extension class y aa filer com exlension java 21) Si “pepe” o3 nna clase Java. eserbe las seatencias para erear wes abjetos de“pepe de nombres: pepito, per y pepil 22) Explica i diferencia emtre print y prindn 24) Feplica Lo que sepas sobre un “constructor” 24) {Qué es el appletviewer? 25) ¢Qué diferencia hay ea Java entve divisida eatera y exacta? Java Fermi Vilé 20 Autoevaluacion I (Soluciones) 1) Eeeribewm programa de nombre EVALILA que dibuje na circule azul en el cents de naa ‘ventana de 3003300 pixeles public evaljiag) { set ileal y stati vid main(String [] ars) | Frame f-new evaljla(y Rad Window public void wind owe System.esit(®): 2) Becribeun programa de aoaibre evaljab, que sirra para calculas Lae signieates expresiones: 52% 100 ‘000009 Mail powts,5) public stare void main(S0ring [] args) { Syst ean.onae printin($2% 100): ‘System.out printin(99 Systean.out prima (Val System. out printin(21/7} Systean.oe printin(22/7% ‘Systemn.omt,prindin(4-34-2); Java Fermi Vilé u sive p voices enadravins, scribe ua prozrama de nombee eval. qe sirva para resolver la ecuaciéa: x" ~ 10x 116-0 EVALHC lass evaljte f statie final double b- static final double e165; '* No seréamecesarte los "static final” 0 fen np statie void main(S wing System.oat print ("x 1— Syystem.out printin({-b+Math oqitth *b—#e)}2); Systean.onat print ("a 2— ‘Systean.out printin((-b-Math.sqrath *b-4*¢))/2); 4) Tm coche gosta litros de gasolann cada 100 kin en earreteras normales y wn 152% mst en scurreteras desiguales. Eecribe un prograua de nombre evaljld, que ealee Is distancia que el coche pede viajar con in depésito de 40 litms leno en carreteras nommalss y ewal es In distancia ‘gue podria recorrer eu comreteras desi (EVALIID java Public class evaljld System.ont print(*Kin fcarret desi; ~"): Systemn.ont printin(kan Mesix); Syutean.out prine("Km eon 40 | earret. normal ~ Systean.omt pm rimtl* 40.0): System.out print¢ "Kin com 40 leareet desig: System.out printIn(kan desig "40.0}; 8) ace wn peer Je pte lg bo Java Fermi Vilé /EVALIIE port java dnp ort java.awt.event.*; ‘elas eval Le extends Frame public evaljled { set Tithe(" % sito stati void mang’ tring. |] args) | public void wind owClosine(WindowE vent ¢) { System esit(0): (Gen ssdrawOval$® 100,150,150) sulrawOval(e0, 100. sxlrawOval(130,50, lea (val(200, 104 30,50 sulrawOval(140,60.5.5); sulrawOval(t60,60, Bulrawoval(ts 10,51: 6) Haxun programa de nombre evaljif, que ealcale el évva de un wapecio concrete, de fonma que law bese del tropeci estan eleckwrtdas coma constant y bx eRVALIe public dass evaljit{ ttc final dawbte boast ayer= 15.7; static final double basMfener~ 7.81; static void main(String [] ars) | double aliuraé 2.35; ) Hc programa de nombre evalj tg, par cale ~ Laddiviston entern de ~ La divsida exaeta entre 7 Reviswel resultado del programa evaljid Java Fermi Vilé 23 Uaras) | Systean.out.prindn(""Divisidn enter de 7 y 2 "(7 Systean.omt printin(” Division exacta ale 7 y 2= "1. 8) -Coeam prosroma de nombre evalj1h. que colcale la hipotcausa del triénene-recténznlo de sealetos E271 5 an. wrwval public class evaljihy stati void main(String [] ars) | System.out printin("Hipotenusa~ "+ Math xqrt(3.27°3.27 15.03 °5.03)) 9) Cream Applet cle nombre evaljli, que presente Ia palabra HOLA de color rojo y In palabra ADIOS de colorverde. Crea una-pésian Web cou el mismo nombee (evaljli) pare podee ‘visualizar el applet. (Applet EVALIIL gsetCalor(Colerared); gilrawString("Hela gserColor(Color.greem): alraw String (" Adios” 35.35): wen applet code—eval short $ int > loag float + double ‘Math ronad(un atimero “double”) dari por resultado wn atiavero “long” Aloal kar double x, Aege=(Honty(x*1.2) tint) 6.3 dara come resultado 6 A difereacia de otros lengnajes. no bay ou Java posibilidad para convert caracteres y booleanos a Bucle “for” sceribe el siguiente programs 19a fiaport javastext."; ion | BufferedReader in-new BufferedReader (new InputStreamReader System in)); nt 0st ettg 9 { System out print — Systemeutprintn(”| HOLA |"); Syston out printing” — System emtprintin(” nn" ate jO19. java en 2 alo y ejecta. Java 30 Progromna que chia mae - Eseribe el siguivate prozrama: fava 4 javaten’ Javade.* ance 20 | public statle vold main(String (] args) diows IOException { Stream Reader (System. in)): ‘System.owt print" iLprintlad): 3 1 i = Graalo com el nombre }I20,java - Joy ejecitalo, = Observa que eseribimos H+ epriN(GHD) “Yague en caso contrario nos excribirix ~ Everibe el siguieate programa: 24 java ablie class j021 | Tabla de tamperaturas Celsias Farenhelt * i FE ska voi | syne. prin (el System out princhn Math xound(e*9'5432 re 021. pave FeCiaypee Java Fermi Vilé a1 los Construyendo Mét wede Ihmarse Un metods esun grupo de declaraciones¢ instrueciones a las or este nombre para llevar a cabo wia accidu comescta ve se da un obey Elmodelace edifeadores em imtrneciént; instrcciin 2: recun exprecién; | silo mécedos con resuiktado. mmbre(parim tro) | Ejenplos 1) state void eat ( ‘System ontprantin(™ Systen.outpraitin(™| ms ‘Systeu.ont print") Ps Systen-out print (| Me ‘Syetem out prantin( 7 ) 2) stoic int Falureneit(int Celsius) ( return Celsins*9/5432, } = Sinn método se declara come vold, s¢ Le Ustia deado eu nombre y los pardenetvos (3 hay al a0), Bjemplo 1: eajads ‘enya efecto cera imprimir = Syeteas out printla(30#'C cg “+Falweaboit(30}F'), log pueden Irscerse mais poten les perruilienclo spue el efecto ses isnt cake ver que Femme al métode. Esto 2¢ llama seacralizer o paramctrizartia método y los valores que van a ser diferentes se ‘eonncen come pi [Lo que queremos ein forma de poder ecurdir eafa2.16) endo 12 el ancho ¥ 16 el a Para cllo deberinnos declarar: static void caja(int ancho.int alte) Entonces fa taruaite=60, ‘cata ao {int aa 2, Ne seria comrecto: cajat"pepe”) 0 caja(]? $10, Java Fermi Vilé a2 - Esaribe el siguivate prosrama: 1 9022Java je ass j022 | statie final int <élsPorLinea”S: stalie Final int an anNoL inca 1 statle final String hneco-" alse imea eat! |) System.out print("€ F''+hueco); 9 pring): for (ine linea O:linea mi axNoLineailines+) Systom out printing; i static it sb etGint Celsius) [ return Mail round(Colsius*9'S+-32); 3 1 = Grabalo cow el nombre J022.fava ew 7 = Compilalo y ejeetitae, + Escribe el siguicate programa: 19923 Java o* Mester public elass 4023 tae ngrama del interes simplede Sw 1S an System.cutprintin("Plan Crecimiento Pep esBane"); system oul prin thn "9: System.out printhn(" Capital de'"+c+" a uma tasa del "+239; ‘System out print ‘System eut.printhn(”Aniow tani = bbarra(anio,c1.2"an 0 casa TOO+CI; Java Fermi Vilé 33 int” "+s Devolviende valores desde un método Los valores pueden passrse a lox métodas via pariim etros, pero no sacarve de ellos. Para obtener un valor de ua inétodo, uszos el proceso “return” Pero cqué ocuare of queremoe devolver mie de un valor?: mediante un objeto “x” de Ia clase “Dj” sleclarada fuera del metodo de la stgmiente forma dase Obj { ‘ant 2; double; i Obj x-new Obj0: 1+ posbiich: state vold m1(Oby pepe) { pepeavalor1; peped—vilor2: i mn t(ay vam ae pasa aser “pepe” dentr de wi" es decir Los 2 posibilided: state valu 20 { sa~valor; xb-valor?: 3 ma2(p//llamada Hay otras posibilidades pero son menos conaunes. Java Fermi Vilé 34 - nos permit imprimir elaquetas sseribe el signiente progr 24.java amravesa; I public veid impHorizental( { Fon Systeam.onat ¥ ‘Void imp Vertical() fortint caja-O:exjx-atraves:eaja++) Systom.out ‘System.our. printing): nrivate int atraves; = Gratbnlo con el nombre 4024. java a + Compilalo perano lo ejecntes + Observa que el parametro del constructor lo eopiamios en: una variable private, que pueden usar bos midtodos de fa clase, pero es maccestble desde fuera de Ia clase. = Vamos ahacer ua programa que wtlice la clase euterior: Eseribe 5 java Pablic class j025 | statie final int nEtiqé; sti ilas—4; public static void main(String{] ares) { FUR cliquetimn ew 02a qh: tiqueta imp Horizancal(); Furfint Bi=0: etigquetaimp Vertical: fiqueta ienp Horizon tal: = Gribalo cow el nombre j2S,java en DL = Com 0 y ejecittalo, = Vamos ahacer otra clase para inprimir otro tipe de etiquetas Bscribe Java Fermi Vilé J 026,Java lass 026 j privace char heri.vertiprecie; private s026tehar by verti-y: rant amchura-a; a void cajaVariable(char precie) { oe “i for(int I-21: aleurash+) mal dnea(vert or unaLinenhori.horbhert); + Compitalo y ne lo ejecutes, = Vamos ahacer ua programa que utilice la clase autetior, eseribe 27 fava, able else j027 | public statie-vold man¢String(] args) { 26 grande—new JW26C—P— TAD, grandescajaVaaiable(s srande-eajaV ariable(®); 35 ~ Programa que nos pregunta nuestro nombre y edad y da como resnlinde los dias de-rida qe tenemos Eecribe: 028.java sport javauio.* ort java.text.*; public class 4025 { Java 36 trimg|] args) thrawes TOK een = Programa que eceibe les miltiples de 13 menoves de 1000 Eseribe: 029,java public class j029 | ic statie void forint (S tring[] ares) [ 1 erty ‘System.ont.print(mult+"#"); Carpeta, = Gravalo cow el nombre J029Java 0 = Compilalo y ejecta. = Programa que esteibe los miiplos de 11 mencees de 1500 y eseribe la auma y producto de todos ‘ellos: wi public for(donble mult 11:mult::1500:mule-mule+11) { tant") Systesn.outprimtia(""w asSuana= "tsuia); System.out printin(’"' Producto "4pro); = Grabalo cow el nombre f030,java ew Ti Clermene = Compilalo y ejecta, Java Fermi Vilé = Suponzo que esti claso lo que sisuifica Producto = Infinity ‘Vamos a crear uns clase especial que vtilizarcmos a pastir de cate momcuto ea las “catrad ae par teclada! (Usb: olscervaulo que ex horvitsle [a forma de progeesnoe- ene entracks ent Ja) - Exerbe Public static BufferedReader open (InputStream in) { return new BufferedReader (uew InputStu-eam Reser (in)): public static BufferedReader open (String filename) du ews FeNetFoundE 0) posTotal+~ number: be negTocal+~ number: sk ex budlaseracias.")5 rintln("La sama total es "total: vox ex Ipes etal) rinclng"La cama delos negatives "=negTotal); pera con el mombre j937,jaxa ~ Compillalo y ciesita, + Eseribe el sianiente programa: 38.java port javaio.* Java Fermi Vilé wn class 4038 £ ‘public state void main(Scringl] args) chrows LOE xcep den { Buffered sad erin ~ Text open(System in); System.outprintin('"****? Localiza el numero mas alto *****"); System. Text.prompe(" t="); Laren dtm) "Estes todo, gracias"): “EL wumere mae alte os Highest); Systom out pr } Introdueclén a las excepelenes Una excepcién 2 ua objeto que avisa que ha ocwride alema condiciéa imusual, Java tieac muchos lyjeto de exeepeion pradefinido, y (arabian poslanos ere nmestras propos fsa el Facade ts elatow, Lim ef lect, 2b 8 ¥ etiando termina. pulsa el caréeter que el sistema tsa para el final del fhyje. Este puc FeVRIAEZT 0 [ESC] por ejemplo, La presencia de esle cissicter espectal ex delectata pror la clase Text, «qe la pasa al métode Innzando la TOF ception, ‘Veameslo cou wa ¢jemplo: = Escribe el signicate programa: bass j089 { public statie void main (String [] args) throws TOBxeuption { count =O: Java Fermi Vilé 4s double total = double numb er: BufferedReader in- Text.open(System in); System.outprineln(”"?°*"* Suma dem mumeres *¢** (scribed "econtrokZ (Windows)"»; a HDT Text;prompttcount+"="): Textrcad Poul total + number; i } cateh (EOFException #) £ Systeim.oul printin("Ksto es todo, gracias." System.out printin(""La sama total ee "Hota: vera con el nombre j039,jaxa = Compitalo y ejeewtato, Java Fermi Vilé 46 Autoevaluacién IT 1) Hazun programa de nombee evalj2a, que uaeioas dela siguicuts towns) roguuta ancstro nombre yw combine El programa nes; TL progsomerss wccrabe 15 veces Heo ol programasia utilizar Ia clace Text 2) Hise: wa progesmnt de nonabre evalj2h, que finuciowe igual que el saterior perm utiesede ba chase Test, 3) Hazun programa de nombre evalj2e. que fncione de fn siguiente forma: EL program) El prograaua nos escribe el doble, triple, euadniple y quiatuple del aimmero iatroducido (utiliza ua “for") Hz el programasia utiliza Ia clase Text {) Haz na programa de uombre evalj2d_ que basa lo unisao que el saterior. poco utiliza la clase ‘Text 8) Use: wn pre que dibuje un reclimgulo cle asteriscox ptr cle ba bese y tn abenea. 6) Hee an pn le Loe maltiplos le 7 wiancees de 100, ou wumer, a1 ema y producto de todos ellos, 7) “Hac wn programa de nombre evalj2g: que escriba ‘entre dos:valoves «pte hemos de entrar por teclalo y tn de entrar por teclado, UWilioa laclace Text Java Fermi Vilé x Hee: im progeaa dle nombre ewalj2h, qe sina ps eestangulo a pavtir de lauedida de fos dos ¢atetos. ccaloukw fa hipotanisa de cn trimgulo Java Fermi Vilé 43 Autoevaluacién II (Soluciones) 1) Hazun programa de nombve evalj2a, que tuaeioae dela siguiente foums) crnbiee intralcid Public state void main(String{] ares) throws IOException BulfiredReader in=new Hu leredRender(a ‘System out print("Escribe tu nombre: "); Stream Reader (System i): tring] args) thraws TOK xeon BufferedR ender in~Text.open(Systemn): Text prompt” scribe a nombre: ")5 Stringnem=TextreadSering(in); for > Syitem.utprinchn ("Hola "-+nem) ' 2 3) Ue sce sii Fon = Ebprogrm = El programs nos eseribe el dable, triple, enadriple y quiatuple del aimera iatredncido (utiliza wa ft") Hoe cl proeramasin vtilizar In clase Text s/oval fe. jawne import java. Javatest; public class evalj2e f triug|| args) diraws LORxecps jew BufferedReader (new fs 6h) Java Fermi Vilé 49 1) Haz na programa de uowbee evalj2d_ que baga Io miswo que ol saterior, poro utiliza ta clase Text val 2a jv programa de nombre © \i2e, que dibyje Lo de asteriscos a pant de la base y ovale java java class ovalj2e f public static voi BufferedReader : 8) Hae wn p00 ule Los malliplos dle 7 wienores de 100, st winmero, ‘a1 euma y producto de todas ellos ‘evalfjava class evalj20 public static void ft Java Fermi Vilé 50 y i 7) Wace wn progrinnis dle nombre evaljg,epte escrib im yb ‘entre dos-valores epic hemos de eutrar por teclnda ¥ na incrementa de In “x”, qe tambiéw hem oe ale entrar por twelad, ‘Uniliza la slave Test ‘class evalj2z { jie statie Vuk BufferedReader ‘Systean.out.pr double x2~TextrenutDouble(in): Systesa.out 8) Heer un progrena de nombre evalj2h, opie sires pare calewbw kx hipotennce de om timate sectaneulo a pavtir do la medida de fos dos catetos javade.*; clanss evils public static vold main(String{] args) throws IOException £ Balfored Reader i— em in): ‘System.out.printin("El otro cateto~ "): rt = Text readDoubleGn jp ot=Matie.sqrt(cat “ea heat eat2)s ‘System out printin(” Hipeteumsa~ "+hip ot): Java Fermi Vilé st TIL- Estructura del Lenguaje Definicién de las Reglas Sinticticas Las instrucciones, expresiones y bloques Tha instruceién c= un couanndo cuslquicra euyo final cst marcado por um poate y coma, Por teata ct an vans Hn import javaapplet Applet ‘Syeten.out println (“pepe (Certs instrucciones tienen el efecto de producie un valor, Hablanule en este cave de expresiones. El valor producido e¢ Hama-valor de retomo, Ejemplos: Un bleque de insaeciones, per el bloque de indraccienes en ta de insticciones. Por ello, es weceesrio declarar Ejemplo: Cevaciéa de ua dread (proceso program co) para hacer uaa pansa de 2 seguades ea la ejecueidu de ua wy! ‘Thread sheep(2000): Syste (Detiene durante 2 sex. 2 ‘allt eremptodticxcep tion ©) f ‘Syitem.eut. print’ Eaver de ejecuctin: “+e); i Keeribe el siguiente pres Thread steeq cateladintexruptedExcep ‘Syetem.out prin Java Fermi Vilé 32 I Systean.out printin("Y a han pasado 5 sezun dos = Grialo en TiC hips cont el-ne ire jO40,jawa = Compalato y eject ale ~ wy Se utiliza pora definir un blogue de instruccionss que pucde scucrar uno 9 varios cerores de fexcepctin, cpie deberin (rise en nn logue each = eaten ‘Se utiliza pora ol watauieato de cores de excepeitn goucradas por la frm. QAquina Virrwal va) Los Identificadores Un iidentificadar ee un nombre que hace referencia anna variable tun paqete de programas Java, Reglas de nomenclatura + Bl printer carieter debe ser una letra, el sitbolo de subrayado (_)o el sinbole de dolar (3) + Trasel primer cartcter, puede aber letras, ntimeros o eakqsier caracter Unicode superior a ‘or 00C0. ‘Ne puede contener espacins, tabulacares, sallos le linea o de pirat = Java diferencia entre mayiscalas y mintiscalas (es Cas Sensitive) + Neprieden nsase como identeficadores nombres clave (nombres reservados por Java). Ejemplos! ‘SCuenta Cuenta es distinto de lego fe distinta de Centar incorrect curreste etogjo de (OC Adlerns, por eanveneian: = ELnombre de una clase o interfaz se eecribe com la primera letra ca maybscnla ipersonalmente bo siko ea eonvencisa) = ELnombre de un método o variable empicza por mintiscala Los Comentarios ‘Tres tipos de cos Primer tipo: é/ Todo lo que esta eatre la doble barra y el vetorno de linea. se considera tin commeatari. Java Fermi Vilé 33 = Segundo lipo: Toda lo que esta coatcaide cate. ¥ */ eu comcatario. Este. nos paamite escribir comentarins a = Tereertipa i y Todo le quests contenido ear ** y*/xccousisra cam cone diferencia com el anterior, es epte dste eel “oficial” ce 8 Ejerple El método maint} sel puato de eatrads principal de una aplicacién Java */ public static void main(String [Jarz=) (..} + Bseribe, a partir del programa jO40,jawa el siguiente programm (rpstejava public elaes Joa | A tenemos el metade main * public statde vold main(String{] args) £ Systemowt printing'x= "43); Threat steep ¥ caleh(lntcrrepteditxcetien ©) | ‘System.ont-prindn(""Error: "+e); I Syotemn.out printin('"Ya han pasnie 5 segundos 1 ¥ = -Gribalo com cl nombre j4 i fava en Thc = Compa 0 y ejeettalo, En el pagiete JDK de Sun, disponemos de joa exe ‘compiladdor jane énprote para MS/DOS appletviewer exe -visualizndor de applets Peso dispeienos tunbien del prosroaia javade exe que wo es mis que un senerador de documieatacion del cédizo fuente de wn programa Sava, en forma de paginas FETE. con fa misma presentactoa que In documentacioa oficial de le clase Java edtadse por Su Java Fermi Vilé ‘Veamos cdma funciona: = Siniate ca - Eseribe invade #4 [Return] = Investiganel contenido de lor Ficheros: gee eral ‘allelngoes-ean hina, deprecated hhelp-doc html inex td index-all Anal verview-tree package-list packauzes: lite sevialized-fom hil Las constantes | Un lite 1 valor no modiicable una constante que represent Un literal puede ser un nitmero, ua carter, una cadeua de caracteres o un booleano, ~ Lae literalevanaiéricas LOS ENTEROS Pueden escribirse de tree formas: ‘¢ Decimal (ene 10) Nuweadebs empezar por 0 6 Mecatbecinnal (base 16) Dobe procedcese por Ox 0 OX + Oetal (base 8) Debe precederse por th we bee 15 en brace 10-— Ot en base 16 = Ws120A om base 16 = 12Fa~ AFF 16+2-16°41- 16! — 10+15- 1642 16441 16 10+210+512+1096 ~ 4858 em base 10 embase 800: THUS oN? = 1ES6E DONT S96. = Escribeel siguiente programa: Sieanpre es ew base 10. 4 Java Fermi Vilé 5s Por Io tante disponemos den para transformar un numero en base 16 05 a axe Ho Systean.out printin("'x en haze 10 48 15, x= "+39; Systean.out printin( “OXF cy bitse 10 0 "ys ‘Syotem.ome printin(“017 an base 10 es "+2); $ystem_outprintln("3571 en base 8 ¢s" O3S7L+" en bave 10"); System out printin(” 120A on base 16 6") OS12FA+" en base 10° Systeam.outprimtin(" hs = -Gripale com elaombre j042,java ea = Compilalo y ciccitao, Um entere pede almacenarse en eatro tipos de datos: loyte (8 bits) short (16 bits) int (32 bits) long (64 bits) Por defecto,lo# liternfes entero: se almacenan sa tipo int (excepto en el e230 de que sobrepase el maccumo int, en este caso se considera long) ‘También ee posible hacer que un literal entero se almacene long: auadieado 1 o L. al-iual del literal Ejamplos: lomg x5 1/4 puede ser tipo ml: Java almacena el-valor en 5 en 32 bits Tong x-EL, | forzamos a Tava walmacenae x en tipo loa, es decit 64 bits LOS REALES Tnecal eeua miimcro coa coma-con o sia exponent. Los biterales reiles sant el panto () rar representar ba com ‘nscal puede slmaceanze ca doe tpoe de datos: sal (32 bits) double (61 bits) or defect Jivix abner ls hlerales ana po PevdemosfarsnecLalmaconsje ea oat, alodionds fo altnal del tea. Flatsite Ejemploe: double 4.85 float x1 55F: Es posible wilizar la wotecion expomencial ea los literales reales Para ello debs ataduse “eo “E” al final lel literal seguido del exponente Ejemplos: double x=. 8%e10. double y=1.83E-4, + Bseribeel signiente programa Java Fermi Vilé 56 yA. 8923456781 double 24.956 746; donble-w-.8567H. Systean.out printin("'x- "+x); Systean.ontt printin("y= "1y); ‘Symtemvout printin(2- "-+2); Systean.out primtin(”— "1 ws st el prograana com ele oY ejecta ene ba valida eel progr Los literales booleanos Unbooleato sbla puede tomar dos valores: te o false Ea Jawa no podemos utilizar el como falsa y el 1 como-verdadero, coma smcede en el CCH Ejemplos: boolean estéCansnde—talee, Los literales caracter Ee un daico carictee cutee comillas simples: “A'. “0, [Los earacteras oe abmaceran a 16 hils: 65,586 coraclares — 256 (AseHi) | Unieade Java igual qe olros leignajessubiliza los llersles exraler Js earaeteres de control que no pucdca visualizerec. pore pic permmiten repecscat caracteree cepeciales: Cardcter de control coatinwaci6n com sitmple comillns dobles borer rretome-de carro acon cambio de pagina neva Hines ‘evalor octal ccaacter octal cen asignacion autre el operator “&° y el Ase = -Cumdo ce utliza-¢! operador &, Java evalita el valor e las expresiones sfttadas a aubor Indos del opsrador. sea cual sea el Valor de las expresiones = Cuando ce utiliza el operador &&, Java evabita la expresiéa situada ala izquisrela del operaclor Siesfalsa no se evalia laecpresioa de la derecha, y el conjunto toma el valor falso. Sucede lo ‘mismo con los operadores y || Java Fermi Vilé «0 Los Tipos de Datos hase: deinen los afribatos de Io clave. Laas vaiables ee clave y sis valores oe calmacensa ex la propia clase. y se aplican a todas es instancias (abjetos) tame: eft ls dailies stan ae a elas yee odo, en el intecioe de ua bloge de instruccioacs () = Landvetarueiin de bas ‘lipo de datos” siento: valor por cee Bjemplos String opellido; BL ats Dooleaa trabaya: Siring spellido=" int x51. bboolesa trtaja=fabse: Es posible declarae varias variables del mismo tipo en la nb y=10, Nommalmente fa dleclarncisin de Ine variables se lynce al principio del bloque, justo despnésde In declaacidu de la clase o-el métoda, = Declaradl a vartable con valer constante Para deel te en Sova, debe precedence [a declaracion de In variable cow la palabs “wal”, Eu este eavo el valor de la variable uo puode ver modificado. clave Ejampleo: faval Mal 166.586; final float piH3. 14159, = Ambite 5 redefinicién deuna variable 5 eval, wit variable ecle versa (a solo en el interior del Bbocpie ne opie lace, Un blogue cz un soujnato de instrnecioues conapreudidas eutre los operadores Lave {(..} ‘ew ust bluague se redefine uss arial ome yt eststia nel lngue seiberior, estanuevs Variable ‘eumsseara la-varinble supcrior, pcre séle deatro de cate bloque fy taunbiéa para tedos aus sub-blocaes), + Eseribe el siguiente programa es JON | 1/ declarames uns variable global statis int wal=1; ic static void main(Strinef] ares) § printing” La variable en ol ‘wal ett Hamamos al metode procedunients Java ou precedimtento( { wal'Ay Systea.omt printin(" thera La variable es!"+ ¥ 1 yuma. yer ef valor static int fimelontint v) £ Siystean.onat jos? java Los tipos de datos simples Tomano ——_Tnvervale de valor Shits “128 alt iste 33768 432767 22 bts 214748688 92147489647 tbs [5.233.372 036854 775 808 09.223 372.036 954,775 807 52 hee read simple precisém (1 We-49 9 5 d0ze438) sttie Foal doble precision (194¢-331 a1 73¢*308) ts = couiienion nicase en Heer de 65 S56 cacteres Tbe true o tals = Bscribe el signiente pengr 1 048 java lass 048 { ie static void ansin( Sim | rp) | System.cut printhn("E] factorial de 25 no sob ol am asi exw Tint"): Syitem.cutprintin(” Trabajande con "ine resulta:"); System eut.printhn("Factorial de 25~ "-+factur); Systemn.eut. printh System.out.printin("E1 factorial de 26 sobrepasa "+ it printin(" Factorial de 26~ "-+Eaetur I); 3 primcha soa print” com ahora trab ajo con numeros ‘lang "D5 Java Fermi Vilé or tprinthn(" EL factorial de 26 68" (lomgy26°20° 450%; = Grbale cow elucuibre $048,java ea TC = Compilalo y cjceitae. 1 bg etna petri teres aventuulas, sm bolns), pero de firma individual = Beetibe el signiente pens 11 7089 java elas 049 { public statie void main(String] args) { st printhn(” Caracteres Unicode de32 a 258"); SEH PSG | x(a yey: Systean.out primed tte } a 3 + Gratvalo com el nombre j049,java en Ty Comers = Compilalo y eiesit al, Code tipo simple contiene fo pie se lla in tips compaests Los tipos simple se aplican a les variables. mieutras que los tapos compuestos.sélo aftetas a los objetos De hecha, cada tipo compmesto ex una clase- Ryle, Short, Inleger, Long, Hoal, Double, Chas, Roolea. Hjemplos: at mater: fere—Mly 9 a wei lero—T0; tleclarar wa olgjeto de tpo comypeesto de ulilizarse uno de los e@msirmetores le eichis chive, Un ‘constructor eo'un aistedo de In clase que leva el maine nombre que Ia clase, ¥ cuys primera let ce a Ejemplo: Integer miEatcro~new Integcrily Las variables sumples se maniputen cou los aperadores y palabras ¢lave de Java, eneambio los objets ‘compugstos 2¢ mapas con, los wt ods del objeto, Java Fermi Vilé 3 ‘Los tipos de datos compuestos Los tipas de clases Las variables de Java tabien preden posces tina clase por tips. La vaviablehace entonces refereacin an jemplos: La class Point, paca una veviable do tipo objete de lace Poiat Pos La clase Color. parauaa variable de tipo ebjcto deelass Color Color uneolor; Las cadenas de caracteres En Java puccle declarnree y manipolarse tua cadena de carseteres de dos formas = Uiliznido uaa vartdble objeto de elase String, no ufo simple cme correspond a laz cadenas de caracteres = Uilizsmelo uaa variable de tipo cab a (ar adelante), uatri@ vector) cle clin (rns La close String forma parte del paquets javadanz Los stribuins y meétodos de Ia clase String som divectan clase: sate accesibles sin que sea necesario in postar ba port java.tang Sarin g, “Trmpoco esmecesario uhlizar¢l sperndor new para crear tna instonsia la clare String, ya que Fava le hace amplicataunente La declaracin den objeto de cacenn de datos. con Ia tinica diferencia que pola iietodos de su variable objeto de tipo String racteres se nsemeja, pues, ala declamcidn dean objeto de jzar el operadar punto para acceder al conjuuto de atribatos y La declaraciin: Sting apellide= “PEPE”, ces equivalent: cha] wbCha-{ PEPE’) Stein spelliclo—new String(labsChar), vy eqmivaleate ing apellide—mew Sti “PEPE, ‘Vamos a ver'ua ejeuple de ne distintas Forme de declarer una cadeaa de caractores, y nee del metodo Lert” de linline Slr, grara eno ~~ Kseribe el sigatiente p i java lass 3050 { statie voi main(String argolD £ chal] apelldo (PEPE: ‘apelite L-new String(apelltde); ne ‘apellivo 2-new Stwing(” PEPE"); ‘apeltide3="PEPE"; Sytem print(*apellide; "; fordint japellido.tengtls-1)ct+-+) | ‘stom.ont.primt(ap eld ofi}); System.out printha(Tongitud apellide: apellido.tength):, Systean.out printin("apellidot: *-rapelidet}; Java Fermi Vilé a System.out.printin(“Tongitnd apeltiae| apelid ol Length): Systean.out printin("apellida?: " |appellide?}; Systean.out printin("“Tongid apellide?: "+ ‘System.out.printin(”'apellido: Systean.out printin( apelido3 Length): z = -Graba cl programa ea TuCaypeta con elaombre j050,java = Compilalo y cjceinao, Las Tablas (o Arrays o Arreglos o Matrices o Veetores o Listas) Una tabla es una-variable que contiene uaa Lista de elementos del mismo tipo de datos simples © de la lace, Cada elemento ee alaacena en su propia easilla, que est indecxada (desde 0), lo que permite accederficilmente a los diferentes elementos de la tesla nérica (enteros 0 reales). boolema, le crearuaa tabla de tablae, lo que La varisble tabln puede contencr-cualeuier tipo de informacién ccarfater, catleua de caracteres (String), 0 cualquier abjeto. Ee permite obtener una tabla nhtieimensienal (No puede creare una tabla que contenga sanultaneamente enteros y cadenas dle earacteres {Una vez se ha creado [a tablaes imposible modificar el tip de informacin qe ge enctientra almacenacla, [La evenetin ce wma tables conta de tres etapa 1°) Declaracién de la-vagiable 2°) Crenciie del objeto tabla y asignaein» la-variable tabla, 3") Almaccaamiento de la infomvaci6n ex latsbla Declaracién de una variable tabla tupo{| =wombre=, ebica: stipe rubies Ts sliposs ipo de chitos qpue se hunncen ‘nombre: nombre de fa variable tabla Ejomplee: "abba de enters inti noe dos tablas de cadena Stringl} apellide, nombre ‘Mala de objetos Color de nomubye eolores Color coloreel): ‘tabla bidamensional float coordenadae|][]: da nota Java Fermi Vilé 6s Crear el objeto tabla ‘Una vez declarada fa variable de tabla, debe ceearve la tabla y dimonsionala para ssignrle un cspacio de Dado que las tabla som abjetos ea Java, debe nsarse cl opecador new o inieiaizar diseetam cate ceantenido de fatale con los operadores Hares: ) Podemoscntitioar las tres posibilidsdes siguientes: ‘Vtdlizar uuicams cute si=npo>{] sombre la sido declarado auteriormueuts vornbre’—new “lipo ful lementos], tip ine f] new Memento]; stip lermnta orabire+ — {elem oc elements} Ejeauplos Coler colores|] ‘eolores=new Coleel eh ss apellidof]=ew St Colar{] coloresnew Color{ 3h String(] speltido=(“Pepe'" Paco") Color eolores{}=(Colorred.Colorare, :Color:yellow): Ea el casode tablas nm kidimensionales, fanci igual byte[]{] botetinDeNotas: DoletiaDeNotas = wew bytel IES], Hloat cnorenadas{][J-aevw flost{3]I2} float coorclenadac{IfJ= ¢(0.0,0-1,02},(1.0,1.1}}: Acceso a los elememtos de una tabla Tras haber declarado prev iamente ina tabla y de haber cimvens celemeatoede larsbla Pasa cll go utiliza womnbreindice | valor; ra brefincice Hjenuplo ccheel| eNombre~ new chs t} eNombref]—"P* Nombre{J-" eNoanlnef2 Nombre[3]-E {loa [I[Jcoordenadar-new float 2913]: coordenaadae{a][0] = 0.0: ‘coordenadias{0][1J=0 Para leer los datoe de wus tabla Java Fermi Vilé 665 ‘char 6, for(int i-0.e=(cNombee lensth-L.i+) { ccNombrefil System out priatict” 1 ‘Systern ol pinlla(coordenadas[O][O]}:/ mmestra 0.0) Conocer la dimension de una tabla aca conocer In dincasida de una tabla basta con indices el nombre de la-variable de tipe tabla, seguida se ua punto 9 de La propia! Le conocer lelansensisn de va lab ensional. (9 Crencion deta tabla de enteros de dos cimmsiones 1020 # 0420): 0] leat) 0 Ptabla o dimension 1] lens 2'damencion ~ Everibe el siguiente programa: 081 gava import javacawt class 051 4 public siade vol main(Siving f] 8) { Color{] c1= {Color ,Color.green,Color yellow: 9 princha(" Famaito de et: “el deny sem om Coler|] c2-new Col €2[0]-Color. yellow; D Sqing apellidei~new String(apellide) Suing apellide2-new Sring(" pace: System.eut.printin("Iengivud apallide: "+ apdlidolensth); System.ont printin(” apeliidol: "+apellido1); t-printine' spellido?2 length); rinthn(” apellide3: "+apellide3); princa( longitud apellided: "+ ap ito3 JengthQ):

You might also like