Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Introd ccin
2 En !a pre"ente nidad3 "e deta!!a !o" f ndamento" de !a tecno!og4a $a%a3 reconociendo !a" ( p!ataforma" 5 e !a conforman# 2 -dem"3 "e re%i"a !a "inta6i" y f ndamento" de! !eng a1e de $a%a#
7,1eti%o"
2 8econocer !o" componente" de !a tecno!og4a $a%a# 2 Identificar e! a!cance de !a" p!ataforma" de $a%a# 2 E"cri,ir programa" "ando !a "inta6i" de! !eng a1e $a%a#
9ndice
2 :a tecno!og4a $a%a
; :a p!ataforma ; E! !eng a1e $a%a
:a tecno!og4a $a%a
2 :a tecno!og4a $a%a e"ta comp e"ta por do" parte" principa!e"/
1# :a p!ataforma
2 2 :a m5 ina %irt a! de $a%a '$<M* E! $a%a -PI '-pp!ication Programming Interface*
:a p!ataforma
2 :a p!ataforma de $a%a e"t di%idida en diferente" edicione"3 entre e!!a"/
; $a%a Standard Edition '$a%a SE* ; $a%a Enterpri"e Edition '$a%a EE* ; $a%a Micro Edition '$a%a ME*
1' %a plata(orma
P!ataforma"
$a%a SE
DE F e" e! $8EG
2 $8E H $a%a 8 ntime En%ironment 'Entorno de E1ec cin de $a%a* 2 Contiene !a" c!a"e" para e1ec tar ap!icacione" $a%a '%aria" en cada "i"tema operati%o*# 2 :a" c!a"e" apropiada" para cada ap!icacin "on cargada" a tomticamente#
DE F e" !a $<MG
2 $<M H $a%a <irt a! Machine 'Ma5 ina <irt a! de $a%a* 2 E"t inc! ida en e! $8E# 2 Permite !a e1ec cin de ap!icacione" $a%a
; E1ec ta e! ,ytecode#
DE F e" e! $DIG
2 E! $DI inc! ye a! $8E m" !a" herramienta" de de"arro!!o como !o" compi!adore" y de, gger" 5 e "on nece"ario" para de"arro!!ar ap!icacione"#
DE F e" e! &ytecodeG
2 Cdigo &inario de !a" ap!icacione" $a%a# 2 E" interpretado por e! $<M# 2 Cada $<M 'de diferente" "i"tema"* interpreta e! mi"mo ,ytecode# 2 Se e1ec ta m" de"pacio 5 e "i f era compi!ado directamente n cdigo nati%o#
-m,iente de De"arro!!o
edicin Compilacin )olamundo'*ava javac Holamundo.java
b+tecode Holamundo.class
Interprete de Java
java Holamundo
$a%a SE )
2 2 2 2 E"t di"poni,!e en http/JJ1a%a#" n#comJ1a%a"eJ)J :i,erado e! 11 de diciem,re de 200)# Kom,re c!a%e M "tang# K e%o marco de tra,a1o y -PIL" para !a com,inacin con otro" !eng a1e" como PBP3 Python3 8 ,y y $a%a"cript# 2 Inc! ye !a" M!tima" e"pecificacione" de !o" Ser%icio" +e,# 2 Me1ora !a interface grfica y rendimiento#
Bi"toria de $a%a
2 $ame" Ro"!ing
$a%a %"# C
Caracterstica Independiente de Plata(orma 1rientado a 1b*etos 2so de Punteros Acceso Directo a Memoria Java /I /I 01 01 01 01 /I /I C
En!ace" de $a%a
2 2 2 2 2 2 2 2 2 http/JJ1a%a#" n#com http/JJe"#OiAipedia#orgJOiAiJ$a%a http/JJOOO#the"er%er"ide#comJ http/JJ OOO#1g r #com '0-E* http/JJ OOO#i,m#comJ1a%a '!i,rer4a" y proyecto"* http/JJ OOO#1a%a!o,,y#com 'artic !o"* http/JJ OOO#1a%aOor!d#com 'artic !o"* http/JJ OOO#freeOare1a%a#com ' ti!itario"* http/JJ OOO#1a%aranch#com 'foro"*
E"pacio" en ,!anco
2 E"pacio"3 Ta," y n e%a" !4nea" "on ignorado" por e! compi!ador# 2 E! e6ce"i%o "o de e"pacio" en ,!anco no prod ce n mayor ,ytecode# 2 P ede "er ti!i.ado para formatear e! cdigo3 para 5 e "ea ma" fci! de !eer!o#
E"ti!o"
2 Son formato" o p!anti!!a" definida" para !a codificacin# 2 E" irre!e%ante para e! compi!ador# 2 Bace 5 e e! cdigo "ea ma" fci! de !eer# 2 Sangr4a"3 e"pacio"3 n e%a" !4nea" p eden "er "ado" para formatear e! cdigo# 2 Comentario" p eden "er ti!i.ado" para agregar nota" en e! cdigo# Son re5 erida" para 1a%adoc#
Comentario" en $a%a
2 Ignorado" por e! compi!ador# 2 P eden "er de na "o!a !4nea/
; int contH1 // entero contador
Identificadore"
2 De,en empe.ar con n caracter nicode 3 " ,rayado ' W * o "4m,o!o de do!ar 'X*# 2 :o" caractere" " ,"ec ente" p eden "er c a!5 ier caracter nicode3 nMmero"3 " ,rayado o "4m,o!o do!ar# 2 Ca"e?Sen"iti%e 'Sen"i,!e a mayM"c !a" y minM"c !a"* 2 :o" identificadore" o nom,re" no de,en coincidir con !a" pa!a,ra" re"er%ada"#
Identificadore"
Vlido mi<ar primernom,re edad1 i Invlido 1era primer?nom,re Cedad 6Yn m
Pa!a,ra" re"er%ada"
a,"tract ,oo!ean ,reaA ,yte ca"e catch char c!a"" con"t contin e defa !t ret rn do import do ,!ein"tanceof " per e!"e int e6tend" interface fina! !ong fina!!y nati%e f!oat neO for pacAage goto pri%ate if protected imp!ement" p ,!ic "hort Ohi!e "tatic "Oitch "yncroni.ed thi" throO throO" tran"ient try %oid %o!ati!e
Separadore"
2 2 2 2 2 2 2 '* SV Z[ U 3 # / encerrar argumentos bloque de cdigo,iniciar arrelo definir y accesar arreglos fin de sentencia separar argumentos o variables uso en paquetes,acceso a objetos "o en label o etiquetas
:itera!e"
Tipo Integer %ong 5loating point Double Boolean 9"aracter /tring 0ull Ejemplo < 4!% !'45 4:'!; true 678 =tecsup> null
DE F e" na %aria,!eG
2 U,icacin tempora! para a!macenar informacin# 2 Tiene n tipo de dato# 2 Tiene n %a!or3 e! c a! p ede cam,iar
; Con"tante"3 no p eden cam,iar de %a!or#
2 2
$a%a e" n !eng a1e NtipificadoQ 'toda" !a" %aria,!e" tienen n tipo*# :o" tipo" de dato" "on independiente" de !a p!ataforma#
Dec!arando %aria,!e"
2 Dec!arar "ignifica crear# 2 P ede rea!i.ar"e en Nc a!5 ier parteQ de! cdigo# 2 E1emp!o"/
; int i3 edadU ; !ong n meroU ; f!oat "a!arioU ; do ,!e de daU
Inicia!i.ando %aria,!e"
2 Inicia!i.ar "ignifica dar!e n %a!or inicia! a !a %aria,!e en !a dec!aracin de !a %aria,!e# 2 E1emp!o/
; int iH03 edadH2TU ; !ong n meroHT\(=]T^(\:U ; f!oat "a!arioH(T00#T0fU ; do ,!e de daHT000#()U
-cce"ando %aria,!e"
2 Cada %aria,!e de,e tener n %a!or ante" de "er acce"ada3 ca"o contrario "e prod cir n error# 2 E! nom,re de !a %aria,!e e" "ado para acce"ar a! %a!or de !a %aria,!e#
-cce"ando %aria,!e"
p ,!ic c!a"" E1emp!o S p ,!ic "tatic %oid main'StringZ[ arg"*S do ,!e tota!HT\#(()U Sy"tem#o t#print!n'NE! tota! e" Q@tota!*U V V
Con"tante"
2 E! %a!or de na %aria,!e final e" con"tante# 2 Una %e. 5 e na %aria,!e final ha "ido inicia!i.ada3 " %a!or no p ede "er modificado# 2 Un error "e prod cir "i e! compi!ador detecta a!gMn intento de modificacin de e"ta %aria,!e# 2 fina! f!oat pi H (#1\1TfU
Con%er"in - tomtica
2 E6i"ten do" tipo" de con%er"in en $a%a ' p? ca"ting y doOn?ca"ting*
double float long int short b te
Con%er"in Man a!
2 7perador NCa"tQ/ 'tipo_de_dato* 2 E1emp!o/ fina! do ,!e pi H (#1\1TU f!oat piTmp H 'f!oat*piU
7peradore"
2 Tipo"
; Unitario ; &inario
2 2 2 2 2 2
7peradore" -ritmFtico"
!perador E (2nitario# E (Binario# B (2nitario# B (Binario# EE (2nario# BB (2nario# Ejemplo EcostoF GGcambio de signo a E bF BcostoF GGcambio de signo ingresos H egresosF productosEEF BBalmacenF
7peradore" -ritmFtico"
!perador I G J a I bF a G bF a J -F Ejemplo
7peradore" de Comparacin
!perador N NL O OL LL KL instanceo( Ejemplo ganancia N 4F ganancia NL 4F ventas O ;4F ventas OL ;4F ganancia LL 4F ganancia KL 4F nombre instanceo( /tringF GI nombre es un ob*eto de tipo /tringM IG
7peradore" de -"ignacin
!perador L EL BL IL GL JL suma L aEbF suma EL bF suma BL bF b IL aF suma GL bF suma JL bF Ejemplo
7perador Condiciona!
!perador M: Ejemplo EcostoF GGcambio de signo
E%a! a n %a!or ,oo!eano en na e6pre"in para determinar c a! de do" e6pre"ione" e1ec tar# E1emp!o/ int aH10U a H 'a_20* G a / 20U
5 | 14
8421
7peradore" &oo!eano"
!perador K PP TT Ejemplo KtrueF true PP (alseF true TT (alseF
Precedencia de 7peradore"
'* 3 Z[ 3 # 3 @@'" fi1o* 3 ??'" fi1o* @' nitario* 3 ?' nitario* 3 @@'pre* 3 ??'pre* 3 ` 3 a 'tipo* 3 neO b3J3c @3? _ 3 _H 3 d 3 dH 3 in"tanceof HH 3 aH
Precedencia de 7peradore"
e f g ee gg G/ H 3 @H 3 ?H 3 bH 3 JH 3 cH
Contro!e" de 0! 1o
2 Permiten contro!ar na o %aria" "entencia" por medio de condicione" 'definida" como e6pre"ione"*#
I0
2 :a in"tr ccin if J e!"e permite a! programa e1ec tar "e!ecti%amente otra" in"tr ccione"3 ,a"ado en a!g na condicin# if (expression) statement(s)
if (expression) { statement(s) }
Entorno de <aria,!e"
2 C ando "amo" ,!o5 e" para cdigo de,emo" tener c idado en e! "o de %aria,!e"# int contH\U if 'cont_T* S do ,!e tota! H cont b 10U V Sy"tem#o t#print!n'NContador / Q@cont*U Sy"tem#o t#print!n'NTota! / Q@tota!*U
Entorno de <aria,!e"
2 Una %aria,!e p ede "er "ada en " propio ,!o5 e para cdigo como en ,!o5 e" interno"# int contH\U do ,!e tota! H 0U if 'cont_T* S tota! H cont b 10U V Sy"tem#o t#print!n'NContador / Q@cont*U Sy"tem#o t#print!n'NTota! / Q@tota!*U
E:SE
2 E!"e "ignifica Nen ca"o contrarioQ 2 E" "ada "ig iendo a n contro! I0 if (expression) { statement(s) } else { statement(s) }
E:SE ? I0
Permite definir varia !ondi!ione para !ontro"ar "a enten!ia if (dia == hoy) { sentencias(s) } else if (dia ## ayer) { sentencias(s) } e" e { sentencias(s) }
S+ITCB
2 Permite contro! e! f! 1o de na ap!icacin por medio de n patrn# 2 So!o "oporta ,yte 3"hort 3int y char switch(patron) { case 1: sentencias(s); break; case 2: sentencias(s); break; default : sentencias(s); }
+BI:E
2 +hi!e "ignifica Nmientra"Q# 2 Permite e1ec tar na o %aria" "entencia'"* de forma repetiti%a/ while (contador < 10) { sentencias(s) }
D7
2 Permite e1ec tar na o %aria" "entencia'"* de forma repetiti%a# 2 Se diferencia de Ohi!e por5 e "e e1ec ta por !o meno" na %e.# do { sentencias(s) } $hi"e (contador < 10)%
Sentencia" de 8 pt ra
2 ,reaA 2 contin e
&8E-I
2 Permite romper o "a!ir de n ,!o5 e de contro!# $hi"e (contador < 10) { sentencias(s) if(contador==3) break% }
C7KTIKUE
U ado en &"o'(e repetitivo Permite !ontin(ar !on e" ig(iente !i!"o repetitivo) $hi"e (contador < 10) { sentencias(s) if(contador==3) continue% }
078
2 Permite e1ec tar ,!o5 e" repetiti%o" 2 Se diferencia de Ohi!e por tener %a!ore" fi1o" for (iniciali aci!n"e#presi!n"incremento) S sentencia s! V 2 E1emp!o/ for 'int iH0U i_10Ui@@* S sentencia s! V
$%&'I()*
Matrice"
2 :a" matrices "on conocida" tam,iFn como arra+s3 vectores e inc! "o arre,los- 'Ko intentemo" "ar !a pa!a,ra <ector por5 e m" ade!ante e6i"te "e %er na c!a"e !!amada <ector*# 2 :a" matrice" "on %aria,!e" 5 e p eden a!macenar m cho" dato" de! mi"mo tipo ,a1o e! mi"mo nom,re# Ko" permiten acceder a c a!5 iera de !o" dato" a!macenado" en e!!a" "i !e" indicamo" en 5 e po"icin "e enc entra#
Matrice"
2 Tenemo" 5 e tener "iempre pre"ente 5 e !a po"icin de! primer e!emento de !a matri. siempre empie a en .- h por !o tanto e! M!timo e!emento de na matri. e"tar en !a po"icin n/13 donde n e" e! nMmero de e!emento"# Por e1emp!o "i en na matri. g ardamo" T e!emento"3 !a po"icin de! primer e!emento "er !a 0 y e! M!timo e!emento e"tar en !a po"icin \#
Matrice"
2 Para acceder a n e!emento de na matri. "e ti!i.ar e! nom,re 5 e hayamo" p e"to a !a matri. y entre corchete" 0 1 e! nMmero de !a po"icin de! e!emento a! 5 e 5 eremo" acceder# nom2re3matri 0posicion1 de e"ta forma accedemo" a! e!emento como "i "e trata"e de na %aria,!e norma!#
Dec!aracin de matrice"
2 Sint6i"/
Zmodificadore"[ tipo Z[ identificador Zidentificador3 identificador###[U
Inicia!i.acin de matrice"
2 Para inicia!i.ar na matri. tenemo" do" po"i,!e" forma"/
; -"ignar !a memoria dependiendo de! nMmero de e!emento" 5 e %aya a contener# ; Indicar directamente !o" e!emento" 5 e 5 eremo" 5 e contenga#
-"ignar memoria
2 Sinta6i"/
TipodeE!ementoZ[ Kom,redeMatri. H neO TipodeE!emento"Ztama>o-rray[
2 E1emp!o/
intZ[ n mero" H neO intZ10[U
Dec!aracin y a"ignacin
2 Sinta6i"/
TipodeE!ementoZ[ Kom,redeMatri. H Se!emento13 e!emento23 #####3 e!ementoKV
2 E1emp!o/
intZ[ n mero" H S1323(3\3T3)3^3]3=310VU
8e!!enar na matri.
2 Para a"ignar n %a!or a na po"icin de !a matri. hemo" de hacer!o e!emento a e!emento como "i "e trata"en de %aria,!e" independiente"# 2 n mero"Z0[HTU 2 n mero"Z1[H)U 2 n mero"Z2[H2U 2 n mero"Z([H]U
Propiedad :ength
2 E"ta propiedad no" de% e!%e en todo momento e! nMmero de e!emento" 5 e contiene n e"tro array# intZ[ e1emp!o-rray H neO intZ(00[U int tama>o H e1emp!o-rray#!engthU Sy"tem#o t#print!n 'P Mi array tiene P@ tama>o @ P e!emento"P*U
Propiedad !ength
2 :a propiedad !ength de !a" matrice" de% e!%e e! nMmero de e!emento"3 no la 4ltima posici!n# Si tenemo" n array de T e!emento"3 T no" de%o!%er !ength3 pero !a" po"icione" irn de! 0 a! \# 2 Por e"o "i recorremo" e! array con n for3 "iempre en !a condicin hemo" de e6c! ir e! M!timo %a!or/ for 'int iH0U i5 #-len,thU i@@*# Siempre inicia!i.amo" e! 4ndice a 0 y "e repite mientra" "ea menor 5 e e! tama>o 'menor e"tricto*#
8ecorrer na matri.
for 'int iH0U i_n mero"#!engthUi@@*S Sy"tem#o t#print!n'n mero"Zi[*U V
Cadena"
2 Una secuencia de datos del tipo carcter "e !!ama n "tring 'cadena* y en e! entorno $a%a e"t imp!ementada por !a c!a"e String ' n miem,ro de! pa5 ete 1a%a#!ang*# 2 En n String podremo" a!macenar fra"e" entera"#
Cadena"
2 Para a"ignar!e n %a!or tenemo" 5 e hacer!o con !a" comi!!a" do,!e"# String miCadena H Pho!aPU 2 Podemo" concatenar cadena" fci!mente ti!i.ando e! operador N@Q/
67a entrada tiene 6 8 contador 8 6 caracteres-6
2 Do" de !a" cadena" concatenada" "on cadena" !itera!e"/ P :a entrada tiene P y P caractere"#P :a cadena de! medio e" n entero 5 e "e con%ierte a cadena y ! ego "e concatena con !a" otra"#
Conc! "ione"
2 En !a pre"ente "e"in3 "e deta!! !a tecno!og4a $a%a con " " ( p!ataforma"# 2 -dem"3 "e identific !a "inta6i" ,"ica de! !eng a1e de programacin $a%a3 re%i"ando !a" e"tr ct ra" de contro!3 repetiti%a"3 entre otro"#