Java Java Java (1995) fue desarrollado en Sun Microsystems por James Gosling, Bill Joy y Guy Steele Influenciado por C++ Soporta clases, encapsulación,

Slides:



Advertisements
Presentaciones similares
Curso de java básico (scjp)
Advertisements

Curso de JAVA. Iniciando con las Técnologias Java.
Orientación a Objetos con Java SE
Introducción Abdelahad, Corina Natalia Abdelahad, Yanina Zoraida
Desarrollo de Aplicaciones para Internet
1.2 Sintaxis del lenguaje Java.
Introducción al Lenguaje C (ANSI)
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
ESTRUCTURAS DE SECUENCIA
Java Java es un lenguaje de programación presentado en 1995 enfocado a: soportar los fundamentos de la programación orientada a objetos. generar código.
Conceptos Básicos de Java
Unit 1: Overview and Positioning
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
Modificadores.
POO Java Módulo 3 Elementos de programas Identificadores
Java Orientado a Objetos CLASES,OBJETOS Y MÉTODOS
Tema 6: Clases Antonio J. Sierra.
SCJP Sun Certified Programmer for Java 6
Características de “C”
Características de “C” Y Esta conformado por un Ambiente Integrado. Y Es un Lenguaje de Nivel medio. Y Es un compilador. YContiene un conjunto de palabras.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SEMANA TRES ASIGNACION.
El lenguaje de programación Java
JAVA J.A.C..
Unit 1: Overview and Positioning
Tema 2: Los tipos de datos
Java. Java nació el año 1991, por un par de ingenieros de la Sun Microsystems.
Capítulo 1 “Elementos de Programación”
Sintaxis de C# (Declaraciones y Tipos)
Programa Vespertino de Automatización Equipos y Sistemas de Control Digital Lenguaje C Profesor: Felipe Páez Mejías D e p a r t a m e n t o d e I n g e.
Curso Programación en Java
Lenguaje de Programación Java. Historia Java es un lenguaje de programación orientado a objetos desarrollado por Sun Microsystems a principios de los.
Lenguaje de programación Java UNIVERSIDAD REGIONAL DEL SURESTE.
Informática Ingeniería en Electrónica y Automática Industrial
El Lenguaje C++. Creación de programas simples de C++ Builder como ejercicios en C++. Los elementos de control fundamentales en C++, incluyendo operadores.
Resumen Fundamentos de Programación/ Programación I
Estructuras de Control.
MBA. LIDA LOOR MACIAS2 Historia. El perfil de Java. Los padres de Java son James Gosling (emacs) y Bill Joy (Sun) Java desciende de un lenguaje llamado.
Programación orientada a objetos. El método main es el comportamiento por el cual comienzan todos los programas en Java, de la misma forma en la que C,
Elementos básicos del lenguaje
Ivette C. Martínez - Héctor Palacios Java – Modulo 1 Introducción y Fundamentos del lenguaje de programación Java.
MBA. LIDA LOOR MACIAS 1. 3 martes, 13 de octubre de 2014 OBJETIVO: El estudiante adquirirá los fundamentos básicos de la programación orientada a objeto.
Programación avanzada en Java Miguel Ángel Corella 16 de Septiembre de 2005.
EI, Profesor Ramón Castro Liceaga Agosto de 2005 UNIVERSIDAD LATINA (UNILA) PROGRAMACION ORIENTADA A OBJETOS EN JAVA (Optativa) ESTRUCTURA DEL LENGUAJE.
PROGRAMACIÓN MULTIMEDIA
IDENTIFICADORES Un identificador es un "nombre" que nos permite dirigirnos específicamente a una de las entidades propias del lenguaje, es decir, son los.
FUNDAMENTOS DE PROGRAMACIÓN
CARACTERÍSTICAS Es un lenguaje de programación estructurado de propósito general. Está estrechamente asociado al sistema operativo UNIX, ya que el propio.
PRINCIPIOS DE PROGRAMACIÓN

Capítulo 2 “Subprogramas/Funciones - Arreglos”
Fundamentos de Programación
Ing. Esp. Ricardo Cujar.  Lenguaje de programación orientado a objetos.  Desarrollado por Sun MicroSystems.  Independiente del Sistema Operativo gracias.
Práctica Profesional PHP.
Estructuras de Decisión
Java Java es un lenguaje de programación presentado en 1995 enfocado a: soportar los fundamentos de la programación orientada a objetos. generar código.
Ing. Esp. Ricardo Cujar. Permite la ejecución de una sentencia, dada una determinada condición. If(condición){ sentencia(s) a ejecutar en caso de que.
Conceptos y Lenguaje Imperativo
Elementos básicos.  Fuertemente tipeado.  Sintaxis similar a C/C++.  Sin punteros: garbage collection.  Portable.  Integra librerías para objetos.
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) V. GESTIÓN DE TIPOS Y GENERACIÓN DE CÓDIGOS.
Java Java Java (1995) fue desarrollado en Sun Microsystems por James Gosling, Bill Joy y Guy Steele Influenciado por C++ Implementa clases, encapsulación,
Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Práctica 3.
1 Métodos. 2 Un método es un conjunto de instrucciones definidas dentro de una clase, que realizan una determinada tarea y a las que podemos invocar mediante.
LICETH CAJAS 3RO ASI 26/10/2010. Es un lenguaje de programación diseñado para crear una amplia gama de aplicaciones que se ejecutan en.NET Framework,
Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones Fundamentos de Programación Departamento.
Métodos en Java. Estructura de un programa en Java ► La relación con la vida misma la podemos ver en el siguiente comentario: Imaginemos que dos clases.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Java y JSP Introducción a Java. Reseña histórica  Surge en 1991 por Sun Microsystems  Desarrollado para electrodomésticos  Se buscaba un código neutro.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Transcripción de la presentación:

Java Java Java (1995) fue desarrollado en Sun Microsystems por James Gosling, Bill Joy y Guy Steele Influenciado por C++ Soporta clases, encapsulación, herencia simple, polimorfismo, interfaces, garbage collection 1

Java Objetivo inicial: un lenguaje de programación para dispositivos de consumo Requerimientos: pequeño, rápido, confiable y portable En 1994 se produce la explosión del Web, y Sun advierte que Java es ideal para aplicaciones Internet: – Independiente de la plataforma – Pequeño – Seguro 2

El Lenguaje Java Independiente de la plataforma Seguro Simple Robusto Orientado a Objetos Distribuido Multi-threaded Ref: tml 3

El Modelo Java bytecode Al compilar un programa Java, se genera un código de máquina intermedio definido por Sun, que recibe el nombre de bytecode 4

El Modelo Java El código bytecode es portable entre diferentes plataformas 5

Tipos de Archivos Java Todo archivo define una clase o una interfaz Clase: – Define e implementa un tipo de objeto – Variables (representación) – Procedimientos (funciones) estáticos (especial: main) y dinámicos (se ejecutan sobre un objeto) Interfaz – Define la firma de un procedimiento 6

Un archivo básico para hacer un programa que corra 7 public class MiClase { static public void main(String[] args) { Aqui van las instrucciones que se ejecutarán cuando se “eche a correr” la clase } El programa debe ser escrito en un archivo llamado MiClase.java ( MiClase es el nombre de la “clase” y lo inventa el programador, por convención empieza con mayúscula Al compilarse se generará el archivo MiClase.class, que es el que se ejecuta Si se cambia algo en el programa hay que compilarlo de nuevo para que se refleje el cambio en el archivo class

Ejemplo 1 8 import java.util.*; //para usa Scanner public class MiClase { static public void main(String[] args) { Scanner s = new Scanner(System.in); System.out.print(″Distancia (metros) ? ″); double d = s.nextDouble(); System.out.print(″Tiempo (segundos) ? ″); double t = s.nextDouble(); double v = (d/1000)/(t/3600); System.out.println(″Velocidad = ″+v+″ km/h″); }

Ejemplo 2 9 import java.util.*; //para usa Scanner public class ChequeoEdad { static public void main(String[] args) { Scanner s = new Scanner(System.in); System.out.print(″Cual es tu nombre ? ″); String nomb = s.nectLine(); System.out.print(″Qué año nasciste ? ″); int an = s.nextInt(); int mls = System.currentTimeMillis(); int ah = (int)(mls/1000/3600/24/ ); System.out.print(nomb+″ tiene cerca de “); System.out.print((an-ah)+” años “); }

Características del Lenguaje Case-sensitive: diferencias entre mayúsculas y minúsculas ; Todas las sentencias terminan con un punto- coma (;) Los espacios blancos (incluyendo tabs y fines de línea) se ignoran, excepto al interior de strings 10

Comentarios // // comentarioCaracteres desde // hasta el fin de línea son ignorados /* */ /* comentario */Caracteres entre /* y */ son ignorados /** */ /** comentario */ Caracteres entre /** y */ son ignorados e incluidos en la documentación javadoc 11

Javadoc 12

Identificadores Nombre dado a una variable, clase, o método Comienza con una letra Unicode (incluyendo _ y $), a la que pueden seguir letras y dígitos Puede tener cualquier tamaño Ejemplos – apellido – $ –  13

Tipos, Valores y Variables tipos En Java existen 2 categorías de tipos: – Primitivos – Primitivos: boolean, char, byte, short, int, long, float, double – Referencias – Referencias: objetos, interfaces, arreglos variable Una variable es un espacio de memoria que puede almacenar: 14 Tipo de la variablePuede almacenar PrimitivoUn valor del tipo que se declaró ClaseEl valor null, o una referencia a una instancia de la clase o de alguna subclase de la clase InterfazEl valor null, o una referencia a una instancia de alguna clase que implemente la interfaz ArregloEl valor null, o una referencia a un arreglo de elementos del tipo del arreglo

Tipos de Datos Primitivos TipoValores boolean truefalse true o false charCarácter Unicode (de 16 bits) byteEntero de 8 bits (con signo) shortEntero de 16 bits (con signo) intEntero de 32 bits (con signo) longEntero de 64 bits (con signo) floatNúmero flotante de 32 bits doubleNúmero flotante de 64 bits 15

Variables Una variable es un espacio de almacenamiento de datos, con un nombre y un tipo de datos asociado La existencia de una variable está dada por su alcance: – static – static (variable "de clase"): se crea una vez, sin importar cuántas instancias de la clase existan – no static – no static (variable "de instancia"): se crea una vez por cada instancia de la clase – local – local: se crea al ejecutarse la declaración, y desaparece al finalizar el bloque en el que fue creada 16

Valores Iniciales Variables de instancia y de clase – tipos primitivos numéricos0 – char'\u0000' – booleanfalse – referencias null Variables locales – Deben ser inicializadas explícitamente antes de ser usadas; de lo contrario se produce un error de compilación 17

Constantes Una vez inicializadas, no pueden ser modificadas final Se utiliza la palabra reservada final para definir una constante static Típicamente las constantes se definen como static, para no instanciarlas con cada objeto Ejemplo class Circulo { static final double PI = ; } 18

Conversión de Tipos Java es fuertemente tipeado – Chequea compatibilidad de tipos en tiempo de compilación – Permite hacer cast entre tipos – Provee operadores para determinar el tipo de un objeto en tiempo de ejecución 19

Conversion Implícita Cualquier valor numérico puede ser asignado a una variable numérica que seoporte un rango de valores más amplio byte short int long float double más chico más grande Ejemplo int i = 1000; double d = i; 20

Cast Explícito cast Cuando una conversión implícita no es posible, un cast explicita la conversión a realizar casts Sólo se permiten casts que tienen sentido 21

Cast de Tipos Primitivos Puede perderse precisión double d = 20.5; long l = (long) d; System.out.println(l); Pueden perderse dígitos long l = ; short s; s = (short) l; System.out.println(s);

Bloque { } Cualquier número de sentencias agrupadas entre un par de llaves { } Puede ser usado en cualquier lugar donde se acepta una sentencia simple ámbito (scope) El bloque define el ámbito (scope) de las variables El bloque provee contornos para el control de flujo del procesamiento 23

Ambito de Variables public class MiClase { int a; static int b; public void miMetodo( ) { int c; if (condicion){ { int d;... } } d fuera de ámbito } c fuera de ámbito } a y b fuera de ámbito 24

Operador de Asignación = Se usa el símbolo = para asignar un valor Ejemplo sueldo = ; validado = true; La asignación puede ocurrir en la declaración String nombre = "Paula"; 25

Operadores Aritméticos + +Suma - -Resta * *Multiplicación / /División % %Resto 26

Métodos Estáticos Se identifican con el selector static Devuelven o no un resultado de un cierto tipo Reciben un número determinado de parámetros de tipo determinado Métodos de igual nombre pero con distinto número o tipo de parámetros son métodos distintos ! 27

Métodos en la misma clase 28 public class MiClase { ststic public int suma(int x, int y ) { return x+y; } static public int suma(int x, int y, int z) { return x+y+z } static public void main(String[] args) { System.out.println(suma(5,4)+” “+suma(2,3,4)); }

Métodos en otra clase 29 public class MiClase { //En archivo MiClase.java static public void main(String[] args) { System.out.println(Sumas.suma(5,4)+” “+ Sumas.suma(2,3,4)); } public class Sumas { //En archivo Sumas.java public int suma(int x, int y ) { return x+y; } static public int suma(int x, int y, int z) { return x+y+z }

Parámetros pasdos por valor public static int fact(int x) { resultado = 1; while (x > 1) { resultado *= x; x--; } return resultado; } public static void main(String[] args) { Scanner c = new Scanner(System.in); System.out.print(“ingrese un numero:”); int numero = c.nextInt(); int res = fact(numero); System.out.println(“El factorial de “+numero+” es “+res); //numero no se modifica porque se le pasa una copia }

Operadores Abreviados var op= expression es equivalente a: var = var op (expression) Ejemplo a *= b + 1; es equivalente a: a = a * (b + 1); 31

Incremento y Decremento i++ es equivalente a i = i + 1 i-- es equivalente a i = i - 1 El valor de la expresión es el valor de la variable antes o después de la operación, según si el operador se encuentra a la izquierda o a la derecha del operando Ejemplo int x = 10; System.out.println( x++ ); // x=11, print 10 System.out.println( ++x ); // x=12, print 12 System.out.println( x ); // print 12 32

Sentencias de Control de Flujo if / else switch for while do / while 33

if if ( result == 0 ) { System.out.println("No encontrado!"); } 34

if / else if (rol.equals("administrador")) { // acceso a administración; } else { // no tiene acceso a administración } 35

Operadores Relacionales > > Mayor >= >= Mayor o igual < < Menor <= <= Menor o igual == == Igual != != Distinto 36

Operadores Lógicos && && and || || or ! ! not Ejemplo boolean fin = eof || (str != null && str.equals(patron)); 37

if / else public static diasVac(int años) { if ( años 100) vacaciones = -1; if ( años < 5 ) { vacaciones = 10; } else if ( años < 10 ) { vacaciones = 15; } else { vacaciones = 20; } return vacaciones; } 38

Operador "?" Expresión condicional: – condición ? expresión 1 : expresión 2 El valor de la expresión es expresión 1 si la condición es verdadera, y expresión 2 de lo contrario Ejemplo montoNeto = hayImpuesto ? p * 1.05 : p; es equivalente a: 39 if (hayImpuesto) { montoNeto = p * 1.05; } else { montoNeto = p; }

40 Más ejemplos: static public int factorial(int x){ return x==0 ? 1 : x*factorial(x-1); } es equivalente a: static public int factorial(int x){ if(x==0) return 1; else return x*factorial(x-1); } static public int digitos(int x){ return x<10 ? 1 : 1+digitos(x/10); } es equivalente a: static public int digitos(int x){ if(x<10) return 1; else return 1+digitos(x/10); }

while y do while Sintaxis 1: se ejecuta 0 o más veces while ( condición ) { sentencias } Sintaxis 2: se ejecuta 1 o más veces do { sentencias } while ( condición ); 41

break break break causa el fin del ciclo en el que se encuentra while ( condición ) { sentencias… if (condición de salida) { break; } más sentencias… } 42

continue continue continue causa el fin de la iteración actual y el paso a la siguiente while ( condición ) { sentencias… if (condición siguiente iteración) { continue; } más sentencias… } (ver ejemplos instrucciones especiales) 43

Programa que calcule el promedio de una cantidad indeterminada de números: Scanner s = new Scanner(System.in); double suma=0; int n=0; double numero=s.nextDouble(); while( numero != 0 ) { suma=suma+numero; n=n+1; System.out.println(“promedio=”+suma/n); numero=s.nextDouble(); } 44

Refinamiento : La asignación como expresión Scanner s = new Scanner(System.in); double suma, numero; int n; suma = n = 0; while((numero=s.nextDouble())!=0) System.out.println(“promedio=” + (suma=suma+numero)/(n=n+1)); } //otra posibilidad System.out.println(“promedio=”+ (suma+=numero)/(n+=1)); 45

switch Selección múltiple int switch debe evaluar un int literalstatic final case debe ser un literal o un campo static final break break abandona el bloque del switch (de otra manera los siguientes cases son ejecutados sin ser evaluados) default El bloque default es opcional 46 switch ( ) { case :... break; case :... break; default:... }

Ejemplo de switch public static void main(String[] args) { switch (args.length) { case 0: FileEditor e = new FileEditor(); break; case 1: FileEditor e = new FileEditor(args[0]); break; default: // mensaje de error y fin } 47

Función que entregue el Nº de días de un mes static public int diasMes(int x){... } Solución 1. Con if sin else int d=0; if( x==1 ) d=31; if( x==2 ) d=28; if( x==3 ) d=31; if( x==4 ) d=30; if( x==5 ) d=31; if( x==6 ) d=30; if( x==7 ) d=31; if( x==8 ) d=31; if( x==9 ) d=30; if( x==10 ) d=31; if( x==11 ) d=30; if( x==12 ) d=31; return d; evalúa 12 condiciones siempre

Solución 2. Con selección múltiple if-else if-...-else int d=0; if( x==1 ) d=31; else if( x==2 ) d=28 else if( x==3 ) d=31; else if( x==4 ) d=30; else if( x==5 ) d=31; else if( x==6 ) d=30; else if( x==7 ) d=31; else if( x==8 ) d=31; else if( x==9 ) d=30; else if( x==10 ) d=31; else if( x==11 ) d=30; else if( x==12 ) d=31; return d; evalúa x condiciones (12 en el peor caso)

Solución 3. Con Instrucción switch (una evaluación) int d; switch(x){ case 1: d=31; break; case 2: d=28; break; case 3: d=31; break; case 4: d=30; break; case 5: d=31; break; case 6: d=30; break; case 7: d=31; break; case 8: d=31; break; case 9: d=30; break; case 10: d=31; break; case 11: d=30; break; case 12: d=31; break; default: d=0; } return d;

Solución 4 int d=0; switch(x){ case 1:case 3:case 5:case 7:case 8:case 10:case 12: d=31; break; case 4:case 6:case 9:case 11: d=30; break; case 2: d=28; break; } return d; alternativamente : switch(x){ case 1:case 3:case 5:case 7:case 8:case 10:case 12: return 31; case 4:case 6:case 9:case 11: return 30; case 2: return 28; } return 0;

for Sintaxis for (inicialización; condición; reinicialización) { sentencias } Nota – inicializaciónreinicialización – inicialización y reinicialización pueden ser listas de expresiones separadas por comas 52

Ejemplo de for for ( x=0; x<10; x++ ) { // ejecuta el bloque mientras x < 10 } for ( x=0, y=0; y<20; x++, y+=x ) { // ejecuta el bloque mientras y < 20 } 53

54 static public boolean primo(int x) { if(x%2==0) return x==2; for(int i=3; i<=(int)Math.sqrt(x); i+=2) if(x%i==0) return false; return true; } System.out.println(“primos terminados en 1:”); for(int i=1; i<=100; i+=10) if(primo(i)) U.println(i); System.out.println(“primos terminados en 3:”); for(int i=3; i<=100; i+=10) if(primo(i)) U.println(i); for(int i=1; i<=9; i+=2) { System.out.println(“primos terminados en “+i); for(int j=i; j<=100; j+=10) if(primo(j)) U.println(j); } Ejemplo de for

Etiquetas (Labels) Los labels se usan típicamente en bloques y ciclos Un label es un identificador seguido de dos puntos: Label1: El label identifica la siguiente sentencia 55

Ejemplo search: for (...) { for (…) { if (...) { break search; } 56