0% encontró este documento útil (0 votos)
69 vistas

Conceptos Basicos Java y ED

Este documento presenta conceptos básicos de programación en Java. Explica características como ser sensible a mayúsculas y minúsculas, palabras reservadas, comentarios, formato libre, identificadores, variables, constantes, tipos de datos, operadores, paquetes e importaciones. También cubre control de flujo mediante sentencias condicionales como if y switch, y bucles como for, while y do while.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
69 vistas

Conceptos Basicos Java y ED

Este documento presenta conceptos básicos de programación en Java. Explica características como ser sensible a mayúsculas y minúsculas, palabras reservadas, comentarios, formato libre, identificadores, variables, constantes, tipos de datos, operadores, paquetes e importaciones. También cubre control de flujo mediante sentencias condicionales como if y switch, y bucles como for, while y do while.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 61

Estructura de Datos

Conceptos Básicos de Java

3
Conceptos Básicos de Java

Características de la Programación en Java

 Sensible a mayúsculas/minúsculas.
 Palabras reservadas.
 Comentarios.
 Lenguaje de formato libre.
 Identificadores.
 Variables y constantes.
 Convenciones de nomenclatura.
 Tipos de datos.
 Operadores.

4
Conceptos Básicos de Java

Características de la Programación en Java (2)


Sensible a mayúsculas/minúsculas
 Se distingue entre mayúsculas y minúsculas.
 Los identificadores Cat, cat y CAT son diferentes.
 Todas las palabras reservadas del lenguaje van en minúsculas.

Palabras reservadas

5
Conceptos Básicos de Java

Paquetes
Paquetes: es un conjunto de clases e interfaces relacionadas que proveen acceso
protegido y administración de nombres.
 Las clases e interfaces que son parte de la Plataforma Java están agrupadas
en paquetes de acuerdo a su función:
java.applet : para manejo de Applets.
java.io: para manejo de entrada/salida.
java.awt: para manejo de la GUI.
 El programador agrupa sus clases e interfaces en paquetes, anteponiendo la claúsula
package NombreDel Paquete a las declaraciones de todas las clases e interfaces
agrupadas.
 La plataforma JAVA importa automáticamente los siguientes paquetes: el default
package, el paquete java.lang y el paquete actual.
 El alcance de la sentencia package es todo el archivo fuente.
Ejemplo:

6
Conceptos Básicos de Java

Paquetes (2)
Sentencia import: indica al compilador dónde están ubicadas las clases que estamos
importando.
Ejemplos:

 Para importar sólo una clase de un paquete:

import <nombre.paquete>.<NombreClase>;

import java.lang.String;

 Para importar todas las clases de un paquete:

import <nombre.paquete>.*;

import java.lang.*;

7
Conceptos Básicos de Java

Características de la Programación en Java (3)


Comentarios.
Existen tres formas de introducir comentarios:
 Comentario en una línea

// Comentario de una línea


 Comentario en una o más líneas

/* Comentario de más de
una línea */
 Comentario de documentación. Se usa con javadoc
/** Método XYZ:
Realiza la labor X sobre los datos Y
devolviendo Z */

javadoc Fichero.java > Fichero.html

8
Conceptos Básicos de Java

Características de la Programación en Java (4)


Lenguaje de formato libre.
 La disposición de los elementos dentro del código es libre.
 Sentencias: línea simple de código terminada en “;”
total = a + b + c + d ;
 Bloque de código: conjunto de sentencias agrupadas entre llaves
{
x = x + 1;
y = y + 1;
}
 Java permite espacios en blanco entre elementos del código
x1 = y * delta ;
x2 = (y+1) * delta ;

9
Conceptos Básicos de Java

Características de la Programación en Java (5)


Identificadores
 Son nombres de clases, variables o métodos.
 No tienen longitud máxima.
 El primer carácter del identificador debe ser: A-Z, a-z, _, $.
 El resto: A-Z, a-z, _, $, 0-9.
 No se permite utilizar palabras reservadas como identificador.

Ejemplos válidos Ejemplos NO válidos Razón


anioDeNacimiento2 3valores (número como primer carácter)
_otra_variable Dia&mes &
NombreDeVariableMuyLargoNoImporta Dos más (espacio)
BotonPulsacion Dos-valores –

10
Conceptos Básicos de Java

Características de la Programación en Java (6)


Variables y constantes
 Variables: zona de memoria cuyos valores van a cambiar durante la ejecución
<tipo> <identificador> ;
ó <tipo> <identificador> , <identificador> ... ;
ejemplo: int x, y, z ;
 Constantes: zona de memoria cuyos valores no cambian
final <tipo> <identificador> = <valor> ;
ejemplo: final double PI = 3.14159265 ;
 Asignación de Variables: se utiliza el operador asignación “=“
<variable> = <expresión> ;
La parte izquierda siempre debe ser una variable.
La parte derecha puede ser un literal, una variable, una expresión, una función o una combinación
de todos.
Se puede asignar un valor a una variable en el momento de declararla.
ejemplo: int i = 0 ;

11
Conceptos Básicos de Java

Características de la Programación en Java (8)


Tipos de Datos
 Los tipos primitivos son ocho agrupados en cuatro
lógico: boolean
texto: char
entero: byte, short, int, long
real: float, double
Tipos Primitivos

Tipo Lógico Tipos Numéricos

Integrales Punto Flotante Caracteres Números Enteros

boolean char byte short int long float double

 Los tipos referencia son punteros a objetos

12
Conceptos Básicos de Java

Características de la Programación en Java (9)


Tipos de Datos
 Tipos Primitivos

13
Conceptos Básicos de Java

Características de la Programación en Java (12)


Operadores
 Operadores unarios: +, -
 Operadores aritméticos: +, -, *, /, % (resto de la división)
 Operadores de asignación: =, +=, -=, *=, /=, %=
<var> += <expr> => <var> = <var> + <expr>
 Operadores incrementales: ++, --
siguiendo a la variable: <var>++, <var>--
ejemplo: i=6;
j=i++; => j=i; i=i+1;
// resultado i=7 , j=6
precediendo a la variable: ++<var>, --<var>
ejemplo: i=6;
j=++i; => i=i+1; j=i;
// resultado i=7 , j=7
 Operadores relacionales: == (igual), != (distinto), >, <, >=, <=

14
Conceptos Básicos de Java

Características de la Programación en Java (13)


Operadores
 Operadores lógicos: && (AND), || (OR), ! (NOT), & (AND), | (OR)
&& y || realizan evaluación perezosa:
op1 && op2 => si op1 es false, no se evalúa op2
op1 || op2 => si op1 es true, no se evalúa op2
& y | siempre evalúan los dos operadores

 Operador instanceof: <objeto> instanceof <clase> determina si un objeto pertenece a


una clase

 Operador condicional: ? :
<exprBooleana> ? <valor1> : <valor2>
Permite bifurcaciones condicionales sencillas

 Operadores a nivel de bits: >>, <<, >>>, &, |, ^, ~

15
Conceptos Básicos de Java

Control de Flujo
 Las sentencias de control del flujo de ejecución permiten tomar decisiones y
realizar un proceso repetidas veces
 Hay dos tipos principales de sentencias de control de flujo:
Condicionales: if, switch
Bucles: for, while, do while
 Otras sentencias que permiten interrumpir el flujo normal de ejecución son break
y continue

16
Conceptos Básicos de Java

Control de Flujo (2)


if
if (<exprBooleana>) if (cont == 0)
<sentencia> ; System.out.println(“cont = cero”);
------------------------------------------------------- -------------------------------------------------------------------------------

if (<exprBooleana>) { if (cont == 0) {
System.out.println(“cont = cero”);
<grupoSentencias>; System.out.println(“otra sentencia”);
} }
------------------------------------------------------- -------------------------------------------------------------------------------

if (<exprBooleana>) { if (cont == 0) {
<grupoSentencias>; System.out.println(“cont = cero”);
}else{ }else{
<grupoSentencias>; System.out.println(“cont != cero”);
} }
------------------------------------------------------- -------------------------------------------------------------------------------
if (<exprBooleana>) { if (nota<4) {
<grupoSentencias>; System.out.println("Insuficiente");
}else if (<exprBooleana>){ }else if (nota<6) {
<grupoSentencias>; System.out.println("Suficiente");
}else{ }else{
<grupoSentencias>; System.out.println(“Muy Bien");
} }

17
Conceptos Básicos de Java

Control de Flujo (3)


switch

switch ( <variable> ) { int día = 4;


switch (día) {
case literal1: case 1: System.out.println("Lunes");
break;
[<grupoSentencias1>;]
case 2: System.out.println("Martes");
[break;]
break;
case literal2: case 3: System.out.println("Miércoles");
[<grupoSentencias2>;] break;
[break;] case 4: System.out.println("Jueves");
break;
...
case 5: System.out.println("Viernes");
case literalN: break;
[<grupoSentenciasN>;] case 6: System.out.println("Sábado");
break;
[break;]
case 7: System.out.println("Domingo");
[default:<grupoSentencias>;] break;
} default: System.out.println(“Error");
}

18
Conceptos Básicos de Java

Control de Flujo (4)


for

for ( <inicialización>; <exprBooleana>; <actualización> ) {


<grupoSentencias>;
}

<inicialización> asignación del valor inicial de las variables que intervienen en la expresión
<exprBooleana> condición booleana
<actualización> nuevo valor de las variables en <inicialización>

for ( int i = 0; i < 10; i++ ) {


System.out.println(“valor del contador: “ + i );
}

19
Conceptos Básicos de Java

Control de Flujo (5)


while

while (<exprBooleana>){ int cont = 0;


<grupoSentencias>; while (cont++ < 10) {
} System.out.println(“contador:“ + i );
}

do while

do{ int cont = 0;


<grupoSentencias>; do{
}while (<exprBooleana>); System.out.println(“contador:“ + i );
} while (cont++ < 10);

20
Conceptos Básicos de Java

Control de Flujo (6)


Break
La instrucción break sirve para abandonar una estructura de control, tanto de las alternativas (if-
else y switch) como de las repetitivas o bucles (for, do-while y while). En el momento que se ejecuta
la instrucción break, el control del programa sale de la estructura en la que se encuentra.

int i; resultado
for (i=1; i<=4; i++) {
Iteración: 1
if (i==3) break;
Iteración: 2
System.out.println("Iteración: "+i);
}

Continue
La instrucción continue sirve para transferir el control del programa desde la instrucción continue directamente a la
cabecera del bucle (for, do-while o while) donde se encuentra.

int i; resultado
for (i=1; i<=4; i++) {
Iteración: 1
if (i==3) continue;
Iteración: 2
System.out.println("Iteración: "+i);
Iteración: 4
}
21
Control de Flujo de las instrucciones de
• Selección :
• if, if-else y switch.
• Iteración :
• while, do-while y for.
• Transferencia :
• break, continue, return, try-catch-finally y assert.

22
Ejemplo

23
Consola I/O
• System.out : salida estándar al monitor
• Genera un objeto de tipo PrintStream
• System.in : entrada estándar del teclado
• Genera un objeto de tipo InputStream
• System.err : escribe un error estándar

24
Ejemplo para leer del teclado

25
Otro Ejemplo para leer del teclado

26
ESTRUCTURA DE DATOS
Ejemplo de uso Array
Declaración public char[] createArray() {
char s[]; char[] s;
Point p[]; s = new char[26];
char[] s; for ( int i=0; i<26; i++ ) {
Point[] p; s[i] = (char) (’A’ + i);
Un array es un objeto. }
Se crea con new return s;
}

public void printElements(int[] list) {


for (int i = 0; i < list.length; i++) {
System.out.println(list[i]); Longitud del array
}} 28
Ejemplo de uso Array
Crear un Array con valores iniciales 1)
1) MyDate[] dates;
String[] names; dates = new MyDate[3];
names = new String[3]; dates[0] = new MyDate(22, 7, 1964);
names[0] = "Georgianna"; dates[1] = new MyDate(1, 1, 2000);
names[1] = "Jen"; dates[2] = new MyDate(22, 12, 1964);
names[2] = "Simon"; 2)
2)
MyDate[] dates = {
String[] names = {
new MyDate(22, 7, 1964),
"Georgianna",
new MyDate(1, 1, 2000),
"Jen",
new MyDate(22, 12, 1964)
"Simon"
};
}; 29
Ejemplo de uso Array
Multidimensional (matrices)
int[][] twoDim = new int[4][];
twoDim[0] = new int[5];
twoDim[1] = new int[5];
int[][] twoDim = new int[][4]; // illegal
int[][] twoDim = new int[4][5];

String [][] ciudades={{"BsAs","Sao Pablo","Madrid"},


{"Argentina","Brasil","España"}};
for ( int i=0; i<ciudades.length; i++ ) {
for (int j=0; j<ciudades[i].length; j++ ) {
System.out.println(ciudades[i][j]) ;
} } 30
Recorriendo Array

public void printElements(int[] list) {


for ( int element : list ) {
System.out.println(element);
}
}

Este FOR, puede ser leido como:


Para cada elemento en list hacer.

31
Redimensionando un Array
NO SE PUEDE HACER

Qué hacemos entonces?


Usamos ARRAYCOPY

int[] myArray = { 1, 2, 3, 4, 5, 6 };
// nuevo array más grande
int[] hold = { 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 };
// copia todo lo de myArray al array hold

System.arraycopy(myArray, 0, hold, 0, myArray.length);


32
Collections
• Un Collection es un objeto que representa un grupo de objetos
conocidos como elementos

33
Colección ordenada
CON elementos duplicados

Colección desordenada
SIN elementos duplicados
34
Ejemplo para SET
import java.util.*;
public class SetExample {
public static void main(String[] args) {
Set set = new HashSet();
set.add("one"); Imprime:
set.add("second"); [one, second, 5.0, 3rd, 4]
set.add("3rd");
set.add(new Integer(4));
set.add(new Float(5.0F));
set.add("second"); // duplicate, not added
set.add(new Integer(4)); // duplicate, not added
System.out.println(set);
}
}
35
Ejemplo para LIST
import java.util.*
public class ListExample {
public static void main(String[] args) {
List list = new ArrayList();
list.add("one");
Imprime:
list.add("second"); [one, second, 3rd, 4, 5.0, second, 4]
list.add("3rd");
list.add(new Integer(4));
list.add(new Float(5.0F));
list.add("second"); // duplicate, is added
list.add(new Integer(4)); // duplicate, is added
System.out.println(list);
}
} 36
Collections desde la versión 1.1
• La clase Vector implementa la interface List.
• La clase Stack es una subclase de Vector y soporta los métodos push,
pop, y peek.
• La clase Hashtable implementa la interface Map.
• La interface Enumeration es una variación de la interface Iterator.
Un enumeration es devuelto en los métodos de Vector, Stack, y
Hashtable.

37
Collections : Generics

• Elimina la necesidad de hacer casting


Antes de Generics
ArrayList list = new ArrayList();
list.add(0, new Integer(42));
int total = ((Integer)list.get(0)).intValue();
Después de Generics
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(0, new Integer(42));
int total = list.get(0).intValue();

38
39
Iterators
• Iteration es el proceso de recuperar cada elemento en una collecion.
• Un Iterator de un Set está desordenado.
• Un ListIterator de un List puede ser escaneado hacia adelante (usando el
método next ) o hacia atrás (usando el método previous).
Ejemplo:
List list = new ArrayList();
add some elements
Iterator elements = list.iterator();
while ( elements.hasNext() ) {
System.out.println(elements.next());
}

40
PROGRAMACIÓN ORIENTADA A OBJETOS
Conceptos Básicos de Java

Clases

public class Fecha {


private int dia; Variable
private int mes; Constructor
private int anio;
public Fecha(int vdia, int vmes, int vanio) {
dia = vdia;
mes = vmes;
anio = vanio;
} Método
public void mostrarFecha() {
System.out.println (dia+”/”+mes+”/”+anio);
}
public static void main(String[] args) {
Fecha MiFecha = new Fecha(10, 08, 2003);
}
}
Método principal de la aplicación
Creación de un objeto
42
Conceptos Básicos de Java

Clases (3)
Modificadores de clase: son palabras reservadas que se anteponen a la declaración de
clase.
Sintaxis: modificador class NombreClase
Los modificadores posibles son los siguientes:
 public. Toda clase public debe ser declarada en un fichero fuente con el nombre de
esa clase pública: NombreClase.java. De esta afirmación se deduce que en un
fichero fuente puede haber más de una clase, pero sólo una con el modificador
public.
 abstract. Las clases abstractas no pueden ser instanciadas. Sirven únicamente
para declarar subclases que deben redefinir aquellos métodos que han sido
declarados abstract.
 final. Una clase declarada final impide que pueda ser superclase de otras clases.
Dicho de otra forma, ninguna clase puede heredar de una clase final.

43
Conceptos Básicos de Java

Métodos
Los Métodos son bloques de código (subprogramas) definidos dentro de una clase.
Sintaxis: <tipoRetorno> <nombreMétodo> ( <listaArgumentos> )
donde <tipoRetorno> tipo devuelto por el método.
<nombreMétodo> identificador válido en Java.
<listaArgumentos> sucesión de pares tipo-valor separados por coma
ejemplo:
String darFormato (String dia, String mes, String anio) {
String s ;
s = dia + “/” + mes + “/” + anio ;
return s ;
}
 Un método tiene acceso a todos los atributos de su clase.
 Pueden ser llamados o invocados desde cualquier sitio.
 Un método puede invocar a otros métodos.
 En Java no se puede definir un método dentro de otro.
 La ejecución de todos los programas se inician con el método main().

44
Conceptos Básicos de Java

Métodos (3)
Constructor: es un método especial de las clases que sirve para inicializar los objetos
que se instancian como miembros de una clase.
public class Fecha {
private int dia;
private int mes;
private int anio;
public Fecha(int vdia, int vmes, int vanio) {
dia = vdia;
mes = vmes;
anio = vanio;
}
public void mostrarFecha() {
System.out.println (dia+”/”+mes+”/”+anio);
}
public static void main(String[] args) {
Fecha MiFecha = new Fecha(10, 08, 2003);
}
}

45
Conceptos Básicos de Java

Referencia this
this: es una palabra clave que hace referencia al objeto o instancia actual.
Usos:
 Cuando se hace referencia a una variable miembro cuyo identificador coincide con el
identificador de un parámetro.
public class Fecha {
private int dia;
private int mes;
private int anio;
public Fecha(int dia, int mes, int anio) {
this.dia = dia;
this.mes = mes;
this.anio = anio;
}
public void mostrarFecha() {
System.out.println (dia+”/”+mes+”/”+anio);
}
public static void main(String[] args) {
Fecha MiFecha = new Fecha(10, 08, 2003);
}
}

46
Conceptos Básicos de Java

Referencia this (2)


 Cuando se hace referencia al objeto actual en un método que devuelve un objeto del tipo de
referencia.
public class Fecha {
private int dia;
private int mes;
private int anio;
public Fecha(int dia, int mes, int anio) {
this.dia = dia;
this.mes = mes;
this.anio = anio;
}
public Fecha getObjetoFecha() {
return this;
}
public static void main(String[] args) {
Fecha MiFecha = new Fecha(10, 08, 2003);
Fecha MiFecha2 = MiFecha.getObjetoFecha();
}
}

47
Conceptos Básicos de Java

Referencia this (3)


 Cuando se invoca a otros constructores de la clase.

public class Fecha {


private int dia;
private int mes;
private int anio;
public Fecha(int dia, int mes, int anio) {
this.dia = dia;
this.mes = mes;
this.anio = anio;
}
public Fecha() {
this(01,01,1900);
}
public static void main(String[] args) {
Fecha MiFecha = new Fecha(10, 08, 2003);
Fecha MiFecha2 = new Fecha();
}
}

48
Conceptos Básicos de Java

Herencia
Herencia: es el mecanismo por el que se crean nuevos objetos definidos en términos de
objetoa ya existentes.
Sintaxis: class NombreClaseHija extends NombreClasePadre

class Padre {
String variable;
void metodo() {
variable = “Padre”;
}
}
class Hija extends Padre {
String variable;
void metodo() {
variable = “Hija”;
super.metodo();
System.out.println(variable);
System.out.println(super.variable);
}
}
49
Herencia Simple
public class Employee {
public String name = "";
public double salary;
public Date birthDate;
public String getDetails() {...}
}

public class Manager extends


Employee {
public String department;
}
50
Conceptos Básicos de Java

Referencia super
super: es una palabra clave que se utiliza para referenciar atributos o métodos de la
superclase que han sido sobrescritos por la clase hija.
Usos:
 Cuando se hace referencia a un atributo de la clase padre.
class Padre {
String variable;
void metodo() {
variable = “Padre”;
}
}
class Hija extends Padre {
String variable;
void metodo() {
variable = “Hija”;
super.metodo();
System.out.println(variable);
System.out.println(super.variable);
}
}
51
Conceptos Básicos de Java

Referencia super (2)


 Cuando se hace referencia a un método de la clase padre.
class Padre {
String variable;
void metodo() {
variable = “Padre”;
}
}
class Hija extends Padre {
String variable;
void metodo() {
variable = “Hija”;
super.metodo();
System.out.println(variable);
System.out.println(super.variable);
}
}

52
Conceptos Básicos de Java

Referencia super (3)


 Cuando se hace referencia a un constructor de la clase padre.

class Padre {
String variable;
public Padre(String nombrevar) {
variable = nombrevar;
}
}
class Hija extends Padre {
String variable;
public Hija() {
super(“Padre”);
variable = “Hija”;
}
}

53
Conceptos Básicos de Java

Super

public class Manager extends Employee {


protected String department;
public String getDetails() {
return “Name: “ + name + “\n” + “Salary: “ + salary + "\n" + “Manager of: “ + department;
}
}

public String getDetails() {


return super.getDetails() + “\nDepartment: " + department;
}

54
Conceptos Básicos de Java

Polimorfismo
Polimorfismo: indica “muchas formas”. Una clase sólo tiene una forma, pero una
variable que hace referencia a la superclase de una jerarquía puede tener muchas
formas (una por cada subclase).

55
Objetos Polimórficos
Employee [] staff = new Employee[1024];
staff[0] = new Manager();
staff[1] = new Employee();
staff[2] = new Engineer();

public class TaxService {


public void chargeTax(){
TaxService taxSvc = new TaxService();
Manager m = new Manager();
TaxRate t = taxSvc.findTaxRate(m);
}
public TaxRate findTaxRate(Employee e) { …}
} 56
Conceptos Básicos de Java

Interfaces
Interfaces: una interfaz es una colección de definiciones de métodos sin implementación
y declaraciones de constantes, agrupadas bajo un nombre.
 Define un protocolo de comportamiento que debe ser implementado por cualquier
clase que pretenda utilizar ciertos servicios, con independencia de las relaciones
jerárquicas.
 Las interfaces sirven para:
 Declarar métodos que serán implementados por una o más clases. Define un conjunto de
métodos pero no los implementa.
 Definir la interfaz de programación de un objeto, sin mostrar el cuerpo actual de la clase.
 Una interfaz permite a objetos no relacionados interactuar.
 Una clase que implementa una interfaz debe implementar cada uno de los métodos
que ésta define.
 Una interfaz puede extender múltiples interfaces. Por lo tanto, se tiene herencia
múltiple de interfaces. Una interfaz sólo puede ser extendida por otra interfaz.
 Una clase puede implementar varias interfaces.

57
Conceptos Básicos de Java

Interfaces
Declaracion:

58
Conceptos Básicos de Java

Interfaces
Representación en UML:

public interface Flyer {


public class Airplane implements Flyer { public void takeOff();
public void takeOff() {…}
public void land() {….}
public void land();
public void fly() {….} public void fly();
} }

59
Conceptos Básicos de Java
Interfaces
Representación en UML:

60
Gracias

Las imágenes son de sus


autores, para fines netamente
académicos

También podría gustarte