Sie sind auf Seite 1von 52

Parte II

Sintaxis del Lenguaje

Comentarios
!! Los

comentarios son informacin! que no tienen ningn efecto con la lgica de un programa y cuyo propsito es la de documentar el cdigo del programador.!En Java hay tres tipos de comentarios:

Tipos de comentarios
!!

Los de una sola lnea al estilo del


!! // Esto es un comentario que inicia aqu

!!

doble Los de varias lneas al estilo del lenguaje C, los cuales estn entre! diagonal y asterisco. ejemplo:
!! /*! Esto es un conjunto de !! !!!! datos !!! */

!!

Comentarios de javadoc
!! El tercer tipo de comentarios es el que comienza con /**!! y termina con! */ y son conocidos como comentarios javadoc.

Comentarios JAVADOC
Etiqueta @autor nombre @deprecated texto Descripcin
Especifica el nombre del autor o creador del elemento. Sirve para especificar un elemento que ya no se usa, y el texto describe lo que se debe hacer cuando sea posible. un mtodo arroja una

@exception texto de la excepcin Especifica que excepcin. @throws texto de la excepcin {@link nombre de la etiqueta} @param nombre del texto @return texto @see referencia @since texto

Sirve para insertar un vnculo a otra pgina javadoc. Esta diseado para estar relacionada con otra descripcin. Es para describir un parmetro de un mtodo. Se usa para describir el valor devuelto por un mtodo. Sirve para crear una referencia cruzada con otro paquete, clase, mtodo u otro documento. Es para especificar el momento en que se aadi algo. la naturaleza

@serial texto Sirve para documentar @serialField texto con nombre de tipo serializable de una clase. @serialData texto @version texto

Es para documentar la versin de un elemento.

Secuencias de escape de caracter


!! Son

caracteres que pueden utilizarse en los flujos o en los mtodos de System.out.print(),! o! System.out.println() para control de la salida que el programador desea, y siempre tienen como prefijo la diagonal invertida o back slash \. La siguiente tabla presenta un resumen de estos caracteres:

Secuencias de escape
\n \t \b \ \ \ddd \xdd \udddd Nueva linea tabulador Espacio en blanco Comilla simple Comilla doble Numero en octal Numero hexadecimal Carcter UNICODE

Palabras reservadas
abstract boolean break byte case catch char class const * continue default do double else extends final finally float for goto * if implements import instanceof int interface long native new null package private protected public return short static super switch synchronized this throw throws trasient * try void volatile while

tipos de datos (primitivos) de JAVA


Nombre tipo byte short int long float double char boolean Clase entero entero entero entero real real caracter booleano 8-bit 16-bit 32-bit 64-bit 32-bit 64-bit 16-bit (Cdigo Unicode) 1-bit Tamao

Tipos de datos primitivos


Java determina el tamao de cada tipo primitivo.! Estos tamaos no cambian de una arquitectura de mquina a otra como en la mayora de los lenguajes.! Esto es la razn por la cual los programas en Java son muy portables.!

Tipos de datos primitivos


!! La

siguiente tabla muestra esos tamaos que no cambian:

Tipos primitivos
!! Se

pueden organizar en cuatro grupos:

!! Numericos enteros: son los tipo byte, short, int y long !! Carcter: El tipo char representa un carcter codificado en Unicode. !! Nmerico decimal: Los tipos float, y double representan numeros en coma flotante. !! Lgicos: El tipo boolean es el tipo de dato lgico acepta solo true y false.

Ejemplo de tipos de datos primitivos


!!

double miPi = 314.16e-2 ; // Aproximadamente! float temperatura = (float)36.6; // Paciente sin fiebre! ! ! boolean reciboPagado = false; // Aun no nos han pagado?!! int vectorNumeros[ ]; // Vector de nmeros! int vectorNumeros = new int[ 5 ]; // Vector de 5 nmeros"

!! !! !!

//Cadena declarada con la clase String de Java:" String capitalUSA = "Washington D.C."; String nombreBonito = "Amelia";"

Tipos de datos primitivos


!!

!!

Los tipos primitivos tienen un tratamiento especial porque son usados frecuentemente adems porque la razn es que crear un objeto con new especialmente uno chico como una simple variable no es muy eficiente porque new aloja objetos en el heap. Para stos tipos Java hace lo mismo que C y C++ en lugar de crear la variable usando new una variable! automtica es creada la cual no es una referencia.! La variable aloja el valor por si mismo y lo coloca en el stack que es mucho ms eficiente.

Tipos como Instancia de una Clase


!!

!!

Java define adems otros tipos que no estn en la anterior clasificacin, estos tipos son instancias de alguna clase en particular, ya sea de una clase que haya creado el programador o una clase ya existente dentro de las bibliotecas API de Java. El mbito de los valores de las variables de instancia! se limita! como su nombre lo indica! a la instancia misma.!! Empleado emp = new Empleado()!

!!

Tipos de variables en Java


!!

Tipos de Variables en Java


!! Variables de Instancia. !! Variables de una clase. !! Variables locales a mtodos.

!!

La declaracin de variables en Java se hace de forma similar al C.! En adelante, un identificador ser el nombre de una variable. As declararemos.
!! Tipo identificador [,identificador];

Inicializacin de variables
!! Cuando

datos de tipo primitivo son miembros de una clase, se garantiza que por omisin toman estos valores de inicializacin:
Tipo primitivo boolean char byte short int long float double Default false \u000 (null) (byte) 0 (short) 0 0 0L 0.0f 0.0d

Sentencias y expresiones
Las sentencias y expresiones en Java son delimitadas por punto y coma ( ; ) al final de las lneas del cdigo ya que por lo general, las sentencias estn escritas en una sola lnea como: final String CIC = new String ("Centro de Investigacin en Computacin"); Pero el compilador de Java no se preocupa donde el programador coloca espacios en blanco ( tabuladores, espacios, retornos de carro )! en su cdigo fuente, as que las sentencia anterior es equivalente a lo siguiente:

Operadores y operandos
!! Java

tiene una gran variedad de operadores, y la mayora le vienen de lenguajes como el C y C++, estos se pueden clasificar en:
!! Operadores aritmticos !! Operadores relacionales !! Operadores lgicos !! Operadores de bits !! Operadores de asignacin

Operadores y operandos
!! !!

Un operador es generalmente una relacin que hay entre uno , dos o ms operandos.! Un operando es una expresin, una variable, una constante, una literal, o un mtodo que devuelva algn valor.! Con los operadores y operandos formamos expresiones, y una expresin es una frmula construida con! combinaciones de constantes, variables, operadores, operandos y nombres de mtodos .

Operadores aritmticos
Operador + * / % * ++ ++ --Uso op1 + op2 op1 op2 op1 * op2 op1 / op2 op1 % op2 + op - op op ++ ++op op---op Descripcin Suma op1 y op2 Resta op2 de op1 Multiplica op1 y op2 Divide op1 por op2 El resto de dividir op1 por op2 Indica un valor positivo La negacin aritmtica de op Incrementa op en 1: evala el valor antes de incrementar Incrementa op en 1: evala el valor despus de decrementar Decrementa op en 1: evala el valor antes de decrementar Decrementa op en 1: evala el valor despus de decrementar

Operadores relacionales
!!

El resultado de emplear estos operadores! es un valor de tipo lgico;! true o false, que son literales constantes para los tipos de datos boolean.

Operad or > >= < <= == !=

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

Devuelve verdadero si op1 es mayor que op2 op1 es mayor o igual op2 op1 es menor que op2 op1 es menor o igual que op2 op1 y op2 son iguales

op1 != op2 op1 y op2 no son iguales

Operadores booleanos
!!

Al igual que los operadores relacionales, el resultado de emplear estos operadores! es un valor de tipo lgico;! true o false, que son literales constantes para los tipos de datos boolean, y es por esto que tambin se le conocen como operadores lgicos.

Operador && || !

Uso op1 && op2 op1 op2 op

Devuelve verdadero si op1 y op2 son ambos verdaderos op1 o op2 son true op es falso

Operadores de manipulacin de bits


!!

Estos operadores de manipulacin de bits tambin conocidos como operadores bitwise realizan operaciones de manejo de bits! a bajo nivel, esto es, nos permiten hacer corrimientos de bits a la izquierda o la derecha, tambin nos permiten! hacer operaciones and, or, xor y complemento.! Son bastantemente utilizados cuando se desea encriptar y desencriptar informacin, o cuando la rapidez de alguna operacin as lo requiera.

Operadores de manipulacin de bits

Operador >> << >>> & | ^ ~

Uso op1 >> op2 op1 << op2 op1 >>> op2 op1 & op2 op1 op2 op1 ^ op2 ~ op

Descripcin Desplaza bits de op1 a la derecha segn op2 Desplaza bits de op1 a la izquierda segn op2 Desplaza bits de op1 a la derecha segn op2 (sin signo) And a nivel de bits Or a nivel de bits Xor a nivel de bits Complemento a nivel de bits

Operadores de cadena
!! En

Java hay un operador de concatenacin (unin) ( + ) que es el nico que se puede aplicar a las cadenas y se utiliza para concatenar o!! para unir cadenas; El operador de cadena tiene una prioridad igual a la del operador de suma aritmtica y asociatividad a la izquierda, y es el nico operador sobrecargado que tiene Java

!! Java

no tiene sobrecarga de operadores como C++por razones de simplicidad , pero sus creadores! hicieron una excepcin a la regla , ya que la unin es muy til ). !! !Ejemplo:
!! String s = "hola" + " " + "buenos das";

Operadores de asignacin
!!

La asignacin es una operacin que tiene como efecto dar valores a una variable:
!! V = E

!!

Donde V denota una variable y E una expresin, y se lee V se hace E, o hacer V igual a E o a V se le asigna E.!! Hay que recordar que esto no es una igualdad relacional, ya que el operador de asignacin ( = )! no tiene nada que ver con el operador ( == ).! Es posible en Java al igual que en C y C++ las! hacer las "combinaciones taquigrficas"

Operadores de asignacin
Operador += -= *= /= %= &= |= ^= <<= >>= >>>= Uso op1 += op2 op1 -= op2 op1 *= op2 op1 /= op2 op1 %= op2 op1 &= op2 op1 = op2 op1 ^= op2 op1 <<= op2 op1 >>= op2 op1 >>>= op2 Descripcin op1 = op1 + op2 op1 = op1 op2 op1 = op1 * op2 op1 = op1 / op2 op1 = op1 % op2 op1 = op1 & op2 op1 = op1 op2 op1 = op1 ^ op2 op1 = op1 << op2 op1 = op1 >> op2 op1 = op1 >>> op2

Ejemplo Calculadora Bsica

class Calculadora{! public static void main(String []args){! //Variables locales! int iNum1 = 5, iNum2 = 6;! ! Mtodo int iSuma = iNum1 + iNum2;! principal int iResta = iNum1 - iNum2;! (main) //casting" float iDivision = iNum1 /(float) iNum2;! int iMultiplicacion = iNum1 * iNum2;! ! //Resultados! System.out.println("La suma es " + iSuma);! System.out.println("La resta es " + iResta);! System.out.println("La Divisin es " + iDivision);! System.out.println("La Multiplicacin es " + iMultiplicacion);! ! } //Fin de Main! } //Fin de Clase Calculadora"

Clase Calculadora

Operadores especiales
Para convertir tipos de datos !! Hay que recordar que Java es un lenguaje fuertemente tipeado (no se pueden operar datos de distinto tipo).! !! En caso de operaciones donde as se requiera, existe la posibilidad de realizar una conversin explcita de tipo (cast de C).! !! De esta forma se convierte el contenido de una variable (de un determinado tipo) al tipo que se exprese entre parntesis.! Un ejemplo podra ser: !! int a;## long b;## a = (int) b;"
!!

Operadores especiales
!! Para crear objetos !! La asignacin de objetos

incluye el operador new, el cual es usado para invocar al constructor de la clase del objeto que se quiere instanciar, ejemplo: = new

!! int num = 123; !! Long unodostres

Long ( num );

Operadores especiales
!! !!

Para comprobar El operador instanceof se utiliza para probar la clase de un objeto, ejemplo:
boolean queEs Persona p; Estudiante pepito; // subclase de Persona p = new Persona(); pepito = new Estudiante(); queEs = p instanceof Persona; // p es true queEs = p instanceof String; //p es false queEs = pepito instanceof Persona; // Subclase de Persona true

Control de Flujo con Java


Al igual que otros lenguajes, Java tiene sentencias de control de flujo y su sintaxis es muy similar al del lenguaje C.! Por lo tanto estas sentencias de flujo siguen el teorema de la programacin estructurada,! conocido tambin como el teorema de Bhm y Jacopini que dice: Un programa propio puede ser escrito utilizando nicamente tres tipos de estructuras de control de secuencia:
!! Secuencial !! Selectiva !! Repetitiva

La sentencia if
!!

La sintaxis de la instruccin if, de decisin simple, entre parntesis se pone la expresin la cual debe dar un valor booleano true o false , ( en Java la expresin debe dar un valor de verdad false o true if( expresin-booleana ) { sentencias; }

!!

Ejemplo If
import java.util.Scanner;! ! class IfEjemplo{! public static void main(String [] args){! ! Scanner in = new Scanner(System.in);! ! int iNumero;! ! System.out.println("Dame un valor");! iNumero = in.nextInt();! ! if (iNumero < 0 ){! iNumero = iNumero * -1;! }! ! System.out.print("El valor absoluto es " + iNumero);! }! }"

La sentencia if-else
La sintaxis de la instruccin if-else, de decisin doble , entre parntesis se pone la expresin la cual debe dar un valor booleano true o false .! Si es true la expresin es verdadera, entonces se realiza el primer conjunto de sentencias, pero si es false se transfiere el control de flujo al segundo bloque de sentencias correspondente al else

Ejemplo If - else
import java.util.Scanner;! ! class IfElseEjemplo{! public static void main(String [] args){! ! Scanner in = new Scanner(System.in);! ! int iNumero;! ! System.out.println("Cuantos aos tienes?");! iNumero = in.nextInt();! ! if (iNumero > 18 ){! System.out.println("Eres Mayor de Edad");! }! else{! ! System.out.println("Eres Menor de Edad");! }! }! }

"

Ejemplo If-else 2
import javax.swing.JOptionPane;! ! class IfElseEjemplo2{! public static void main(String [] args){! ! int iNumero;! ! String dato = JOptionPane.showInputDialog("Cuantos aos tienes?");! iNumero = Integer.parseInt(dato);! ! if (iNumero > 18 ){! JOptionPane.showMessageDialog(null,"Eres Mayor de Edad");! }! else{! ! JOptionPane.showMessageDialog(null,"Eres Menor de Edad");! }! }"

Sentencia switch
La sentencia switch proporciona una forma limpia de enviar la ejecucin a partes diferentes del cdigo en base al valor de una nica variable o expresin. La expresin puede devolver cualquier tipo bsico, y cada uno de los valores especificados en las sentencias case debe ser de un tipo compatible.
switch( expresin ) { case valor1: sentencias; break; case valor2: sentencias; break; [default: sentencias;] }

Ciclo while
!!

Estructura de control de flujo! while ( mientras ), es una estructura de repeticin o iteracin. [inicializacin;] while( expresin-booleana ) { sentencias; [iteracin;] }

!!

El bucle while es la sentencia de bucle ms bsica en Java. Ejecuta repetidamente una vez tras otra una sentencia, mientras una expresin booleana sea verdadera. Las partes de inicializacin e iteracin, que se presentan entre corchetes, son opcionales.

Ejemplo while
import java.util.Scanner;! ! class EjemploWhile{! public static void main(String [] args){! Scanner dato = new Scanner(System.in);! int iNumero = 0, i = 1;! System.out.println("Dame un nmero");! iNumero = dato.nextInt();! ! while(i <= 10){! System.out.println(iNumero + " X " + i + " = " + (i * iNumero));! i++;! }! }! }"

Ciclo do-while
La sintaxis del ciclo repetitivo do-while, el cual funciona as: primeramente se! ejecuta el bloque o conjunto de sentencias por lo menos una vez desde el do hasta el while donde lleva a cabo la! evaluacin la expresin , si es true se vuelve a repetir el ciclo y a ejecutar por segunda vez el bloque de sentencias, si de lo contrario la expresin es false! se transfiere el control despus del punto y coma ( ; ) que es el separador de sentencias e indicador del final del ciclo.
[inicializacin;] do { sentencias; [iteracin;] }while( terminacin-expresin-booleana );

Ejemplo do-while
import java.util.Scanner;! ! class EjemploDoWhile{! public static void main(String [] args){! Scanner dato = new Scanner(System.in);! int iNumero = 0, i = 1;! System.out.println("Dame un nmero");! iNumero = dato.nextInt();! ! do{! System.out.println(iNumero + " X " + i + " = " + (i * iNumero));! i++;! }while(i <= 10); " }! }"

Ciclo for
La sintaxis del ciclo repetitivo for, el cual funciona as: primeramente se! ejecuta la expresin1 ( que es la parte de inicializacin de las variables contador del ciclo o donde se asignan valores iniciales a los contadores ), despus se evala pro primera vez la expresin2 que es! booleana y si da true entonces se ejecuta el bloque de sentencias, pero si da false entonces se finaliza el ciclo transfirindose el control de flujo despus de la llave que cierra el bloque.
for( inicializacin; terminacin; iteracin){ sentencias; }

Ejemplo for
import java.util.Scanner;! ! class EjemploFor{! public static void main(String [] args){! Scanner dato = new Scanner(System.in);! int iNumero = 0, i;! System.out.println("Dame un nmero");! iNumero = dato.nextInt();! ! for(i = 1; i <= 10; i++){! System.out.println(iNumero + " X " + i + " = " + (i * iNumero));! ! } " }! }"

Arreglos en Java
Los arreglos se pueden definir como objetos en los que podemos guardar mas de una variable, es decir, al tener un nico arreglo, este puede guardar mltiples variables de acuerdo a su tamao o capacidad, es importante recordar que las variables guardadas deben ser del mismo tipo, por ejemplo: Si tenemos un arreglo de tipo Numrico que puede almacenar 10 variables, solo podr almacenar 10 nmeros diferentes, no otras variables como caracteres o Strings.

Declaracin:
La estructura de declaracin de un arreglo es la siguiente: "
tipo_dedato [] nombre_variable; #" O" tipo_dedato nombre_variable[];" ejemplos:
!! String array[]; " !! double array2[]; " !! int [] array3;##"

Definir tamao de arreglos


Para asignar a un arreglo su tamao o capacidad, se hace de la siguiente forma:
arreglo = new tipo_dedato[capacidad];

ejemplo:
array = new String[10];" arreglo = new "int[30];" "

Bucle foreach
Esta es la sintaxis de la forma habitual de recorrer una matriz con la sentencia de control for for (String str1 : matriz) { !cuerpo } for (String str1 : matriz) {
!! Esta lnea la podemos leer de la siguiente forma !! para cada String en matriz
"! for lo sustituimos por para cada "! los dos puntos : los sustituimos por en

Ejemplo bucle foreach


class EjemploForeach{! public static void main(String [] args){! ! int [] aDatos = {1,2,3,4,5,6,7,8,9,10}; ! ! for(int i : aDatos){! System.out.println(i);! }! }! }"

Prcticas
class Fibonnacci { ! public static void main( String args[] ){ ! ! int bajo = 0;! int alto = 1; ! ! ! System.out.print( bajo + " " ); ! while( alto < 50 ) { ! System.out.print( alto + " " ); ! int temp = alto; ! alto = alto + bajo; ! bajo = temp; ! } ! } !

} "

Prcticas
!! Programa

que imprima los primeros n nmeros fibonacci, siendo n, un nmero ledo por teclado. que imprima el cubo y el cuadrado de los primeros n nmeros primos.

!! Programa

Das könnte Ihnen auch gefallen