Prof. Mayra M. Méndez Anota. Herramientas Características Convenciones Estructura de una clase...

41
Java Prof. Mayra M. Méndez Anota

Transcript of Prof. Mayra M. Méndez Anota. Herramientas Características Convenciones Estructura de una clase...

Page 1: Prof. Mayra M. Méndez Anota.  Herramientas  Características  Convenciones  Estructura de una clase  Sintaxis de: métodos, atributos, constructores.

JavaProf. Mayra M. Méndez Anota

Page 2: Prof. Mayra M. Méndez Anota.  Herramientas  Características  Convenciones  Estructura de una clase  Sintaxis de: métodos, atributos, constructores.

Herramientas Características Convenciones Estructura de una clase Sintaxis de: métodos, atributos,

constructores Sentencias de escape Import y package

Hemos visto de Java

Page 3: Prof. Mayra M. Méndez Anota.  Herramientas  Características  Convenciones  Estructura de una clase  Sintaxis de: métodos, atributos, constructores.

Palabras reservadas Tipos de datos Operadores Sentencias de control Arreglos

Veremos

Page 4: Prof. Mayra M. Méndez Anota.  Herramientas  Características  Convenciones  Estructura de una clase  Sintaxis de: métodos, atributos, constructores.

Ejercicio.

public class BasicsDemo {

public static void main(String[] args) { int sum = 0; for (int current = 1; current <= 10; current++) { sum += current; } System.out.println("Sum = " + sum); }}

Page 5: Prof. Mayra M. Méndez Anota.  Herramientas  Características  Convenciones  Estructura de una clase  Sintaxis de: métodos, atributos, constructores.

// SecuenciasEscape.java

// Demostrando el uso de secuencias de escape

public class SecuenciasEscape { public static void main( String args [ ] ) { System.out.println( "Impresión de apóstrofos: " + “ \‘ A \‘ " ); System.out.println( "Impresión de comillas: " + “ \“ string \“ " ); System.out.println( "impresión de una diagonal invertida: \\ " ); System.out.println( "Texto separado \t \t por dos tabulaciones" ); System.out.println( "He aquí texto \n \n a doble espacio " ); System.out.println( "********** \r ##### " ); }}

Ejercicio.

Page 6: Prof. Mayra M. Méndez Anota.  Herramientas  Características  Convenciones  Estructura de una clase  Sintaxis de: métodos, atributos, constructores.

Son palabras que tienen especial significado para el compilador.

Se utilizan para identificar un tipo de dato o constructor del programa.

abstract default if private thisboolean do implements protected throwbreak double import public throwsbyte else int return trycontinue final new static void

Palabras Reservadas

Page 7: Prof. Mayra M. Méndez Anota.  Herramientas  Características  Convenciones  Estructura de una clase  Sintaxis de: métodos, atributos, constructores.

Keyword Description Size/Format

(integers)

byte Byte-length integer 8-bit two's complement

short Short integer 16-bit two's complement

int Integer 32-bit two's complement

long Long integer 64-bit two's complement

(real numbers)

floatSingle-precision floating

point32-bit IEEE 754

doubleDouble-precision floating

point64-bit IEEE 754

(other types)

char A single character 16-bit Unicode character

booleanA boolean value (true or

false)true or false

Literal Data Type

178 int

8864L long

37.266 double

37.266D double

87.363F float

26.77e3 double

' c ' char

true boolean

false boolean

Tipos Primitivos

Page 8: Prof. Mayra M. Méndez Anota.  Herramientas  Características  Convenciones  Estructura de una clase  Sintaxis de: métodos, atributos, constructores.

Java tiene dos categorías de tipos de datos : ◦ primitivos y referencia( un dato que es almacenado en una

dirección)

Primitivos :Una variable de tipo primitivo contiene un solo valor de un tamaño y formato apropiado. Sintaxis :

Una referencia es llamada un puntero ó dirección de memoria en otros lenguajes.

◦ Un ejemplo de variables de este tipo son los arreglos, clases, interfaces.

Variables

Page 9: Prof. Mayra M. Méndez Anota.  Herramientas  Características  Convenciones  Estructura de una clase  Sintaxis de: métodos, atributos, constructores.

Operadores de incremento y decremento

Operador Llamado Expresión de muestra

++ Preincremento ++a

++ Posincremento a++

-- Predecremento --b

-- Posdecremento b--

Page 10: Prof. Mayra M. Méndez Anota.  Herramientas  Características  Convenciones  Estructura de una clase  Sintaxis de: métodos, atributos, constructores.

Operadores Aritméticos

Operador Uso Descripción

+ op1 + op2 suma op1 y op2

- op1 - op2 resta op2 del op1

* op1 * op2 Multiplica op1 por el op2

/ op1 / op2 Divide op1 entre op2

% op1 % op2 Regresa el restante de dividir el op1 entre op2

Page 11: Prof. Mayra M. Méndez Anota.  Herramientas  Características  Convenciones  Estructura de una clase  Sintaxis de: métodos, atributos, constructores.

Operadores de Asignación

Operador de asignación

Expresión de muestra

Explicación Asigna

+= c+=7 c = c + 7 10 a c

-= d -=4 d = d – 4 1 a d

*= e *=5 e = e * 5 20 a e

/= f/=3 f = f / 3 2 a f

%= g%=9 g = g % 9 3 a g

Supongamos :int c = 3, d = 5, e = 4, f = 6, g = 12 ;

Page 12: Prof. Mayra M. Méndez Anota.  Herramientas  Características  Convenciones  Estructura de una clase  Sintaxis de: métodos, atributos, constructores.

Operadores Relaciónales

Operador Uso Regresa true si

> op1 > op2 op1 es mayor que op2

>= op1 >= op2 op1 es mayor o igual a op2

< op1 < op2 op1 es menor que op2

<= op1 <= op2 op1 es menor o igual que op2

== op1 == op2 op1 y op2 son iguales

!= op1 != op2 op1 y op2 no son iguales

Page 13: Prof. Mayra M. Méndez Anota.  Herramientas  Características  Convenciones  Estructura de una clase  Sintaxis de: métodos, atributos, constructores.

Operadores Relaciónales

Operador Uso Regresa true si

&& op1 && op2 op1 y op2 ambos son true, condicionalmente se evalua el op2

|| op1 || op2 Si op1 o op2 es true, condicionalmente se evalua el op2

! ! op op es false

Page 14: Prof. Mayra M. Méndez Anota.  Herramientas  Características  Convenciones  Estructura de una clase  Sintaxis de: métodos, atributos, constructores.

Estructuras de Control

Page 15: Prof. Mayra M. Méndez Anota.  Herramientas  Características  Convenciones  Estructura de una clase  Sintaxis de: métodos, atributos, constructores.

Estructuras de control

Statement Type Keyword

looping while, do-while , for

decision making if-else, switch-case

exception handling

try-catch-finally, throw

branching Break, continue, label:, return

Page 16: Prof. Mayra M. Méndez Anota.  Herramientas  Características  Convenciones  Estructura de una clase  Sintaxis de: métodos, atributos, constructores.

while (expression) { statement}

Ejemplo :

while (c != 'g') { copyToMe.append(c); c = copyFromMe.charAt(++i); }

While

Page 17: Prof. Mayra M. Méndez Anota.  Herramientas  Características  Convenciones  Estructura de una clase  Sintaxis de: métodos, atributos, constructores.

do { statement(s)} while (expression);

Ejemplo :

do { copyToMe.append(c); c = copyFromMe.charAt(++i); } while (c != 'g');

Do-While

Page 18: Prof. Mayra M. Méndez Anota.  Herramientas  Características  Convenciones  Estructura de una clase  Sintaxis de: métodos, atributos, constructores.

for (initialization; termination; increment) { statement}

for ( ; ; ) { // infinite loop...}

Ejemplo :for (int i = 0; i < arrayOfInts.length; i++) { System.out.print(arrayOfInts[i] + " "); }

For

Page 19: Prof. Mayra M. Méndez Anota.  Herramientas  Características  Convenciones  Estructura de una clase  Sintaxis de: métodos, atributos, constructores.

if (expression) { statement(s)}if (response == OK) { // code to perform OK

action} else { // code to perform Cancel

action}

IF/ELSE

if (testscore >= 90) { grade = 'A'; } else if (testscore >= 80) { grade = 'B'; } else if (testscore >= 70) { grade = 'C'; } else if (testscore >= 60) { grade = 'D'; } else { grade = 'F'; }

Page 20: Prof. Mayra M. Méndez Anota.  Herramientas  Características  Convenciones  Estructura de una clase  Sintaxis de: métodos, atributos, constructores.

public class SwitchDemo { public static void main(String[] args) {

int month = 8; switch (month) { case 1: System.out.println("January"); break; case 2: System.out.println("February"); break; case 3: System.out.println("March"); break; case 4: System.out.println("April"); break; case 5: System.out.println("May"); break; case 6: System.out.println("June"); break; case 7: System.out.println("July"); break; case 8: System.out.println("August"); break; case 9: System.out.println("September"); break; case 10: System.out.println("October"); break; case 11: System.out.println("November"); break; case 12: System.out.println("December"); break; } }}

Switch

Page 21: Prof. Mayra M. Méndez Anota.  Herramientas  Características  Convenciones  Estructura de una clase  Sintaxis de: métodos, atributos, constructores.

• public class SwitchDemo2 {• public static void main(String[] args) {

• int month = 2;• int year = 2000;• int numDays = 0;

• switch (month) {• case 1:• case 3:• case 5:• case 7:• case 8:• case 10:• case 12:• numDays = 31;• break;• case 4:• case 6:• case 9:• case 11:• numDays = 30;• break;• case 2:• if ( ((year % 4 == 0) && !(year % 100 == 0))• || (year % 400 == 0) )• numDays = 29;• else• numDays = 28;• break;• }• System.out.println("Number of Days = " + numDays);• }• }

Switch – Break

Page 22: Prof. Mayra M. Méndez Anota.  Herramientas  Características  Convenciones  Estructura de una clase  Sintaxis de: métodos, atributos, constructores.

switch (month) { case 1: System.out.println("January"); break; case 2: System.out.println("February"); break; case 3: System.out.println("March"); break; case 4: System.out.println("April"); break; case 5: System.out.println("May"); break; case 6: System.out.println("June"); break; case 7: System.out.println("July"); break; case 8: System.out.println("August"); break; case 9: System.out.println("September"); break; case 10: System.out.println("October"); break; case 11: System.out.println("November"); break; case 12: System.out.println("December"); break; default: System.out.println("Hey, that's not a valid month!");

break;}

Switch – Default

Page 23: Prof. Mayra M. Méndez Anota.  Herramientas  Características  Convenciones  Estructura de una clase  Sintaxis de: métodos, atributos, constructores.

public class BreakDemo { public static void main(String[] args) {

int[] arrayOfInts = { 32, 87, 3, 589, 12, 1076, 2000, 8, 622, 127 }; int searchfor = 12;

int i = 0; boolean foundIt = false;

for ( ; i < arrayOfInts.length; i++) { if (arrayOfInts[i] == searchfor) { foundIt = true; break; } }

if (foundIt) { System.out.println("Found " + searchfor + " at index " + i); } else { System.out.println(searchfor + "not in the array"); } }}

Break

Page 24: Prof. Mayra M. Méndez Anota.  Herramientas  Características  Convenciones  Estructura de una clase  Sintaxis de: métodos, atributos, constructores.

public class ContinueDemo { public static void main(String[] args) {

StringBuffer searchMe = new StringBuffer( "peter piper picked a peck of pickled peppers"); int max = searchMe.length(); int numPs = 0;

for (int i = 0; i < max; i++) { //interested only in p's if (searchMe.charAt(i) != 'p') continue;

//process p's numPs++; searchMe.setCharAt(i, 'P'); } System.out.println("Found " + numPs + " p's in the string."); System.out.println(searchMe); }}

Continue

Page 25: Prof. Mayra M. Méndez Anota.  Herramientas  Características  Convenciones  Estructura de una clase  Sintaxis de: métodos, atributos, constructores.

Es un grupo de posiciones de memoria contiguas, todas las cuales tienen el mismo nombre y el mismo tipo.

Un arreglo es un objeto.

Los arreglos pueden ser de cualquier tipo primitivo o una clase.

Arreglos

Page 26: Prof. Mayra M. Méndez Anota.  Herramientas  Características  Convenciones  Estructura de una clase  Sintaxis de: métodos, atributos, constructores.

Arreglos

char [ ]; point [ ];

Page 27: Prof. Mayra M. Méndez Anota.  Herramientas  Características  Convenciones  Estructura de una clase  Sintaxis de: métodos, atributos, constructores.

Se utiliza la palabra new para crear un objeto arreglo.

int c [ ] = new int [ 12 ];

int c [ ] ; // declara el arreglo.c = new int [ 12 ]; // asigna memoria al arreglo.

Declaración y almacenamiento de arreglos

Page 28: Prof. Mayra M. Méndez Anota.  Herramientas  Características  Convenciones  Estructura de una clase  Sintaxis de: métodos, atributos, constructores.

Se inicializan con cero para variables de tipos primitivos númericos.

Se inicializan con false para variables boolean.

Se inicializan con null para el caso de referencias.

Declaración y almacenamiento de arreglos

Page 29: Prof. Mayra M. Méndez Anota.  Herramientas  Características  Convenciones  Estructura de una clase  Sintaxis de: métodos, atributos, constructores.

string names [ ];names = new string

[ 3 ];names [ 0 ] =

“Georgina”;names [ 1 ] =

“Simon”;names [ 2 ] =

“Melvin”;

Inicializando arreglos

string names [ ] = {

“Georgina”,”Simon”,”Melvin”

};

Page 30: Prof. Mayra M. Méndez Anota.  Herramientas  Características  Convenciones  Estructura de una clase  Sintaxis de: métodos, atributos, constructores.

public class ArrayDemo { public static void main(String[ ] args) { final int tamaño; int[ ] anArray; // declare an array of integers

anArray = new int[ tamaño ]; // create an array of integers

// assign a value to each array element and print for (int i = 0; i < anArray.length; i++) { anArray[i] = i; System.out.print(anArray[ i ] + " "); } System.out.println(); }}

Ejercicio.

Page 31: Prof. Mayra M. Méndez Anota.  Herramientas  Características  Convenciones  Estructura de una clase  Sintaxis de: métodos, atributos, constructores.

Java no permite crear arreglos multidimensionales.

Java permite crear arreglos de un solo índice cuyos elementos también son elementos de un solo subíndice.

Arreglo de arreglos

Page 32: Prof. Mayra M. Méndez Anota.  Herramientas  Características  Convenciones  Estructura de una clase  Sintaxis de: métodos, atributos, constructores.

int b [ ] [ ] = { {1,2 }, { 3,4} }

Equivale:

b [ 0 ] [ 0 ] = 1b [ 0 ] [ 1 ] = 2b [ 1 ] [ 0 ] = 3b [ 1 ] [ 1 ] = 4

int matriz [ ] [ ] = new int [ 4 ] [ ] ;

int matriz [ ] [ ] = new int [ ] [ 4 ] ; // Error, operación ilegal.

Declaración e inicialización

Page 33: Prof. Mayra M. Méndez Anota.  Herramientas  Características  Convenciones  Estructura de una clase  Sintaxis de: métodos, atributos, constructores.

public class ArrayOfArraysDemo { public static void main(String[ ] args) { String[ ][ ] cartoons = {

{ "Flintstones", "Fred", "Wilma", "Pebbles", "Dino" }, { "Rubbles", "Barney", "Betty", "Bam Bam" }, { "Jetsons", "George", "Jane", "Elroy", "Judy", "Rosie", "Astro" }, { "Scooby Doo Gang", "Scooby Doo", "Shaggy", "Velma", "Fred",

"Daphne" } };

for (int i = 0; i < cartoons.length; i++) { System.out.print(cartoons[ i ][ 0 ] + ": ");

for (int j = 1; j < cartoons[ i ].length; j++) { System.out.print(cartoons[ i ][ j ] + " "); } System.out.println( );

} }}

Ejercicio.

Page 34: Prof. Mayra M. Méndez Anota.  Herramientas  Características  Convenciones  Estructura de una clase  Sintaxis de: métodos, atributos, constructores.

Se utiliza el método :

System.arraycopy (Object source, int srcIndex, Object dest, int destIndex,int length)

public class ArrayCopyDemo { public static void main(String[ ] args) { char[ ] copyFrom = { 'd', 'e', 'c', 'a', 'f', 'f', 'e',

'i', 'n', 'a', 't', 'e', 'd' }; char[ ] copyTo = new char[ 7 ];

System.arraycopy(copyFrom, 2, copyTo, 0, 7); System.out.println(new String(copyTo)); }}

Copiando un Arreglo

Page 35: Prof. Mayra M. Méndez Anota.  Herramientas  Características  Convenciones  Estructura de una clase  Sintaxis de: métodos, atributos, constructores.

Cuando en un programa se emplean valores literales o se crean variables y constantes para asignarles un valor, estos son almacenados en la memoria de la computadora.

Almacenamiento de variables, referencias y objetos en memoria

Objetos con sus atributos

Variables y constantes declaradas dentro de

un método

Memoria Stack

Memoria Heap

Page 36: Prof. Mayra M. Méndez Anota.  Herramientas  Características  Convenciones  Estructura de una clase  Sintaxis de: métodos, atributos, constructores.

Los objetos con sus atributos son almacenados en la memoria Heap, la cual es administrada de manera dinámica por el programa. Por otra parte, las referencias a los objetos y las variables de sus métodos son almacenadas en la memoria Stack, dado que sólo son empleadas por un breve periodo de tiempo. Mientras que las variables de tipo primitivo almacenan valores, las referencias a objetos almacenan la ubicación en memoria (dirección) de los mismos.

Page 37: Prof. Mayra M. Méndez Anota.  Herramientas  Características  Convenciones  Estructura de una clase  Sintaxis de: métodos, atributos, constructores.

public static void main(String args[]){int counter = 10;Shirt myShirt = new Shirt();

}

Ejemplo

Memoria Stack Memoria Heap

counter

myShirt

10

0x034009

shirtID

price

colorCode

0x034009

0

0.0

U

Page 38: Prof. Mayra M. Méndez Anota.  Herramientas  Características  Convenciones  Estructura de una clase  Sintaxis de: métodos, atributos, constructores.

Clase String

Clase StringBuffer

Clase Character

Manejo de Cadena Y Caracteres

Page 39: Prof. Mayra M. Méndez Anota.  Herramientas  Características  Convenciones  Estructura de una clase  Sintaxis de: métodos, atributos, constructores.

Presenta varios métodos que devuelven copias modificadas de los objetos String o que devuelven un arreglo de caracteres.

Clase String

Page 40: Prof. Mayra M. Méndez Anota.  Herramientas  Características  Convenciones  Estructura de una clase  Sintaxis de: métodos, atributos, constructores.

Ofrece capacidades para procesar objetos String.

Tiene como características especiales el crear y manipular información de cadena dinámica, es decir objetos String modificables.

Clase StringBuffer

Page 41: Prof. Mayra M. Méndez Anota.  Herramientas  Características  Convenciones  Estructura de una clase  Sintaxis de: métodos, atributos, constructores.

Proporciona métodos que reciben por lo menos un argumento carácter y realizan una prueba y manipulación del carácter.

Clase Character