prof. mayra m. méndez anota. herramientas características convenciones estructura de una clase...
TRANSCRIPT
![Page 1: Prof. Mayra M. Méndez Anota. Herramientas Características Convenciones Estructura de una clase Sintaxis de: métodos, atributos, constructores](https://reader035.vdocuments.co/reader035/viewer/2022062500/5665b4411a28abb57c906ce8/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062500/5665b4411a28abb57c906ce8/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062500/5665b4411a28abb57c906ce8/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062500/5665b4411a28abb57c906ce8/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062500/5665b4411a28abb57c906ce8/html5/thumbnails/5.jpg)
// 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](https://reader035.vdocuments.co/reader035/viewer/2022062500/5665b4411a28abb57c906ce8/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062500/5665b4411a28abb57c906ce8/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062500/5665b4411a28abb57c906ce8/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062500/5665b4411a28abb57c906ce8/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062500/5665b4411a28abb57c906ce8/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062500/5665b4411a28abb57c906ce8/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062500/5665b4411a28abb57c906ce8/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062500/5665b4411a28abb57c906ce8/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062500/5665b4411a28abb57c906ce8/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062500/5665b4411a28abb57c906ce8/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062500/5665b4411a28abb57c906ce8/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062500/5665b4411a28abb57c906ce8/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062500/5665b4411a28abb57c906ce8/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062500/5665b4411a28abb57c906ce8/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062500/5665b4411a28abb57c906ce8/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062500/5665b4411a28abb57c906ce8/html5/thumbnails/21.jpg)
• 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](https://reader035.vdocuments.co/reader035/viewer/2022062500/5665b4411a28abb57c906ce8/html5/thumbnails/22.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062500/5665b4411a28abb57c906ce8/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062500/5665b4411a28abb57c906ce8/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062500/5665b4411a28abb57c906ce8/html5/thumbnails/25.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062500/5665b4411a28abb57c906ce8/html5/thumbnails/26.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062500/5665b4411a28abb57c906ce8/html5/thumbnails/27.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062500/5665b4411a28abb57c906ce8/html5/thumbnails/28.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062500/5665b4411a28abb57c906ce8/html5/thumbnails/29.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062500/5665b4411a28abb57c906ce8/html5/thumbnails/30.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062500/5665b4411a28abb57c906ce8/html5/thumbnails/31.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062500/5665b4411a28abb57c906ce8/html5/thumbnails/32.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062500/5665b4411a28abb57c906ce8/html5/thumbnails/33.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062500/5665b4411a28abb57c906ce8/html5/thumbnails/34.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062500/5665b4411a28abb57c906ce8/html5/thumbnails/35.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062500/5665b4411a28abb57c906ce8/html5/thumbnails/36.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062500/5665b4411a28abb57c906ce8/html5/thumbnails/37.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062500/5665b4411a28abb57c906ce8/html5/thumbnails/38.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062500/5665b4411a28abb57c906ce8/html5/thumbnails/39.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062500/5665b4411a28abb57c906ce8/html5/thumbnails/40.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062500/5665b4411a28abb57c906ce8/html5/thumbnails/41.jpg)
Proporciona métodos que reciben por lo menos un argumento carácter y realizan una prueba y manipulación del carácter.
Clase Character