You are on page 1of 43

TABLA DE CONTENIDO

INTRODUCCIN DEL LIBRO ....................................................................................................................... 4


CAPITULO 1 INTRODUCCIN AL LENGUAJE DE PROGRAMACIN JAVA ...................................... 4
Historia de Java ........................................................................................................................................... 4
Caractersticas del lenguaje Java .............................................................................................................. 6
Algunas crticas realizadas al lenguaje Java ............................................................................................ 8
Kit de Desarrollo de Java o Java Development Kit(JDK) ........................................................................ 8
Instalacin del Java Development Kit (JDK) en Windows ....................................................................... 9
Arquitectura de libreras de Java (API Interfaz de Programacin de Aplicaciones) ........................ 14
Plataformas de Java ................................................................................................................................. 15
IDEs y Editores de desarrollo del lenguaje Java................................................................................... 15
CAPITULO 2 FUNDAMENTOS DEL LENGUAJE JAVA........................................................................ 16
Tokens........................................................................................................................................................ 16
Expresiones ............................................................................................................................................... 21
Bloques y mbitos ..................................................................................................................................... 22
Variables .................................................................................................................................................... 23
Comentarios y espacios en blanco .......................................................................................................... 25
Estructura bsica de un programa en Java ............................................................................................ 25
Imprimir un mensaje por consola ............................................................................................................. 25
Leer e imprimir un mensaje por consola ................................................................................................. 26
Estructuras de control ............................................................................................................................... 32
Contadores ................................................................................................................................................ 42
Acumuladores o totalizadores .................................................................................................................. 43
Excepciones en Java ................................................................................................................................ 43
Concatenacin........................................................................................................................................... 43
TEMA 3 OBJETOS Y CLASES ................................................................................................................ 43
Herencia ..................................................................................................................................................... 47
Interfaces ................................................................................................................................................... 49
Polimorfismo .............................................................................................................................................. 49
Encapsulamiento ....................................................................................................................................... 50
Paquetes .................................................................................................................................................... 50

Referencia a los miembros o atributos de una clase (this y super) ...................................................... 50


Recursividad de mtodos ......................................................................................................................... 50
TEMA 4 Estructuras de datos en Java .................................................................................................... 50
Arreglos ...................................................................................................................................................... 50
Matrices ...................................................................................................................................................... 50
Pilas ............................................................................................................................................................ 50
Colas .......................................................................................................................................................... 50
Listas .......................................................................................................................................................... 50
Collections (Clases Vector, ArrayList, Interfaces Iterator, Enumeration) ............................................. 50
CAPITULO 5 ARCHIVOS.......................................................................................................................... 50
CAPITULO 6 Programacin Multihilos ..................................................................................................... 57
CAPITULO 7 JAVA FUNDATION CLASS (JFC) .................................................................................... 57
CAPITULO 8 Imgenes, animaciones y audio ........................................................................................ 90
CAPITULO 9 Creacin de archivos .exe e instaladores ........................................................................ 91
CAPITULO 9 Redes .................................................................................................................................. 91
CAPITULO 10 Conectividad de bases de datos ..................................................................................... 95

INTRODUCCIN DEL LIBRO


Bienvenido al conocimiento del lenguaje de programacin Java. Este libro se ha diseado lo ms
claro y comprensible posible, apuntndole a que usted avanzase por cada captuloal entendimiento
de las estructura sintcticas del lenguaje Java y adquiera competencias para crear aplicaciones de
escritorios y orientadas a la web, segn cada fase de conocimiento gracias a la metodologa terico
practica que ofrece este libro. En l va a encontrar explicado en texto, graficas y videos referentes,
todo lo referente a lo que el lenguaje Java posibilita hacer, con ejercicios que usted pueda analizar,
resolver y aplicar.
Para asegurar el aprendizaje se recomienda leer detalladamente el libro, analizar las imgenes que
contiene, observar los videos y resolver los ejercicios desarrollados.
.

CAPITULO 1 INTRODUCCINAL
LENGUAJE DE PROGRAMACIN JAVA
Este primer captulo nos regalara un enfoque general del lenguaje de programacin Java,
aportndonos informacin relevante y detallada para que continuemos nuestro estudio por cada uno
de los captulos, y podamos resolver los ejercicios que se proponen.

Historia de Java
Java es un lenguaje de programacin orientado a objetos desarrollado por un grupo de ingeniero de
Sun Microsystems,cuando en el ao 1990 Patrick Naughton, reclut a varios colegas entre
ellos James Gosling y Mike Sheridan, para trabajar en un proyecto conocido como El proyecto
Verde, en el que trabajaron 18 meses dentro de una pequea oficina en Sand Hill Road en Menlo
Park, California.Intentaban desarrollar una nueva tecnologa para programar la futura generacin de
dispositivos electrnicos, como calculadoras, hornos microondas y televisores interactivos.
James Gosling intent en primera instancia extender y modificar el lenguaje C++ el resultando fue el
lenguaje C++ ++ - (++ - porque se aadan y eliminaban caractersticas a C++), pero lo abandon
para crear un nuevo lenguaje desde cero al que llamo Oak (roble en espaol, segn la versin ms
aceptada, por el roble que vea a travs de la ventana de su despacho).
En Agosto de 1991 Oak ya corra sus primeros programas, y para 1992, ya haba desarrollado un
sistema en un prototipo llamado Star7 (*7), dispositivo parecido a una PDA (asistente digital
personal).

Scott McNealy, presidente de Sun Microsystems, estableci el Proyecto Verde como una subsidiaria
de Sun y el 3 de septiembre del 1992 se termin el proyecto verde pero al mismo tiempo nace el
fenmeno mundial de la Web.
De 1993 a 1994, el equipo de Patrick Naughton se lanz en busca de nuevas oportunidades en el
mercado. Al examinar las dinmicas de Internet, lo realizado por el equipo verde se adecuaba a este
nuevo ambiente (Web).. Durante el ao 199
1993Patrick Naughton y su equipo procedi a la construccin
del lenguaje de programacin que se pudiera accionar con un browser.
El 29 de septiembre de 1994 se termina el desarrollo del prototipo de HotJava(Permitiendo ofrecer
soporte a applets).. Ms tarde, en el mismo ao, se cambiara el nombre de Oak a Java, al existir ya
un lenguaje con el nombre de Oak. Se supone que le pusieron ese nombre mientras tomaban caf
(Java es nombre de un tipo de caf, originario de Asia), aunque otros afirman que el nombre deriva
de las siglas de James Gosling, Arthur Van Hoff, y Andy Bechtolsheim.
En este mismo ao se leshace
leshace la demostracin a los ejecutivos de Sun, esta vez, se reconocen
reconoce el
potencial de Java y se acepta el proyecto.
En enero de 1995 Sun forma la empresa Java Soft para dedicarse al desarrollo de productos
basados en la tecnologa Java, y as trabajar con terceras partes para crear aplicaciones,
herramientas, sistemas de plataforma y servicios para aumentar las capacidades del lenguaje. Ese
mismo ao aparece
e la versin 1.0 del JDK(Kit de desarrollo de Java).
El 23 de Mayo de 1995 Netscape anunci que incluira soporte para Java en sus navegadores, dando
con esto un buen apoyo a Java.
Actualmente Java paso a propi
propiedad
edad de la empresa Oracle al ser compradorade
compradora la mayor parte de las
acciones de Sun Microsystems.
Microsystem
La tecnologa Java lo podemos en redes y dispositivos que comprenden desde Internet y
superordenadores cientficos hasta porttiles y telfonos mviles; desde simuladores de mercado en
Wall Street hasta
ta juegos de uso domstico y tarjetas de crdito: en conclusin hoy da Java est en
todas partes.

Figura Nro 1: Lnea de tiempo de hechos relevantes en la historia de Java

Caractersticas del lenguaje Java


El lenguaje de programacin Java tiene aproximadamente seis caractersticas que lo hace llamativo
al ojo de los grandes programadores de software.
a.) SIMPLE
Fcil aprendizaje, La curva de aprendizaje de Java es rpida en este lenguaje, el nico
requerimiento para aprenderlo es tener una comprensin de los conceptos bsicos de la
programacin orientada a objetos.
Completado con utilidades, El paquete de utilidades de Java, ms conocido como la API
(Interfaz de programacin de aplicaciones), viene con un conjunto completo de estructuras de
datos y sus mtodos asociados, que sern de gran ayuda para desarrollar e implementar
aplicaciones. Se dispone tambin de estructuras de datos habituales, como arreglos, colas y
pilas, como tambin clases ya implementadas para manejar algunas estructuras de datos.
b.) POTENTE
Orientado a Objetos, En Java el concepto de objeto resulta sencillo y fcil de aplicar.
Riqueza semntica, Cada tarea se puede realizar de un nmero reducido de formas, se ha
conseguido un gran potencial de expresin e innovacin desde el punto de vista del
programador.
Robusto, Java verifica su cdigo al mismo tiempo que lo escribe (depende del IDE o el Editor
que se utilice), y una vez ms antes de ejecutarse, de manera que se consigue un alto margen
de codificacin sin errores. Se realiza un descubrimiento de la mayor parte de los errores durante
el tiempo de compilacin, ya que Java es estricto en cuanto a tipos y declaraciones, y as lo que
es rigidez y falta de flexibilidad se convierte en eficacia.
Gestin de memoria, Java libera al programador del compromiso de tener que controlar
especialmente la asignacin de memoria,el mismo administra esta y se hace a ella sus
necesidades especficas. Este lenguaje posee una gestin avanzada de memoria llamada
gestin de basura, y un manejo de excepciones orientado a objetos integrados.
Modelo rico de objetos, Existen varias clases que contienen las abstracciones bsicas para
facilitar a los programas en Java. Se contar con un conjunto de clases comunes que pueden
crecer para admitir todas las necesidades del programador (a ese conjunto de clases se les API
Interfaz de Programacin de Aplicacin).
c.) INTERACTIVO Y ORIENTADO A RED
Interactivo y animado, Uno de los requisitos de Java desde sus inicios fue la posibilidad de
crear programas en red interactivos, por lo que es capaz de hacer varias cosas a la vez sin
perder rastro de lo que debera suceder y cundo. Se da soporte a la utilizacin de mltiples hilos
de programacin (multithread). Las aplicaciones de Java permiten situar figuras animadas en las
pginas Web, y stas pueden concebirse con logotipos animados o con texto que se desplace
por la pantalla.

Arquitectura neutral, Java est diseado para que un programa escrito en este lenguaje sea
ejecutado correctamente independientemente de la plataforma en la que se est actuando
(Macintosh, PC, UNIX). Para conseguir esto utiliza una compilacin en una representacin
intermedia que recibe el nombre de cdigos de byte, que pueden interpretarse en cualquier
sistema operativo con un intrprete de Java (El intrprete de Java es JVM Mquina Virtual de
Java contenida en JRE Java Runtime Evironment).
Trabajo en red, Java anima las pginas Web y hace posible la incorporacin de aplicaciones
interactivas y especializadas. Aporta la posibilidad de distribuir contenidos ejecutables, de
manera que los suministradores de informacin de la Web pueden crear una pgina de hipertexto
(pgina Web con cdigo HTML) con una interaccin continuada y compleja en tiempo real; el
contenido ejecutable es transferido literalmente al ordenador del usuario. Los protocolos bsicos
para trabajar en Internet estn encapsulados en unas cuantas clases simples. Se incluyen
implementaciones ampliables de los protocolos FTP, HTTP, NNTP y SMTP junto con conectores
de red de bajo nivel e interfaces de nombrado. Esto le permite interactuar con esos servicios de
red poderosos sin tener que comprender realmente los detalles de bajo nivel de esos protocolos.
Este lenguaje est diseado para cumplir los requisitos de entrega de contenidos interactivos
mediante el uso de applets insertados en sus pginas HTML. Adems, las clases de Java
admiten muy bien estos protocolos y formatos. El envo de las clases de Java a travs de Internet
se realiza con gran facilidad, ya que existe una interfaz unificada, resolviendo as los tpicos
problemas de diferencia de versiones. Java proporciona un conjunto de clases para tratar con
una abstraccin de los conectores de red (sockets) originales de la versin UNIX de Berckley,
encapsular la nocin de una direccin de Internet o conectar sockets con flujos de datos de
Entrada/Salida.
Applets, Una applet (miniaplicacin) es un pequeo programa en Java transferido
dinmicamente a travs de Internet. Presentan un comportamiento inteligente, pudiendo
reaccionar a la entrada de un usuario y cambiar de forma dinmica.
d.) SEGURIDAD
Existe una preocupacin lgica en Internet por el tema de la seguridad: virus, caballos de Troya,
y programas similares navegan de forma usual por la red, constituyndose una amenaza
palpable. Java ha sido diseado poniendo un nfasis especial en el tema de la seguridad, y se ha
conseguido lograr cierta inmunidad en el aspecto de que un programa realizado en Java no
puede realizar llamadas a funciones globales ni acceder a recursos arbitrarios del sistema, por lo
que el control sobre los programas ejecutables no es comparable a otros lenguajes. Los niveles
de seguridad que presenta son:

Fuertes restricciones al acceso a memoria, como son la eliminacin de punteros aritmticos


y de operadores ilegales de transmisin.

Rutina de verificacin de los cdigos de byte que asegura que no se viole ninguna
construccin del lenguaje.

Verificacin del nombre de clase y de restricciones de acceso durante la carga.

e.) GESTIN DE LA ENTRADA Y SALIDA


Permiten tratar los ficheros, sockets, teclado y monitor como flujos de datos. De este modo se
pueden utilizar para cualquier operacin de Entrada/Salida.

f.) DIFERENTES TIPOS DE APLICACIONES


En el lenguaje de programacin Java podemos crear los siguientes tipos de aplicaciones:

Aplicaciones: Se ejecutan sin necesidad de un navegador (se les conoce como aplicaciones
de escritorio).

Applets: Se pueden descargar de Internet y se observan en un navegador.

JavaBeans: Componentes software Java, que se puedan incorporar grficamente a otros


componentes.

JavaScript: Conjunto del lenguaje Java que puede codificarse directamente sobre cualquier
documento HTML

Servlets: Mdulos que permiten sustituir o utilizar el lenguaje Java en lugar de programas
CGI (Common Gateway Interface) a la hora de dotar de interactividad a las pginas Web.

Algunas crticas realizadas al lenguaje Java


Existen muchas crticas realizadas al lenguaje de programacin Java, pero no vale la pena mencionar
todas pues muchas son sin fundamentos, adems el objetivo es que usted quiera aprender el
lenguaje Java. La principal crtica a Java es debido a su lenta velocidad de ejecucin, un programa en
Java es aproximadamente unas 20 veces ms lento que un programa en lenguaje C, esto se debe a
la transformacin de cdigo bytes a cdigo maquina que tienen que hacer los ordenadores cada vez
que ejecutan un programa Java. Sun Microsystems y Oracle (Actual socio y accionista de la mayor
cantidad de acciones de Sun Microsystems) estn trabajando intensamente en crear versiones de
Java con una velocidad de ejecucin mayor.

Kit de Desarrollo de Java o Java Development


Kit(JDK)
Para desarrollar un programa en el lenguaje Java, el Kit de desarrollo de Java (JDK)debe estar
instalado en el computador del programador, este Kit contiene varias aplicaciones adicionales que
apoyan esta tarea, tales como el Java Runtime Enviroment (JRE) y la Mquina virtual de Java (JVM).
El JRE es un conjunto de utilidades que contiene la JVM para poder ejecutar un programa hecho en
Java, es decir que esto es lo nico que requiere tener instalado un cliente para ejecutar un aplicativo
en su mquina o PC.

Escribir el programa en
cualquier Editor de texto

Guardar el Archivo en
formato .java

Archivo *.java

Obtener Documentacin
(javadoc)

Compilacin con (javac)

Archivos *.html

Archivo *.class

Comprimir archivos a
formato .jar con (jar)

Ejecutar la aplicacin con


(java o appletviewer)

Archivo *.jar

Transformacin a cdigo
maquina (JVM)

Salida en pantalla del


programa escrito
Figura Nro 2: Utilizacin de la JDK
Los programas Java (archivos *.java) son compilados por medio del comando javac
{nombre_archivo.java} de la JDK creando bytecodes (archivos *.class) compactos, sonestos
bytecodes lo que el JVM por medio del comando java {nombre_archivo.class} lee, interpreta y
convierte a cdigo mquina para ejecutar el programa en el ordenador.
Cuandose descarga una applet Java de la red Internet, lo que realmente est descargandoes un
archivo de bytecodes (archivo *.class) y este es interpretado por la JVM.
La compilacin se le debe realizar a la clase que contenga el mtodo principal main() o init() en caso
de que sean applets. El compilador se encargara de ir a las otras clases usadas en estos mtodos y
realizar su compilacin tambin.

Instalacin del Java Development Kit (JDK) en


Windows

a.) Primeramente se debe descargar de la pgina de Sun Microsystems (http://java.sun.com)


(
la JDK,
segn la plataforma y la versin que requiera
requiera, (Por legalidad y compras de acciones
empresariales
actualmente
ctualmente
est
pgina
hace
una
redireccin
a
http://www.oracle.com/technetwork/java/index.html de Oracle).
http://www.oracle.com/technetwork/java/index.html,

FiguraNro 3: Link de descarga desde la pgina de Oracle


b.) Instalar en su computadora la versin de la JDK descargada (solo sigue cada uno de los pasos).

FiguraNro 4: Programa de instalacin dela


a JDK
c.) Configurar
onfigurar las variables de entono PATH y/o CLASSPATH (classpath es solo para Windows vista
o 7).
1. Pulsa click derecho sobre Equipo o Mi PC dependiendo del sistema.

FiguraNro 5: Click derecho sobre el equipo (Mi PC)


2. Pulsar un click sobre el men izquierdo en Configuracin avanzada de sistema.

FiguraNro 6: Click sobre configuracin avanzada de sistema


3. Pulsar un click en la pestaa opciones avanzadas y variables de entorno.

Figura Nro 7: Opciones avanzadas

Figura Nro 8: Variables de entorno

4. Localizo en la zona de variables del sistema una que se llama Path y pulso sobre editar.

Figura Nro 9:Abrir


9:
para Editar la variable PATH y/o
o CLASSPATH
5. No borramos nada de lo que contiene la variable Path y/o CLASSPATH,
CLASSPATH seguido de lo que
contiene colocamos un ; sin espacios y la direccin donde est instalado nuestra JDK
JDK,
especialmente la carpeta bin. (en mi caso es C:\Program
Program Files\Java\jdk1.6.0_24\bin),
Files
concluimos pulsando sobre el boton aceptar.

Figura Nro 10: Editar la variable PATH y/o


o CLASSPATH
6. Este paso aplica es solo para windows vista o 7 y es opcional en algunos equipos,
equipos debes
repetir el paso 4 y 5, pero esta vez debes localizar la variable de entorno CLASSPATH y a
esta agregar la direccin de los archivos ((src.zipytools.jar) segn mi caso los valores son
losque
que est dentro de las comillas C:\ProgramFiles\Java\jdk1.6.0_10
jdk1.6.0_10\src.zip;C:\Program
Files\Java\jdk1.6.0_10
jdk1.6.0_10\lib\tools.jar. (Por
or ultimo no olvides presionar el botn aceptar).
correctamente
7. Es recomendable reiniciar el equipo para que la configuracin se afecte correctamente,
aunque esto no siempre es necesario.
MSDos y escribimos el comando de ejecucin de programas de Javade
Java la
d.) Abre una consola de MS
JRE (java) y de la JDK el compilador (javac),
(
para verificar que la configuracin concluyo con
xito. (no olvide presionar la tecla enter de su teclado).

Figura Nro 11: Prueba de configuracin de JDK


e.) Abre un editor de texto y escribo el siguiente programa
programa, al guardarlo le coloco el mismo nombre
que se le asigne a la clase ms el consecutivo de .java en este caso
caso. (Ejemplo.java).

Programa Nro 1: Programa escrito en un editor de texto

Figura Nro 12: Como guardar el archivo


f.) Desde MSDos debo acceder a la carpeta donde se guard nuestro archivo (Ejemplo.java).
Escribiendo la letra de la unidad de disco seguido de dos punto :
y la presin de la tecla enter
permite ingresar a la unidad de disco (d:), escribiendo
scribiendo las letras cd

seguido decarpeta y la
presin de la letra enter permite acceder la carpeta donde est guardado nuestro programa
(cdprogramas).

Figura Nro 13: Acceder a la


unidad de disco

Figura Nro 14: Acceder a la carpeta


donde est el programa

g.) Compilar el programaescribiendo el comando de


e ejecucin de java (javac)
(
seguido del nombre
del programa y el tipo de archivo (javac
(
Ejemplo.java)luego
)luego se debe presionar la tecla enter.
Ejecutar el programa (java Ejemplo).
Ejemplo

Figura Nro 15:Compilar


15:
el programa
Figura Nro16:
Nro16:Ejecucin del
programa

Arquitectura de libreras de Java (API Interfaz de


Programacin de Aplicaciones)
Cada una de las versiones que Sun Microsystems lanza del JDK, se acompaa de una serie de
bibliotecas con clases estndar que valen como referencia para todos los programadores en Java.
Estas clases se pueden incluir en los programas Java, sin temor a fallos de portabilidad. Adems,
estn
tn bien documentadas (mediante pginas Web), y organizadas en paquetes y en un gran rbol de
herencia.
A este conjunto de paquetes de libreras(o
(o bibliotecas) se le conoce como la API de Java (Application
Programming Interface),, es contenidointerno de la JDKo JRE en un archivo comprimido de nombre
src.zip.
Los paquetesbsicos que ofrece la API de Java, son los siguientes:
a. Paquetes de utilidades

java.lang:: Fundamental para el lenguaje Java porque Incluye clases como String o
StringBuffer.

java.io:: Para la entrada y salida a travs de flujos de datos, y ficheros del sistema.

java.util:: Contiene colecciones de datos y clases, el modelo de eventos, facilidades horarias,


generacin aleatoria de nmeros, y otras clases de utilidad.

java.math:: Clases para


para realizar aritmtica con la precisin que se desee.

java.text:: Clases e interfaces para manejo de texto, fechas, nmeros y mensajes de una
manera independiente a los lenguajes naturales.

java.security:: Clases e interfaces para seguridad


seguridad en Java: Encrip
Encriptacin RSA.

b. Paquetes para el desarrollo grfico

java.applet:: Para crear applets y clases que las applets utilizan para comunicarse con su
contexto.

java.awt:: Para crear interfaces con el usuario, y para dibujar imgenes y grficos.

javax.swing: Conjunto de componentes grficos que funcionan igual en todas las plataformas
que Java soporta.

javax.accesibility: Da soporte a clases de accesibilidad para personas discapacitadas.

java.beans: Para el desarrollo de JavaBeans.

c. Paquetes para el desarrollo en red

java.net: Clases para aplicaciones de red.

java.sql: Paquete que contiene el JDBC, para conexin de programas Java con Bases de
datos.

java.rmi: Paquete RMI, para localizar objetos remotos, comunicarse con ellos e incluso enviar
objetos como parmetros de un objeto a otro.

Plataformas de Java
Java es un lenguaje que actualmente se encuentra en todas partes gracias al soporte que presta
para programar aplicaciones.Java 2 Enterprise Edition (J2EE) permite la creacin de programas
para computadoras que prestan servicios a otras aplicaciones, Java 2 Standard Edition (J2SE)
permite la creacin de programas a computadores convencionales, Java 2 Micro Edition (J2ME)
permite la programacin de aplicacin para la tecnologa Mvil y Java Card permite la programacin
de tarjetas(dbitos, crditos, entre otros).

IDEs y Editores de desarrollo del lenguaje Java


Los Entornos de Desarrollo Integrado (IDEs) son programasinformticos compuesto por muchas
herramientas de programacin, puede dedicarse exclusivamente a un solo lenguaje o a varios. Un
IDE es un entorno de programacin que ha sido empaquetado como un programa de aplicacin, es
decir, consiste en un Editor de cdigo, un Compilador, un Depurador y un constructor de Interfaz
Grfica de Usuario (GUI).

Eclipse y Netbeans, Soporta mltiples lenguajes como: Java, C/C++, PHP, entre otros.

JCreator, es un IDE pero que no incorpora un constructor de interfaz grfica de usuario.

JBuilder, Soporta mltiples lenguajes como: Java, C/C++, PHP, entre otros.

Los editores solo permiten escribir los cdigos de los programas y guardarlos en el formato
establecido para que pueda ser interpretado por el compilador.

Notepad, Es un editor de mltiples lenguajes como: Java, PHP, entre otros.

CAPITULO 2 FUNDAMENTOS DEL


LENGUAJEDE PROGRAMACIN JAVA
Java es un lenguaje orientado a objetos, que se deriva en alto grado de C++, de tal forma que puede
ser considerado como un C++ nuevo y modernizado o bien como un C++ al que se le han amputado
elementos heredados del lenguaje estructurado C. Con este comentario no se quiere decir que Java
fue desarrollado en C o C++, Java fue desarrollado desde cero,pero los creadores del lenguaje al ser
experto en el lenguajes C y C++ trataron de que Java lo superada, pero evitando causar un duro
impacto en los programadores de C o C++, por eso su parecido en la sintaxis del lenguaje. Es muy
fcil que un programador de C o C++ migre fcilmente a programar en Java.

Tokens
La estructura de un programa Java est definida porTokens, Un token es el elemento ms pequeo
de un programa que es significativo para el compilador. Cuando se compila un programa Java, el
compilador analiza el texto, reconoce y elimina los espacios en blanco y comentarios y extrae tokens
individuales. Los tokens resultantes se compilan, traducindolos a cdigo de byte Java, que es
independiente del sistema e interpretable dentro de un entorno Java.Los cdigos de byte se ajustan al
sistema de Mquina Virtual Java (JVM). Los tokens Java pueden subdividirse en cinco categoras:
Identificadores, palabras clave, constantes, operadores y separadores.
a.) Indicadores, Los identificadores son tokens que representan nombres asignables a variables,
mtodos y clases para identificarlos de forma nica ante el compilador y darles nombres con
sentido para el programador.
Todos los identificadores de Java diferencian entre maysculas y minsculas (Java es sensible a
maysculas y minsculas),todos los identificadorescomienza con una letra o un subrayado (_).
Los caracteres posteriores del identificador pueden incluir las cifras del 0 al 9. Como nombres de
identificadores no se pueden usar palabras claves reservadas por Java.
Adems de las restricciones mencionadas existen propuestas de estilo. Es una prctica estndar
de Java denominar:

Las clases o interfaces: Iniciar con Letra mayscula cada comienzo de nueva palabrao
separarlas con un _(Clase o MiClase o SumaMultiple o Interfacez o MiInterfaz).

Los mtodos: Iniciar con letra minscula pero si es un identificador compuesto esta
segunda palabra debe comenzar con mayscula o un _(metodo() o metodoLargo() o
sumaOperativa()).

Las variables: Iniciar con letra minscula pero si es un identificador compuesto esta
segunda palabra debe comenzar con mayscula o un _ (altura o alturaMedia).

Las constantes: Se deben escribir todo el identificado con letras maysculas(CONSTATE o


CONSTANTE_LARGA).

Los paquetes: Se deben escribir todo el identificador con letras en minsculas


(java.paquete.subpaquete
java.paquete.subpaquete).

Sin entrar en ms detalle en el siguiente ejemplo se estructuras cada uno de los identificadores.

Programa Nro 2:Ejemplo


Ejemplo de identificadores
b.) Palabras claves,, Las palabras claves son aquellos identificadores reservados por Java para un
objetivo determinado y se usan slo de la forma limitada y especfica. Java tiene un conjunto de
palabras clave ms rico que C o que C++
C++. Las siguientes palabras son reservadas por Java:
abstact

boolean

break

byte

byvalue

case

cast

catch

char

class

const

continue

default

do

double

else

extends

false

final

finally

float

for

future

generic

goto

if

implements

import

inner

instanceof

int

interface

long

native

new

null

operator

outer

package

private

protected

public

rest

return

short

static

super

switch

syncroniced

this

throw

throws

transient

true

try

var

void

volatile

while

Tabla Nro 1: Palabras reservadas Java

Las palabras subrayadas son palabras reservadas pero no se utilizan en Java. La definicin de
estas palabras clave no se ha revelado, ni se tiene un calendario respecto a cundo estar
alguna de ellas en la especificacin o en alguna de las implementaciones de Java.
c.) Literales o Constantes
onstantes, Los literales son sintaxis para asignar valores constantesa
constantes las variables.
Cada variable es de un tipo de datos concreto, y dichos tipos de datos tienen sus propios literales
(identificador + constante)
constante).Mediante
.Mediante determinados modificadores (static
(
y final) podremos crear
variables constantes,, que no modifican su valor durante
durante la ejecucin de un programa. Las
constantes pueden ser numricas, booleanas, caracteres (Unicode) o cadenas ((String).

Programa Nro 3: Ejemplodeclaracin


Ejemplo
de literales o constantes
Se puede observar en este ejemplo la utilizacin de la palabra final
final y final static, con la palabra
reservada final se coloca la variable constante por ese motivo no se puede modificar su valor, la
variable final static al igual que la anterior es constante
constante pero tiene en particular que esta se
puede acceder desde fuera de cualquier claseyy si no tiene la palabra final se puede modificar.

Programa Nro 4: Acceso a la constante PI

Programa Nro 5: Acceso a la constante ALTURA_MAXIMA

Programa Nro 6:
6:Declaracin variable static que no es constante

Programa Nro 7: Acceso a variable static


d.) Operadores,, Conocidos tambin como operando,, indican una evaluacin o computacin para
ser realizada en objetos o datos, y en definitiva sobre identificadores o constantes. Los
operadores admitidos por Java son de cuatro tipos:

Operadores Aritmticos
Operador
+
*
/
%

Uso
op1 + op2
op1 - op2
op1 * op2
op1 / op2
op1 % op2

Descripcin
Suma op1 y op2
Resta op2 de op1
Multiplica op1 por op2
Divide op1 por op2
Calcula el resto de dividir op1 entre op2

Tabla Nro 2: Operadores aritmticos binarios de Java

Operadores de Asignacin
Operador
=
+=
-=
*=
/=
%=
&=

Uso
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

Tabla Nro 3: Operadores de atajo de asignacin en java

Operadores Relacionales,
Relacionales Esto tipo operador se diferencia de los dems porque
comprobada la operacin devuelve un valor de verdad o falsedad.
falsedad

Operador
>
>=
<
<=
==
!=

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

Devuelve verdadero o falso


op1 es mayor que op2
op1 es mayor o igual que op2
op1 es menor que op2
op1 es menor o igual que op2
op1 y op2 son iguales
op1 y op2 son distintos

Tabla Nro 4: Operadores de relacionales en Java

Operadores especiales
Operador Uso
++
op++
++
++op
-op----op

Descripcin
Incrementa op en 1; se evala al valor anterior al incremento
Incrementa op en 1; se evala al valor posterior al incremento
Decrementa op en 1; se evala al valor anterior al incremento
Decrementa op en 1; se evala al valor posterior al incremento
Tabla Nro 5: Operaciones especiales en Java

Todos los operadores en Java tienen un nivel de precedenciapara determinar al compilador el


orden de ejecucin de los operando.Los operadores mencionados a continuacin en la misma
lnea tienen igual precedencia.
Tipo de operadores
Operadores posfijos
Operadores unarios
Creacin o conversin
Multiplicacin
Suma
Desplazamiento
Comparacin
Igualdad
AND a nivel de bit
OR a nivel de bit
XOR a nivel de bit
AND lgico
OR lgico
Condicional
Asignacin

Operadores de este tipo


[ ] . (parametros) expr++ expr-++expr --expr +expr -expr ~ !
new (tipo) expr
*/%
+<<
<<= = instanceof
== !=
&
^
|
&&
||
?:
= += -= *= /= %= &= ^= |= <<= = =

Tabla Nro 6: Precedencia de operadores en Java


Los operadores binarios tienen la misma prioridad excepto los operadores de asignacin, porque
este se evala por el compilador de derecha a izquierda, contario a los dems que se evalan de
izquierda a derecha.
e.) Separadores, Se usan para informar al compilador de Java cmo estn agrupadas las cosas en
el cdigo.Los separadores admitidos por Java son: { } () , ; . []

Expresiones
Una expresin es un conjunto o combinacin de variables y llamadas de mtodos unidas por
operadores,construidas de acuerdo a la sintaxis del lenguaje. El comportamiento real de un programa
Java se logra a travs de expresiones, que se agrupan para
para crear sentencias.
Java identifica dos tipos de expresiones bsicas Aritmticas y Lgicas
gicas, las expresiones aritmticas
se caracterizan porque los operandos que intervienen son nmero,
nmero los resultados tambin son
numricos y los operadores son aritmticos (+,- , *, entre otros);; las expresiones lgicas los
operadores son lgicas o relacionales (<=, ==, &&, ||, entre otros) y los resultados solo pueden ser
verdaderos o falsos.
Una sentencia en Java es una expresin que ter
termina
mina con un punto y como ; y se pueden incluir
varias sentencias en una sola lnea. Aunque lo habitual es utilizar una lnea por cada sentencia.

Programa Nro 8: Conjunto de sentencias y expresiones


En el ejemplo anterior se muestran seis sentencias, lnea 5, 6, 7, 9,, 11 y 12, la sentencia de la lnea
11 es especial porque es condicional
condicional.. Dos expresiones en la lnea 9 y 11 aunque se podra pensar
que la lnea 12 tambin es una expresin por tener llamada al mtodo println y la concatenacin de
caracteres con el operador +.
Las
as expresiones son utilizadas para realizar clculos, para asignar valores a variables, y para ayudar
a controlar la ejecucin del flujo del programa. La tarea de una expresin se compone de dos partes:
realiza el clculo
ulo indicado por los elementos de la expresin y devuelve el valor obtenido como
resultado del clculo.
El tipo de datos del valor devuelto por una expresin depende de los elementos utilizados en la
expresin. La expresin suma = a + b
b; devuelve un entero porque a = 10 y b = 5, ambos son
enterospor tanto devuelve un
u valor del mismo tipo.. Otras expresiones devuelven
devuelv valores booleanos,
cadenas, entre otros,, como:x=suma
como
% 2 == 0 en donde aplica un operador aritmtica para
determinar el mdulo
lo de divisin y uno relacional para identificar la igualdad, si es igual a cero
devuelve true, caso contrario false.

Una expresin de llamada a un mtodo se evala al valor de retorno del mtodo; as el tipo de dato
de la expresin de llamada a un mtodo es el mismo que el tipo de dato del valor de retorno de ese
mtodo.
Como se puede observar, Java permite construir sentencias (expresiones compuestas) a partir de
varias expresiones ms pequeas con tal que los tipos de datos requeridos por una parte de la
expresin concuerden con los tipos de datos de la otra.

Bloques y mbitos
En Java el cdigo fuente est dividido en partes separadas por llaves, denominas bloques. Cada
bloque existe independiente de lo que est fuera de l, agrupando en su interior sentencias o
expresiones relacionadas.Java presenta una jerarqua de bloques, externos e internos o subbloques.
El concepto de mbito est estrechamente relacionado con el concepto de bloque y es muy
importante cuando se trabaja con variables en Java. El mbito se refiere a cmo las secciones de un
programa (bloques) afectan el tiempo de vida de las variables.
Toda variable tiene un mbito en el que es usada, que viene determinado por los bloques. Una
variable definida en un bloque interno no es visible por el bloque externo.
Las llaves de separacin son importantes no slo en un sentido lgico, ya que son la forma en que el
compilador diferencie dnde acaba una seccin de cdigo y dnde comienza otra, sino que tienen
una connotacin esttica que facilita la lectura de los programas al ser humano.
As mismo, para identificar los diferentes bloques se utilizan sangras. Las sangras se utilizan para el
programador, no para el compilador. La sangra (tambin denominada indentacin o tabulacin).
publicclassCalcular{// Bloque externo
int x = 1;
public Calcular(){ // Bloque interno
inty = 2;
}
x = y; // Da error porqueyest fuera de mbito al que pertenece
publicvoid suma(){ // Bloque interno
inty = 2;
x=y; // Ejecuta correctamente ya que x si es visible en todos los bloques
o mbitos internosyest internamente en el mbito
}
}// Fin del bloque externo
Programa Nro 9: Funcin con bloques internos

Tipos de datos
Los tipos de datos aceptados por el lenguaje de programacin Java determinan los mtodos de
almacenamiento de la informacin que contendrn las variables.
Los tipos de datos en Java pueden dividirse en dos categoras: Simples o primitivos y Compuesto.
Los tipos de datos simples son tipos nucleares que no se derivan de otros tipos, como los enteros, los
de coma flotante, booleanos y de carcter. Los tipos compuestos se basan en los tipos simples, e
incluyen las cadenas, las matrices y tanto las clases como las interfaces, en general (Ejemplo: un
objeto que utiliza diferentes atributos de tipo String, double, float y boolean para realizar sus
operaciones es un tipo de dato compuesto objeto).

Tipo de datos enteros, Se usan para representar nmeros enteros con signo.
Tipo dato
Byte
short
Int
Long

Tamao
Valor Mnimo
Valor Mximo
1Byte (8 bits)
-128
127
2 Bytes (16 bits)
-32.768
32.767
4 Bytes (32 bits)
-2.147.483.648
2.147.483.647
8 Bytes (64 bits) -9.223.372.036.854.775.808 9.223.372.036.854.775.807
Tabla Nro 7: Tipos de datos enteros

Tipos de datos decimales, Se usan para representar nmeros con partes fraccionarias. En Java
se pueden usar dos tipos de datos decimales: float y double. El primero reserva almacenamiento
para un nmero de precisin simple de 4 bytes y el segundo lo hace para un nmero de precisin
de 8 bytes.
Tipo
Float
Doubl

Tamao
Valor Mnimo
Valor Mximo
4 Byte (32 bits)
-3.402823 a -1.401298
1.401298 a 3.402823
8 Bytes (64 bits)
Tabla Nro 8: Tipos de datos numricos decimales

Tipo de datos boolean, Se usa para almacenar variables que presenten dos estados, que sern
representados por los valores true y false.

Tipo de datos char, Se usa para almacenar caracteres Unicode simples. Debido a que el
conjunto de caracteres Unicode se compone de valores de 16 bits, el tipo de datos char se
almacena en un entero sin signo de 16 bits.

Tipo de datos String, En Java se tratan como una clase especial llamada String. Las cadenas
se gestionan internamente por medio de una instancia de la clase String. Una instancia de la
clase String es un objeto que ha sido creado siguiendo la descripcin de la clase.

Conversin de tipos de dato


La conversin de tipos de datos en Java se refiera a la posibilidad de cambiar de un tipo de dato en
especial a otro, Java ofrece un grupo de clases especiales para crear conversiones de tipos de datos.
Por ejemplo si deseamos convertir un tipo de dato String a int se debe utilizar el la clase Integer con
mtodo parseInt(variable String), y segn el tipo de dato que se desee as se llama la clase y el
consecutivo del mtodo parse.

Programa Nro 10: Conversin de tipos de datos

Casting a nuevos tipos de datos


El casting es una forma de conversin rpida entre tipos de una misma especificacin, grupo o
familia, por ejemplo numri
numricos
cos (enteros, doubl, float, long, entre otros), caracteres (String y char).

Programa Nro 11: Conversin de tipos de datos por Casting

Variables
Una Variables no es ms que un nombre simblico que identifica una posicin en memoria. Para
utilizar una variable en un mbito de un programa hay que declararla en un bloque de ejecucin,
ejecucin Los
identificadores de las variables son los nombres que utilizamos para referirnos a ellas, Al declarar una
variable hay que definirle su tipo y en una m
misma
isma declaracin se pueden declarar varias variables
separadas por coma. Esta
Est accin del programador permite al ordenador prepararlo para los
siguientes:

El ordenador conoce as como codificar la informacin que se va a almacenar en la posicin


de memoria correspondiente.

Al declarar una variable, se reserva el espacio de memoria necesario para almacenar el valor
del tipo de la variable.

El identificador asociado a la variable se puede utilizar para acceder al dato almacenado en


memoria y para modificarlo.
modificarlo

Estructura de declaracin de variables en Java


<Tipo de dato> + <nombre del identificador>;
identificador

Ejemplo: int x; //Declara una variable x de tipo entero

Comentarios y espacios en blanco


El compilador de Java reconoce y elimina los espacios en blanco, tabuladores, retornos de carro y
comentarios durante el anlisis del cdigo fuente. Los comentarios se pueden presentar en tres
formatos distintos:
Formato
/*comentario*/
//comentario
/**comentario*/

Forma de uso
Se ignoran todos los caracteres entre /* */. Proviene del C
Se ignoran todos los caracteres detrs de // hasta el fin de
lnea. Proviene del C++
Lo mismo que /* */ pero se podrn utilizar para documentacin
automtica.
Tabla Nro 8: Formatos para comentarios

Estructura bsica de un programa en Java


Teniendo en cuenta que Java es un lenguaje de programacin orientado a objetos es indispensable
que como mnimo exista en el programa una clase y un mtodo publico esttico main, que es el que
el compilador busca para arrancar la ejecucin de un programa.
class MiClase{
public static void main(String arg[]){
/*Dentro de este bloque se debe ingresar todo el cdigolgicoque
debe ejecutar nuestro programa*/
}
}
Programa Nro 12: Estructura bsica de un programa en Java

Imprimir un mensaje por consola


La impresin en consola representa muestra los resultados en una pantalla MS-DOS o en la consola
segn el editor o IDE que se utilice para hacer las pruebas.

class MiClase{
public static void main(String arg[]){
System.out.print(Hola mundo!!!); /*Esta sentencia permite imprimir
un mensaje por consola*/
}
}
Programa Nro 13: Impresin por consola de un mensaje

Leer e imprimir un mensaje por consola


En Java las entradas por el teclado y las salidas en pantalla estn reguladas a travs de la clase
System,, esta clase pertenece al paquete java.lang y agrupo diversos mtodos y objetos,
objetos entre los
que encuentran tres objetosmsde
objetos
forma static, por lo que se puede acceder a ellos sin ser
declarados en la clase que se desee usar:
usar

in es un objeto de la clase InputStreampara


para leer de cualquier dispositivo de entrada
(habitualmente desde el teclado).
teclado) Se utiliza as: System.in.

outes un objeto de la clase PrintStreampara imprimirloss datos en la salida estndar del sistema
(normalmente asociado con la pantalla). Se utiliza as: System.out
System.out.

err es un objeto de la clasePrintStreamusado


usado para mensajes de error que salen tambin por
pantalla pero defecto. Se utiliza as: System.err.
System
in (InputStream)
out (PrintStream)
err (PrintStream)
Figura Nro 17:Jerarqua de la clase System

System.in solo ofrece un mtodo para leer datos read(),este


este lee un carcter y devuelve un
entero,System.out ofrece dos mtodos para imprimir en pantalla el argumento que se le envi por
parmetro print(argumento)y
print(argumento) println(argumento),, la diferencia entre ellos es que el println coloca
un \no salto de lnea, al final.
final

Figura Nro 18: Clase System.java Objeto in

Figura Nro 19:


19 Clase System.java Objeto out y err

Figura Nro 20: Clase InputStream.java mtodo read()

Figura Nro 21: Clase PrintStream.java mtodo print


print(String s)

Figura Nro 22: Clase PrintStream.java mtodo println(String x)


Todas las clases mencionadas anteriormente se encuentran en la JDK Kit de desarrollo de Java y
estn disponibles para ser utilizadas de forma directa o indirectamente.
Para Java, un InputStream es cualquier cosa de la que se leen bytes. Puede ser del teclado, un
fichero, un socket, un archivo plano, o cualquier otro dispositivo de entrada.
Un InputStream es para leer bytes, es decir que solo tiene mtodos para leer tipo de dato bytes (un
byte es un entero de -128
128 a 127
127). Nosotros
osotros queremos leer palabras o nmeros del teclado, no bytes.
Si escribimos en el teclado la letra A mayscula y la leemos con System.in,
System.in obtendremos un entero
de valor 65, que es el valor del byte correspondiente a la A. Para
ra obtener el carcter ingresado por
consola se debe hacer un casting con el tipo de dato char que me convierta ese entero en un nico
carcter.

Programa Nro 14: Lectura (System.in)e impresin (System.out) un dato por consola

Figura Nro 23: Compilacin y ejecucin del programa de lectura


y escritura de un dato por consola

Programa Nro 15: Lectura (System.in)e impresin (System.out)


de un dato por consola con casting

Figura Nro 24: Compilacin y ejecucin del programa de lectura


y escritura de un dato por consola
Si se desea crear un aplicativo que lee una cadena de caracteres se debe repetir el mtodo
read()hasta el usuario presiones una salto de lnea con la tecla Enter.
nter.

Programa Nro 16: Lectura (System.in)e


e impresin (System.out)
una cadena de caracteres

Figura Nro 25: Lectura (System.in)e impresin (System.out)


una cadena de caracteres
Para Java, una clase Reader es un objeto que lee caracteres. Un Reader tiene mtodos para leer
caracteres. Con esta clase ya podramos trabajar. El problema es que seguimos teniendo System.in,
que es un InputStream y no un Reader.
Cmo convertimos el System.in en Reader? Hay una clase en Java,
ava, la InputStreamReader, que
nos hace esta conversin. Para obtener un Reader,, nicamente tenemos que instanciar un
InputStreamReader pasndole en el constructor un InputStream.. El cdigo es el siguiente
siguiente:
InputStreamReader isr = new InputStreamReader(System.in);
Estamos declarando una variable "isr" de tipo InputStreamReader.. Creamos un objeto de esta clase
haciendo new InputStreamReader(...).
InputStreamReader(...). Entre parntesis le pasamos el InputStream que queremos
convertir a Reader,, en este caso, el System.in.
Si estamos leyendo de teclado, el que usa el programa puede escribir 10 caracteres o 20 o 13. Si
usamos InputStreamReader,
InputStreamReader solo lee con el mtodo read()el
el primer carcter, Tenemos que decirle
cuntos caracteres queremos leer, o bien ir pidiendo de uno en uno
no hasta que no queramos ms. En
realidad el InputStreamReader funciona muy igual al InputStream con el System.in.read(), pero es
requerido de forma especial para poder leer cadenas de caracteres con la utilizacin de otros objetos.

Programa Nro 17: Lectura (InputStreamReader) e impresin (System.out) una cadena


El resultado de la ejecucin de este programa es igual segn la figura numero 24, y si se le cambia el
tipo de dato de la variable carcter a int y quitamos el castin con (char) nos devolver un byte.

Entonces podemos decir que la clase InputStreamReader sola como tal no funciona para recibir
cadenas de caracteres, pero lla claseBufferedReader a partir de otro Reader cualquiera (por ejemplo
el InputStreamReader), si nos permite obtener una cadena de caracteres (String). El cdigo es:
BufferedReader br = new BufferedReader (isr);
El funcionamiento de esta clase es igual que el InputStreamReader.. Cuando le pedimos
ped
una lnea
completa de caracteres (un String), ella se lo pide al Readerlo que tenga dentro y los convierte en
String.
Para pedirle un String,, se usa el mtodo readLine().. Este mtodo lee todos los caracteres tecleados
(recibidos si fuera otro dispositivo
dispositivo de entrada) hasta que encuentra la pulsacin de la tecla <INTRO>,
<RETURN> o como quieras llamarla.
String texto = br.readLine();

Figura Nro 26:Jerarqua


Jerarqua necesaria para leer una cadena de caracteres por consola
El siguiente ejemplo leer por teclado una cadena de caracteres y lo
o guarda en una variable texto

de
tipo de dato String.

Programa Nro 18: Lectura e impresin de una cadena completa

Figura Nro 27:Lectura


2 Lectura e impresin de una cadena completa
Ahora con la
a implementacin de esta clase Scanner,
canner, nos podemos ahorrar algo de cdigo y hacerlo
de la siguiente forma:

Programa Nro 19: Lectura e impresin de una cadena completa clase Scanner
La clase scanner recibe por parmetro un InputStream (System.in) y con el mtodo next() lee una
cadena de caracteres, es decir con esta clase no se requiere la clase intermedio InputStreamReader,
para convertir un byte a un carcter.
La nica excepcin que tenemos al utilizar la clase Scanner es que ella nos permite leer una cadena
de caracteres mientras no
o tenga espacios, es decir que si ingresa en la cadena un espacio, a partir
de l no es leda.

Estructuras de control
Las estructuras de control en un programa permiten modificar la ruta de ejecucin de un programa en
Java. El lenguaje Java soporta las siguientes estructuras de control:
Sentencia
Clave
Toma de decisin
if-else, switch-case
case
Bucle o ciclos
for, while, do-while
while
Miscelneo
break, continue, label:, return
return, goto
Tabla Nro 10: Estructuras de control

Las sentencias condicionales: if,


if Se trata de una estructura de control que permite redirigir un
curso de accin segn la evaluacin de una condicin
condicino
o expresiones simple, sea falsa o
verdadera.
/*Estructura condicional
ondicional simple*/
if (condicion){
//En este bloque se ejecutan las sentencias requeridas
}

Programa Nro 20: Verifica si un nmero es par

Figura Nro 28:Ejecucin programa 20 (Verificacin si un nmero es par)


/*Condicional simple*/
if(condicion){
//En este bloque se ejecutan las sentencias requeridas
}else{
//En este bloque se ejecutan las sentencias requeridas
}

Programa Nro 21: Verifica si un nmero es par o impar

Figura Nro 29:Ejecucin programa 21 (Verificacin si un nmero es par o impar)


/*Estructura
Estructura condicional compuesta*/
compuesta
if(condicion){
//En este bloque se ejecutan las sentencias requeridas
}else if(condicion){
//En este bloque se ejecutan las sentencias requeridas
}else if(condicion){
//En este bloque se ejecutan las sentencias requeridas
}else{
//En este bloque se ejecutan las sentencias
senten
requeridas
}

Programa Nro 22: Estructura condicional compuesta


El programa anterior determina dado tres lados de un triangulo, si un triangulo es Issceles,
equiltero y escaleno, sabiendo que los tringulos equilteros tienen sus tres lados iguales,
igual
los
escalenos tienen sus tres lados distintos y los tringulos Issceles tienen al menos dos lados dos
lados iguales.

Figura Nro 30:Ejecucin programa 22


Puede darse el caso en un aplicativo donde toque realizar Condiciones anidadas es decir un
condicional de cualquier tipo con otro condicional interno.
/*Estructura condicional
ondicional anidados
anidados*/
if(condicion){

//Condicional
Condicional interno
if (condicion){
//En este bloque se ejecutan las sentencias requeridas
}
}else{
//En este bloque se ejecutan las sentencias requeridas
}

Programa Nro 23: Estructura condicional anidadas


El programa anterior recibe un primer dato por teclado y dependiendo su valor el programa
ejecuta una serie de sentencias ms entre estas una estructura condicional compuesta.

Las sentencias condicionales: switch, Se trata de una alternativa de la Bifurcacin de la


sentencia if(condicion){}
(condicion){}elseif(condicion){}else{} cuando se compra
comp
la misma expresin con
distintos valores. Los case sirven para agrupar en un bloque las sentencias que ha de ejecutar.
switch(op){
case 1:
/*Ejecuta las sentencias */
break;
case 2:
/*Ejecuta las sentencias */
break;
case 3:
/*Ejecuta las sentencias */

break;
case 4:
/*Ejecuta las sentencias */
break;
default:
/*Ejecuta las sentencias por defecto si no se cumple ninguna de los casos anteriores
anteriores*/
}
La variable opcin es de tipo entero y recibe un valor de 1 a N y dependiendo de este valor
ejecuta las sentencias programadas en cada caso.

Programa Nro 24: Estructura de control switch


Al ejecutar el programa anterior notara que su funcionamiento ser igual al programa
progra
numero 23.
Entonces podemos concluir que un switch es una representacin condicional que utiliza casos
(case) en vez de if.

Sentencia condicional en una sola lnea,


lnea, este sentencia representa un if else simple, en est
se estipulada la condicin if con el operador ? y el else un :.
expresion Boolean?operacin
Boolean
verdadera (sentencias): operacin falsa (sentencias);
El siguiente ejemplo utiliza una variable entera identificada con nombre resultado y que toma el
valor de las sentencias (a+b) o (a
(a-b) segn el condicional (a<b).

Programa Nro 25: Estructura condicional simple en una sola lnea

Sentencias de iteracin o bucles for, while y do - while: un bucle se utiliza para realizar un
proceso repetitivo, las sentencias ejecutadas dentro del bloque del bucle se ejecutan mientras
que la condicin de parada sea una verdad.
for(inicializacin;
(inicializacin; condicin; incremento){
sentencias;
}
inicializacin;
while(condicion){
sentencias;
incremento;
}
do{
sentencias;
}while(condicion);
La diferencia del bucle do while con respecto a los dems es que este por lo menos deja
ejecutar las sentencias internas en el bloque una sola vez,
vez, y la continuacin iterativa de ejecucin
depender
der de que la condicin sea un valor de verdad.

Programa Nro 26: Estructura


Estructura repetitiva do{ }while();

Figura Nro 31:Ejecucin programa 26


Como podemos observar en el anterior ejemplo nuestro programa muestra al usuario un men en
el cual podr seleccionar entre dos opciones y el programa responder segn la opcin
seleccionada, adems tambin pedir una respuesta sobre si desea o no continuar, segn esta

respuesta
a y la condicin de verdad del while se repita el ciclo. Podemos ver que la estructura
do{ }while() permite la ejecucin de su cdigo interno al menos una vez.

Programa Nro 27: Estructura repetitiva while;

Figura Nro 32:Ejecucin programa 27


El ejemplo anterior muestra como se implementa la estructura de control repetitiva while, en su
ejecucin contrario a la sentencia do{}while(), requiere de que se cumpla desde su primera
ejecucin la condicin establecida en la lnea 12, de lo contrario no entrara a ejecutar sus
sentencias internas. La lnea 11 inicializa la variable de control i y en la lnea 14 esta variable se
incrementa y la lnea 12 verifica en cada iteracin la condicin.

Programa Nro 28: Estructura repetitiva for

Sentencias de salto,, break y continue, este tipo de sentencias permite determinar el lugar
donde continuara una ejecucin de un programa, el lugar seleccionado es identificado por una
etiqueta establecida a un bloque {}, y el lugar donde se deben incluir es cuando se tienen uno o
ms buques dentro de otro.

Programa Nro 29: Estructuras repetitivas con etiquetas y sentencias de salto

Figura Nro 33:Ejecucin programa 29

Este pequeo programa permitir detener la ejecucin cuando se ejecuta un break llevndolo a
una etiqueta llamada
a etiqueta.
etiqueta El break solo detiene un bucle en ejecucin.

Programa Nro 30: Estructuras repetitivas con etiquetas y sentencias de salto

Figura Nro 34:Ejecucin programa 30


En este ejemplo el continue salta a una etiqueta pero contina
tina la ejecucin del programa, es
decir no detiene el nmero de iteraciones que se planearon realizar.

Contadores
Un contador es una variable cuyo valor es incrementado o decrementado en una cantidad constante
cada vez que se produce un determinado suceso o accin. Los contadores se utilizan con la finalidad
de contar sucesos o acciones internas de un bucle; deben realizar una operacin de inicializacin y
posteriormente las sucesivas de incremento o decremento del mismo. La inicializacin consiste en
asignarle al contador un valor.
Representacin:
<nombre
del
Si en vez de
Ejemplo: i = i + 1

contador>=<nombre
contador> nombre
del
incremento es decremento se

contador>
coloca un

+
<valor
constante>
menos en lugar del ms.

Acumuladores o totalizadores
Es una variable que suma sobre s misma un conjunto de valores, de esta manera tener la suma de
todos ellos en una sola variable. La diferencia entre un contador y un acumulador es que mientras el
primero va aumentando de uno en uno, el acumulador va aumentando en una cantidad variable.
Representacin: <Nombre del acumulador> = <nombre del acumulador> + <valor variable>
Valores de inicializacin
Suma = 0
Producto = 1 // especialmente para multiplicaciones.
Excepciones en Java
Las excepciones son otra forma ms avanzada de controlar el flujo de un programa. Con ellas se
podrn realizar acciones especiales si se dan determinadas condiciones, justo en el momento en que
esas condiciones se den.
Concatenacin
La concatenacin es la accin de unir cosas, en Java esta accin es permitida utilizando el operador
aritmtico +, con este podemos unir dos o ms cadenas. Por ejemplo:
String a=Hola;
String b=Valentina;
String cadena=a+b+!!!;
System.out.print(cadena);
Este ejemplo nos imprimir en pantalla el resultado la cadena Hola Valentina!!!. De igual forma
podemos concatenar otro tipo de dato, ya sea entero, flotante, doubl, entre otro.

TEMA 3 OBJETOS Y CLASES

Un objeto es cualquier cosa de la vida cotidiana que tiene atributos y acciones, por ejemplo el objeto
Carro tiene atributos tales como color, lmparas, tipo de llantas (grandes, medianas y
pequeas),mecanismo (automtico o mecnico), nmero de pasajeros, entre otros. Cada vez que se
crea un objeto carro hay que definir los valores que tienen estos atributos.
El elemento bsico de la programacin orientada a objetos en Java es la Clase. Una clase define la
forma y comportamiento de un objeto.
Para crear una clase slo se necesita un archivo fuente que contenga la palabra clave reservada
class seguida de un identificador legal y un bloque delimitado por dos llaves para el cuerpo de la
clase.

You might also like