:: Prof. Yeniffer Peña Introducción a JAVA Presentación Programación I.
-
Upload
juan-jose-hidalgo-martin -
Category
Documents
-
view
222 -
download
0
Transcript of :: Prof. Yeniffer Peña Introducción a JAVA Presentación Programación I.
:: Prof. Yeniffer Peña
Introducción a JAVAIntroducción a JAVA
PresentaciónP
rog
ram
ació
n I
Introducción a Java
Un lenguaje de programación con elementos de C, C++ y otros lenguajes, unido a un gran conjunto de bibliotecas, con un soporte de ejecución estándar y una máquina virtual.
¿Qué es Java ?
Pro
gra
mació
n I
Un programa Java es una biblioteca de clases (bytecodes) organizada en paquetes jerárquicos que se usa comúnmente para programar applets y aplicaciones.
Introducción a Java
Sencillo.
Orientado a objetos.
Interpretado.
Robusto.
Seguro.
Neutral a la arquitectura.
Portable.
Multihilo.
Características:
Pro
gra
mació
n I
Introducción a Java
Principio Básico de Java
Pro
gra
mació
n I
Introducción a Java
Funcionamiento de Java
Pro
gra
mació
n I
Ejemplo.java
Ejemplo.class
javac
java
Pro
gra
mació
n I Compilación:
Introducción a Java
Pro
gra
mació
n I
Los programas en Java se componen de clases y métodos. Aprender a programar en el mundo de java consiste en:
Programar en Java es…
incrementar la biblioteca de clases.
Aprender el lenguaje de programación Java para poder programar clases y métodos propios.
Aprender a usar las clases y métodos de las extensas bibliotecas de clases que posee este lenguaje.
Introducción a Java
Fundamentos BásicosP
rog
ram
ació
n I
Nombres asignados a variables, métodos y clases para ser
identificadas y de forma única y con sentido para el
programador.
Identificadores:
El primer carácter debe ser letra.
Es un lenguaje sensible a mayúsculas y minúsculas.
Acepta “_” y cifras del 0 al 9 pero que no sean el primer carácter.
No se aceptan palabras claves (reservada por java para un objetivo determinado)
Fundamentos BásicosP
rog
ram
ació
n I
SI NO
Xcont1VARIABLEPorc_AprobHolaanhostall
“X”1contcont-1Porc AprobHola!#anhosshort
Identificadores:
Pro
gra
mació
n I Palabras Reservadas:
Fundamentos Básicos
Fundamentos BásicosP
rog
ram
ació
n I
Pueden ser números, caracteres o cadenas: Los números
pueden ser enteros, en coma flotante o booleanos.
Constantes:
Enteras
Número con valor entero consistente en secuencia de
dígitos. Se pueden escribir en tres sistemas diferentes:
Decimal, Octal y Hexadecimal.
Se almacenan en 32 bits (4 bytes) y si es muy grande
puede forzarse al tipo long añadiéndole una L al final
del número.
Fundamentos BásicosP
rog
ram
ació
n I Enteras
Cualquier combinación de dígitos tomados del 0 al 9. Si la constante tiene más de 2 dígitos, el primero debe ser diferente de 0.
Cualquier combinación de dígitos tomados del 0 al 7. El primer dígito debe ser obligatoriamente 0 para que pueda ser identificado como número octal.
Cualquier combinación de dígitos tomados del 0 al 9 y de las letras (“a” a “f”) mayúsculas o minúsculas. Debe comenzar con 0x ó 0X.
Decimal
Octal
Hexadecimal
Ejemplo
Ejemplo
Ejemplo
0 1 894
0 077 0472
0X 0X1 0Xabcd
Constantes:
Fundamentos BásicosP
rog
ram
ació
n I
En Coma Flotante
Es un número en base 10 que contiene un punto
decimal o un exponente (ambos inclusive). Por ejemplo
el número 563,84 también puede expresarse 5,6384e2
Ejemplo: 0 0,2 2E-8 0,06e-3 15,8
Son del tipo double que es un valor de 64 bits. Sin
embargo, tiene la opción de usar 32 bits (float) esto se
hace añadiendo una f ó F al final del número: 5,6384e2F
Constantes:
Fundamentos BásicosP
rog
ram
ació
n I
De Carácter
Representan un solo carácter encerrado entre comillas
simples. Ejemplo: ‘a’ ‘A’ ‘9’ ‘-’ ‘ ’
Existen caracteres especiales (de control y no
imprimibles) que se representan con una barra
invertida (\) seguida del código del carácter.
Por ejemplo: \n que imprime una nueva línea.
Constantes:
Fundamentos BásicosP
rog
ram
ació
n I
De Cadena de Caracteres:
Representan múltiples caracteres y aparecen dentro de
un par de comillas dobles. Se implementan en Java
con la clase String y define su estado con los
caracteres que aparecen dentro de las comillas dobles.
Ejemplo: String mensaje;
String universidad=“UNET”;
Constantes:
Fundamentos BásicosP
rog
ram
ació
n I
Tipos de Datos:
Categoría Tipo Tamaño
Enteros
byte ?short ?
int ?long ?
En coma flotante
float ?double ?
Caracteres char ?String ?
Lógicos boolean ?
Fundamentos BásicosP
rog
ram
ació
n I Declaración de Variables:
Asocia un tipo de dato especificado a un grupo de
variables. Se deben declarar todas las variables antes de
que aparezcan en las instrucciones ejecutables.
Sintaxis:
Tipo_Dato variable1, variable2, . . . ;
Ejemplo:
byte edad;
long angulo, magnitud;
double velocidad;
char sexo;
Fundamentos BásicosP
rog
ram
ació
n I Ejemplo de Declaración y Asignación:
public class Declaracion { public static void main (String args []) {
int i; // Declaración de variables enteras int j=0; // Declaración de variables enteras
float pi = 3.414f; // Declaración de variables flotantes double magnitud = 25.698; // Declaración y asignación de double boolean sw = true; // Declaración y Asignación de boolean char sexo; // Declaración de una variable carácter String cad1; // Declaración de una variable String String cad2 = “UNET"; // Declaración y asignación de un String
sexo = ‘F'; // Asignación de valor de un char cad1 = “Programacion” // Asignación de valor a un String i = 6; // Asignación de valores a enteros }}
Fundamentos BásicosP
rog
ram
ació
n I Tipos de Datos:
Java maneja también los tipos de datos definidos por el usuario, donde éste puede crear sus propias clases en Java y éstas clases se convierten automáticamente en tipos de datos definidos por el usuario.
Por ejemplo: Si el usuario crea una clase llamada ANIMAL, automáticamente se convierte en un tipo de datos y puede definir objetos (variables) de ANIMAL como por ejemplo:
ANIMAL perro, gato, oso;
Fundamentos BásicosP
rog
ram
ació
n I Operadores Aritméticos:
Operador Descripción
+-*/
%++--
SumaRestaMultiplicaciónDivisiónResto de división enteraIncrementodecremento
Fundamentos BásicosP
rog
ram
ació
n I Operadores:
El operador ‘+’ en Java también es utilizado para concatenar cadenas de caracteres.
Por ejemplo: String nombre = “Ana”; String apellido = “Chacon”; String nombreCompleto = nombre + ” ” + apellido;
Fundamentos BásicosP
rog
ram
ació
n I Operadores Relacionales y Lógicos:
Operador Descripción
<<=>
>===!=&&| |
Menor queMenor o igual queMayor queMayor o igual queIgual queDesigual queYO
Pro
gra
mació
n I
Fundamentos Básicosseparadores
operadores
Unarios
Multiplicadores
Suma y resta
Desplazamiento de bits
Relacionales
Igualdad
Y a nivel de bits
O exclusiva a nivel de bits
O inclusiva a nivel de bits
Y condicional
O condicional
Condición
De Asignación
Precedencia de
Operadores:
Fundamentos BásicosP
rog
ram
ació
n I Bloques y Ámbito:
En Java, el código fuente está dividido en partes
separadas por signos de llave de apertura y de cierre “{“
y “}”.
Todo lo que está dentro de las llaves es considerado un
bloque. Sin llaves el compilador tendría problemas para
determinar donde termina una sección de código y dónde
empieza la siguiente.
El ámbito afecta el tiempo de vida de las variables, lo que
quiere decir, que la variable solo se usa en esa parte
determinada del programa.
Fundamentos BásicosP
rog
ram
ació
n I Toma de Decisiones:
Se utiliza para evaluar una condición lógica y llevar a
cabo una de dos posibles acciones, dependiendo del
resultado de la condición (de que sea cierta o falsa).
Sintaxis: if (condicion) //código a ejecutar si condición es true [ else //código a ejecutar si decisión es false ]
Si hay mas de una instrucción a ejecutar, éstas deben
ejecutarse entre llaves “{ }”.
Fundamentos BásicosP
rog
ram
ació
n I
Sintaxis: if (condicion) Instrucción; else if (condicion) Instrucción; else Instrucción
También, pueden ejecutarse toma de decisiones
anidadas.
Toma de Decisiones:
Fundamentos BásicosP
rog
ram
ació
n I
Realiza distintas operaciones en base al valor de una única
variable o expresión. Es una sentencia muy similar a if-else,
pero es mucho más cómoda y fácil de comprender y
trabajar.
Sintaxis: switch (expresion) { case valor1: instrucción; break; case valor2: instrucción; break; default: }
SwitchToma de Decisiones:
Fundamentos BásicosP
rog
ram
ació
n I
Ejemplos:
int opcion; switch (opcion) { case 1: { instrucciones; break; } case 2..5 : { instrucciones; break; } default: { instrucciones; break; } }
Toma de Decisiones:
char sexo; switch (sexo) { case ‘F’,’f’: { instrucciones; break; } default: { instrucciones; break; } }
Fundamentos BásicosP
rog
ram
ació
n I
Investigar: Operador condicional ?:Investigar: Operador condicional ?:
Toma de Decisiones:
Fundamentos BásicosP
rog
ram
ació
n I
Sintaxis: while (condicion) Instrucción;
whileUn grupo de instrucciones se ejecutan en forma repetida,
mientras que se satisface alguna condición (que sea cierta
o diferente de 0). La comprobación de la primera ejecución
se realiza al comienzo, es decir, si esta condición no se
cumple puede darse el caso que no se ejecuten las
instrucciones dentro del ciclo ni una sola vez.
while (condicion) { Instrucción; Instrucción; }
Ciclos de Repetición:
Fundamentos BásicosP
rog
ram
ació
n I
Sintaxis: do Instrucción; while (condicion);
do - whileUn grupo de instrucciones se ejecutan en forma repetida,
mientras el valor de la condición es cierto, es decir,
diferente de 0. La comprobación de la condición se efectúa
al final del ciclo, esto indica que siempre se ejecutarán las
instrucciones dentro del ciclo por lo menos una vez.
do { Instrucción; Instrucción; } while (condicion);
Ciclos de Repetición:
Fundamentos BásicosP
rog
ram
ació
n I Ciclos de Repetición:
Sintaxis:for (expresion1; expresion2; expresion3) Instrucción;
forEsta instrucción incluye una expresión que específica el
valor inicial de un índice, otra expresión que indica cuando
se continúa o no el bucle y una tercera expresión que
permite que el índice se modifique al final de cada pasada.
for (int i=0; i<10; i++) Instrucción;
for (int i=10; i>0; i--){ Instrucción; Instrucción;}
La salida estándar de JAVA permite mostrar por pantalla los resultados de las diversas operaciones que se realizan en un programa.
La salida estándar es manejada por la clase System.out que permite escribir en la consola de salida ó pantalla. Los métodos usados son:
• El método println imprime el argumento y una nueva línea al finalizar.
• El método print imprime el argumento sin la nueva línea.
Pro
gra
mació
n I
Fundamentos Básicos
Salida Estándar:
Ejemplo:
System.out.println(“Resultados”);
System.out.println(“valor de a = ” + a);
System.out.println(“valor de b = ” + b);
System.out.println(“a+b = ” + (a+b));
System.out.println(“Bienvenido ” + nombre + ” a programar”);
Pro
gra
mació
n I
Fundamentos Básicos
Salida Estándar:
package Pruebas;
import java.io.*;
import ……
public class nombre_clase
{ // Declaración de atributos (variables)
// Declaración de métodos (funciones)
public static void main (String [] args)
{ // Declaración de variables
// Instrucciones
}
}
Pro
gra
mació
n I
Fundamentos Básicos
Archivo: nombre_clase.java
Estructura de un Programa en Java:
import java.io.*;
public class Promedio
{ public static void main (String [] args)
{ int i= 11, j= 20;
double prom= (i+j)/2.0;
System.out.println(“i es: ” + i + ” y j es: ” + j);
System.out.println(“El promedio es:” + prom);
}
}
Pro
gra
mació
n I
Fundamentos Básicos
Archivo: Promedio.java
Estructura de un Programa en Java:
import java.io.*;public class PruebaOperadores{ public static void main (String [] args) { int x= 4, y= 2; System.out.println(“x= ”+ x); System.out.println(“y= ”+ y); System.out.println(“x+y= ”+ (x+y)); System.out.println(“x-y= ”+ (x-y)); System.out.println(“x*y= ”+ (x*y)); System.out.println(“x/y= ”+ (x/y)); System.out.println(“x%y= ”+ (x%y)); System.out.println(“++x= ”+ ++x); System.out.println(“y++= ”+ y++); System.out.println(“x= ”+ x); System.out.println(“y= ”+ y); }}
Pro
gra
mació
n I
Fundamentos Básicos
Estructura de un Programa en Java:
Pro
gra
mació
n I
Fundamentos Básicos
System.in(InputStream)
Clase InputStreamReaderint read()read(char[])
bytes
Clase BufferedReaderreadLine()
read()read(byte[])
La entrada estándar es manejada por la clase System.in que permite leer de la consola de entrada ó teclado. Las clases y métodos usados son:
Entrada Estándar:
import java.io.*;
public class Lectura { public static void main( String args[] ) throws IOException { String dato;
InputStreamReader lector = new InputStreamReader(System.in); BufferedReader buffer = new BufferedReader(lector); System.out.print("Ingrese un dato: "); dato = buffer.readLine(); System.out.print("El dato que Ud. Ingresó es: “ + dato);
}}
Pro
gra
mació
n I
Fundamentos Básicos
Entrada Estándar:
import java.io.*;
public class OtraLectura { public static void main( String args[] ) throws IOException { int dato;
DataInputStream lector = new DataInputStream(System.in);
System.out.println("Ingrese un dato: ");
dato = Integer.parseInt(lector.readLine());
System.out.print("El dato que Ud. Ingresó es: “ + dato);
}}
Pro
gra
mació
n I
Fundamentos Básicos
Entrada Estándar:
Fundamentos BásicosP
rog
ram
ació
n I Conversión de Datos:
Java posee varias clases que se identifican con los distintos tipos de datos, entre ellas se encuentran: Clase String Clase Character Clase Integer Clase Float Clase Double
Estas clases son muy utilizadas para realizar conversiones entre los distintos tipos de datos, además de poseer cada una diversidad de métodos. Los mas usados para realizar conversiones son los métodos parse y to. Como en el ejemplo anterior Integer.parseInt
Fundamentos BásicosP
rog
ram
ació
n I
Prueba crear un objeto de alguna de éstas clases para que te sorprendas de todas las cosas que puedes hacer con ellas.Por ejemplo: String objeto; //Declaración de un objeto de la clase String objeto. //Aquí debes ver todos los atributos y métodos que le proporcionó la clase String al objeto
Entre los métodos mas usados se encuentran: compareTo(…) length() replace(…) split(…) subString(…)
toLowerCase()toString()toUpperCase()valueOf(…)Entre otros……
Conversión de Datos:
Fundamentos BásicosP
rog
ram
ació
n I
De Número a Caráctervar_char = Character.forDigit(var_num, base);
De Carácter a Númerovar_num = Character.digit(var_char, base);
De Carácter a Cadena El char a convertir debe ser un
objeto de la clase Character.Character objeto = new Character(‘letra’);var_String = objeto.toString();
Conversión de Datos:
Fundamentos BásicosP
rog
ram
ació
n I
De Número a Cadena El dato a convertir debe ser un
objeto de una clase numérica.clase_num objeto = new clase_num(valor);var_String = String.valueOf(var_num);
De Cadena a Número El dato al que convertimos debe
ser un objeto.clase_num objeto = new clase_num(var_String);var_num = objeto.tipoValue();
Conversión de Datos:
Fundamentos BásicosP
rog
ram
ació
n I
Entre Números El dato a convertir debe ser un objeto de
una clase numérica.clase_num objeto = new clase_num(valor);var_tipo = objeto.tipoValue();
float F = new Float (3.1416);int i = F.intValue();long l = F.floatValue();double d = F.doubleValue();
Conversión de Datos:
Fundamentos BásicosP
rog
ram
ació
n I
Conversión de Datos: Ejemplo import java.io.*;
public class conversion { public static void main (String [] args){ int n1 = Character.digit(‘7’,10); int n2 = 1; Character letra = new Character(‘z’); double n3 = 150.50; String cad1=“Numero”; String cad=String.valueOf(n3); String cad2=letra.toString(); System.out.println(cad1+” ”+cad+” ”+cad2); System.out.println(n1+n2); char nletra= Character.forDigit(n2,10); System.out.println(n1+“ ”+nletra); Integer entero = new Integer(“10”); double n4 = entero.doubleValue(); double n5 = 150.50; System.out.println(n4+n5); }}
Al hacer conversiones implícitas, la información se pierde,
por tanto el programador debe verificar la asignación
realizando un Casting.
La asignación entre un long y un int requiere de un
explícito casting.
long valorLargo= 99L;
int valorInt = valorLargo; //Error
int valorInt = (int) valorLargo; //OK
Pro
gra
mació
n I
Fundamentos Básicos
Casting ó Conversiones Explícitas:
long valorLargo= 6; //Ok
int valorInt=99L; //Error
double z=12.414F //Ok
Float x=12.414 //Error 12.414 es double
Pro
gra
mació
n I
Fundamentos Básicos
Asignaciones Incompatibles:
Agrupación de datos del mismo tipo.
0 1 2 3 . . . n
18 22 25 23 . . . 19
Pro
gra
mació
n I
Fundamentos Básicos
Arreglos:
Fundamentos BásicosP
rog
ram
ació
n I
Los arreglos son declarados muy parecido a la declaración de variables. La diferencia que existe es que al tipo se le coloca la notación [ ] para indicar que se va a declarar un arreglo.
Por ejemplo:
Declaración de Arreglos:
Fundamentos BásicosP
rog
ram
ació
n I
Una vez que el arreglo ha sido declarado, se debe pedir espacio de memoria para él.
Esto se hace con el operador new el cual solicita memoria para el objeto (recuerde que un arreglo es implícitamente un objeto). El operador new va seguido del tipo del arreglo y entre [] se coloca el tamaño del mismo.
Por ejemplo:
Inicialización de Arreglos:
Fundamentos BásicosP
rog
ram
ació
n I
Para referenciar un elemento dentro del arreglo, se usa el operador []. Este operador recibe un entero y retorna el elemento que corresponda a ese índice. En Java los índices de los arreglos comienzan en 0.
Manipulación de Arreglos:
Pro
gra
mació
n I Declaración, Inicialización y Manipulación de Arreglos:
Fundamentos Básicos
Crea un espacio para una referencia, la cual es creada con el operador new
Pro
gra
mació
n I Representación de un Arreglo en Memoria:
Fundamentos Básicos
Pro
gra
mació
n I Declaración e Inicialización de Arreglos:
Fundamentos Básicos
Automáticamente el arreglo apellidos tendrá una longitud de 3, con sus posiciones inicializadas.
Pro
gra
mació
n I Declaración de Arreglos Multidimensionales:
Fundamentos Básicos
Pro
gra
mació
n I Declaración de Arreglos Multidimensionales No
Cuadrados:
Fundamentos Básicos
Por defecto los arreglos son inicializados en 0, siempre y cuando sean numéricos.
Pro
gra
mació
n I Inicialización y Manipulación de Arreglos:
Fundamentos Básicos
Fundamentos BásicosP
rog
ram
ació
n I Investigar
Los métodos de las siguientes clases que ofrece Java: Clase String Clase Character Clase Integer Clase Float Clase Double
http://java.sun.com/j2se/1.4.2/docs/api/index.html
API de Java:
Clase StringBuffer Clase StringTokenizer Clase Math Clase Random
:: Prof. Yeniffer Peña
Pro
gra
mació
n I
Finalización
Introducción a JAVAIntroducción a JAVA