c01 Fundamentos a Java

Embed Size (px)

Citation preview

  • 7/24/2019 c01 Fundamentos a Java

    1/56

    FUNDAMENTOS DE JAVA

    Programacin III

    Ing. Luis Reyes

  • 7/24/2019 c01 Fundamentos a Java

    2/56

    Objetivos

    Conocer el entorno de preparacin de lostipos de datos permitidos

    Conocer los operadores disponibles

    Conocer el uso sintctico de algunasinstrucciones

  • 7/24/2019 c01 Fundamentos a Java

    3/56

    Contenido Introduccin (repaso) Tipos

    Tipos Bsicos

    Variables

    Conversin de tipos Cadenas de Caracteres

    Arrays

    Operadores

    Control de Flujo E/S bsica

    Atributos y Mtodos

  • 7/24/2019 c01 Fundamentos a Java

    4/56

    Introduccin:Historia de Java Sun Microsystems (Patrick Naughton y James

    Gosling)

    Necesaria portabilidad de cdigo

    Inicialmente orientado a Internet Impulsado por compatibilidad con Netscape

    Navigator (navegador de Internet)

  • 7/24/2019 c01 Fundamentos a Java

    5/56

    Introduccin:Historia de Java Versiones

    1996: Java v1.0

    1998: Java2 (v1.2). Gran paso adelante.

    Actual: J2SE v1.6 Prcticas

    J2SE (Java 2 Standard Edition) v1.5 Gratuito: http://java.sun.com(original)

    Eclipse v3.1.1 Gratuito: http://www.eclipse.org

    http://netbeans.org

    Versiones para Windows, Linux, etc.

    http://java.sun.com/http://www.eclipse.org/http://netbeans.org/http://netbeans.org/http://www.eclipse.org/http://java.sun.com/
  • 7/24/2019 c01 Fundamentos a Java

    6/56

    Introduccin:Caractersticas Principales Orientado a Objetos Totalmente Portable

    Lenguaje Interpretado (compilado a cdigo

    intermedio, no a cdigo mquina) Java Virtual Machine (JVM)

    ByteCode: Independiente de la maquina

    Gestin Automtica de Memoria Dinmica Recolector de basura (Garbage Collector)

    Case Sensitive (Sensible a Mays. / Minus.)

  • 7/24/2019 c01 Fundamentos a Java

    7/56

    Introduccin:Caractersticas Principales Compilador:javac Interprete:java

    Plataforma de ejecucin: JRE(Java Runtime

    Environment): Incluye JVM

    Plataforma de desarrollo: Java SDK(JavaSoftware Development Kit): Incluye Compilador, etc.

    Incluye JRE

  • 7/24/2019 c01 Fundamentos a Java

    8/56

    Introduccin:Hello World

    _______________

  • 7/24/2019 c01 Fundamentos a Java

    9/56

    Introduccin:Hello World

    El archivo fuente con extensin .java se compila ygenera el archivo con extensin .class

    Al ejecutar el programa (opcionalmente con laextensin .class) genera el resultado en pantalla.

  • 7/24/2019 c01 Fundamentos a Java

    10/56

    Tipos:Tipos Bsicos Enteros

    long

    int

    short byte

    Coma Flotante float

    double Caracteres

    Lgicos

  • 7/24/2019 c01 Fundamentos a Java

    11/56

    Tipos:Tipos Bsicos: Enteros Enteros Siempre con signo

    Cuatro tipos: byte, short, int, long

    Rango independiente de la plataforma Enteros por defecto son tipo int

    Para long aadir L al final

    989493849859L -284829848L

  • 7/24/2019 c01 Fundamentos a Java

    12/56

    Tipos:Tipos Bsicos: Punto Flotante Punto Flotante

    Dos tipos: float,double

    Flotantes por defecto son tipo double

    Para float aadir F al final 3.45E+21F -284829848F

  • 7/24/2019 c01 Fundamentos a Java

    13/56

    Tipos:Tipos Bsicos: Punto Flotante Valores especiales de float y double:

    Infinity, -Infinity, NaN (Not a Number)

    _______________

  • 7/24/2019 c01 Fundamentos a Java

    14/56

    Compilacin y Ejecucin

    El significado de las respuestas son:

    1. El resultado no es un nmero2. El resultado es infinito

    3. El resultado es infinito pero negativo

  • 7/24/2019 c01 Fundamentos a Java

    15/56

    Tipos:Tipos Bsicos: Caracteres Caracteres

    16 bits -> UNICODE

    Entre comillas simples: a, A, b

    Secuencias de escape: \b, \t, \r, \n, \, \, \\ Mediante cdigo unicode: \u0041

    Hexadecimal: \x41

  • 7/24/2019 c01 Fundamentos a Java

    16/56

    Tipos:Tipos Bsicos: Envoltorios En Java, todo excepto

    los tipos bsicos sonclases y objetos(heredan de Object)

    Existen objetos queenvuelven a los tiposbsicos

    Estos objetos tienen

    mtodos tiles paratratar con los tiposbsicos

  • 7/24/2019 c01 Fundamentos a Java

    17/56

    Tipos:Tipos Bsicos: Envoltorios

    _______________

  • 7/24/2019 c01 Fundamentos a Java

    18/56

    Compilacin y Ejecucin

  • 7/24/2019 c01 Fundamentos a Java

    19/56

    Tipos: Variables

    Necesario declarar lavariable antes de utilizarla

    mbito: el bloque de cdigoen el que est declarada(delimitado por llaves {})

    tipo identificador [=valor][,identificador[=valor]];

  • 7/24/2019 c01 Fundamentos a Java

    20/56

    Tipos: Conversin de Tipos

    Cuando es posible, se realiza de formaautomtica

    En otros casos, forzado por el programador:castings

  • 7/24/2019 c01 Fundamentos a Java

    21/56

    Tipos: Cadenas de caracteres

    Cadenas de Caracteres Entre comillas dobles

    Clase de utilidad String

    Operador de concatenacin +

  • 7/24/2019 c01 Fundamentos a Java

    22/56

    Tipos: Arrays

    Conjunto de datos de un tipo determinado

    Copia de Arrays (System.arrayCopy)Arrays Multidimensionales

  • 7/24/2019 c01 Fundamentos a Java

    23/56

    Tipos: Arrays

    _______________

  • 7/24/2019 c01 Fundamentos a Java

    24/56

    Compilacin y Ejecucin

    El valor 2 ya no es mostrado porque se

    genera un error debido a que el ndice 45 noest definido en el arreglo

  • 7/24/2019 c01 Fundamentos a Java

    25/56

    Tipos: arrays

  • 7/24/2019 c01 Fundamentos a Java

    26/56

    Tipos: arrays

    Para acceder a la longitud (tamao) de unarray: length

    _______________

  • 7/24/2019 c01 Fundamentos a Java

    27/56

    Operadores: Aritmticos

    Operadores Aritmticos: +, -, *, /, %, ++,-- ++y --son operadores de incremento, pueden

    ir como prefijo o sufijo, y tienen distinta

    precedencia

  • 7/24/2019 c01 Fundamentos a Java

    28/56

    Compilacin y Ejecucin

    Anlisis del resultado: Al crear la variablejse asigna el valor 5

    Cuando se crea kse le asigna el valor de 5el cual es el valorque poseejen ese momento.

    Sin embargo en ese momento k = j++. Como posee el operador++, despus de asignar el contenido dej( el valor era 5), seincrementa en 1 la variablej.

    Cuando se crea la variable lse muestra el operador l = ++j loque indica que antes de asignar el valor que tiene la variablej (6

    en ese momento) lo incrementa en 1 y luego asigna el valor 7.

  • 7/24/2019 c01 Fundamentos a Java

    29/56

    Operadores: Aritmticos

  • 7/24/2019 c01 Fundamentos a Java

    30/56

    Compilacin y Ejecucin

  • 7/24/2019 c01 Fundamentos a Java

    31/56

    Operadores: Relacionales

    Sirven para comparaciones Operadores relacionales: ==, !=, >, =,

  • 7/24/2019 c01 Fundamentos a Java

    32/56

    Compilacin y Ejecucin

  • 7/24/2019 c01 Fundamentos a Java

    33/56

    Operadores: Lgicos Operadores lgicos: &,|, &&, ||, ! &: And, &&: And en cortocircuito

    |: Or, ||: Or en cortocircuito

    Operadores en cortocircuito dejan de evaluar cuando

    se conoce a ciencia cierta el resultado

  • 7/24/2019 c01 Fundamentos a Java

    34/56

    Operadores: Lgicos

  • 7/24/2019 c01 Fundamentos a Java

    35/56

    Compilacin y Ejecucin

  • 7/24/2019 c01 Fundamentos a Java

    36/56

    Operadores: Lgicos

  • 7/24/2019 c01 Fundamentos a Java

    37/56

    Operadores: A nivel de Bit

    Aplicables a enteros (int, long, short, char,byte)

    Operadores a nivel de bit: ~, &, |, ^, >>, >>>,

  • 7/24/2019 c01 Fundamentos a Java

    38/56

    Operadores: A nivel de Bit

    _______________

  • 7/24/2019 c01 Fundamentos a Java

    39/56

    Operadores: Asignacin

    Operadores de Asignacin: ~=, +=, -=, *=, /=,%=, &=, |=, ^=, =, >>>=

    a = a + 5;

    a += 5; boolean b = a > 5 ? true : false;

  • 7/24/2019 c01 Fundamentos a Java

    40/56

    Operadores: Asignacin

  • 7/24/2019 c01 Fundamentos a Java

    41/56

    Operadores: Precedencia

  • 7/24/2019 c01 Fundamentos a Java

    42/56

    Control de Flujo: if-else

    _______________

  • 7/24/2019 c01 Fundamentos a Java

    43/56

    Control de flujo: switch

  • 7/24/2019 c01 Fundamentos a Java

    44/56

    Control de flujo: switch

  • 7/24/2019 c01 Fundamentos a Java

    45/56

    Control de Flujo: while

  • 7/24/2019 c01 Fundamentos a Java

    46/56

    Control de flujo: for

  • 7/24/2019 c01 Fundamentos a Java

    47/56

    Control de flujo: do-while

  • 7/24/2019 c01 Fundamentos a Java

    48/56

    Control de flujo: break y continue

    breaksale de la ejecucin del bucle continuesalta a la siguiente ejecucin del

    bucle

    E/S B i

  • 7/24/2019 c01 Fundamentos a Java

    49/56

    E/S Bsica:Flujos de datos Utilizacin de flujos de datos

    (streams)

    Paquete java.io

    java.io.InputStreamjava.io.OutputStream

    FileInputStream,

    BufferedInputStream, .

    E/S B i

  • 7/24/2019 c01 Fundamentos a Java

    50/56

    E/S Bsica:Entradas y Salidas estndar System.out-> Salida estndar System.err-> Salida con errores

    System.in-> Entrada estndar

    At ib t Mt d

  • 7/24/2019 c01 Fundamentos a Java

    51/56

    Atributos y Mtodos:Paso de parmetros

    Los objetos se pasan por referencia.

    Los tipos bsicos se pasan por valor

  • 7/24/2019 c01 Fundamentos a Java

    52/56

    _______________

  • 7/24/2019 c01 Fundamentos a Java

    53/56

    Compilacin y Ejecucin

  • 7/24/2019 c01 Fundamentos a Java

    54/56

  • 7/24/2019 c01 Fundamentos a Java

    55/56

    Compilacin y Ejecucin

  • 7/24/2019 c01 Fundamentos a Java

    56/56