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

Slides:



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

Estructuras de decisión en C
Curso de JAVA. Iniciando con las Técnologias Java.
1.2 Sintaxis del lenguaje Java.
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
Estructuras de control
Una breve introducció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.
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.
Tema 4: Sentencias de control
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
Unidad III Elementos del lenguaje C++
Tema 2: Los tipos de datos
Repaso/resumen 1.lectura/escritura y asignación 2.funciones 3.selección de instrucciones (if-else) 4.repetición de instrucciones (while) 5.recursión 6.operadores/instrucciones.
CI TEORIA semana 4 Estructura Algorítmica: SELECCIÓN
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.
Lenguaje de programación Java UNIVERSIDAD REGIONAL DEL SURESTE.
Java Java Java (1995) fue desarrollado en Sun Microsystems por James Gosling, Bill Joy y Guy Steele Influenciado por C++ Soporta clases, encapsulación,
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.
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,
Ivette C. Martínez - Héctor Palacios Java – Modulo 1 Introducción y Fundamentos del lenguaje de programación Java.
Programación avanzada en Java Miguel Ángel Corella 16 de Septiembre de 2005.
Sentencias de repetición
EI, Profesor Ramón Castro Liceaga Agosto de 2005 UNIVERSIDAD LATINA (UNILA) PROGRAMACION ORIENTADA A OBJETOS EN JAVA (Optativa) ESTRUCTURA DEL LENGUAJE.
ELO3291 Estructuras fundamentales de la programación en Java ELO-329: Diseño y programación orientados a objetos Agustín J. González.
ELO3291 Estructuras fundamentales de la programación en Java ELO-329: Diseño y programación orientados a objetos Agustín J. González.
IDENTIFICADORES Un identificador es un "nombre" que nos permite dirigirnos específicamente a una de las entidades propias del lenguaje, es decir, son los.

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.
Estructura de Datos En C++
Estructuras de Decisión
Algoritmo.
Prof. Víctor Aquino Urrutia
Clase Teórica No. 3 Introducción a Java
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.
ESTRUCTURA DE CONTROL REPETITIVAS: WHILE, DO… WHILE
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.
LENGUAJE DE PROGRAMACIÓN
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) V. GESTIÓN DE TIPOS Y GENERACIÓN DE CÓDIGOS.
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,
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.
Repaso/resumen lectura/escritura y asignación funciones
Clase 8: Repaso/Resumen
Clase 7: Repaso/Resumen
Clase 10 (Repaso/Resumen)
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++ Implementa clases, encapsulación, herencia simple, polimorfismo, interfaces, garbage collection 1

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 2

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

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 (uno especial: main) y dinámicos (se ejecutan sobre un objeto) Interfaz – Define la firma de un procedimiento 4

Un archivo básico para hacer un programa que corra 5 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 6 Programa lee dos números del teclado y dice cual es el mayor y el menor SIN USAR INSTRUCCIONES CONDICIONALES import java.util.*; //para usa Scanner public class MiClase { static public void main(String[] args) { Scanner s = new Scanner(System.in); System.out.print(″Numeros ? ″); double n1 = s.nextDouble(); double n2 = s.nextDouble(); double m = (n1+n2)/2, mdif = Math.abs((n1-n2)/2); System.out.println(″Menor = ″+(m+mdif)); System.out.println(″Mayor = ″+(m-mdif)); }

Ejemplo 2 7 Programa que lee un número entero que contiene una fecha en formato aaaammdd y lo imprime como dd/mm/aaaa import java.util.*; //para usa Scanner public class CambiarFormatoFecha { static public void main(String[] args) { Scanner U = new Scanner(System.in); System.out.print(“Fecha en aaaammdd : “); int n = U.nextInt(); int a=n/10000, d=n%100, a=n%10000/100; System.out.print(“Fecha en dd/mm/aaaa : “); System.out.print(d+“/”+m+”/“+a); }

Tipos, Valores y Variables Una variable en Java puede almacenar 2 tipos de valores: – Primitivos – Primitivos: variable corresponde a un nombre nemotécnico de un lugar en la memoria donde está guardado el valor – Referencias – Referencias: variable corresponde a un nombre del lugar en memoria que contiene la dirección donde está almacenado el dato Variables primitivas y referencias son fuertemente “tipeadas” 8

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 9

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 10

Conversión 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; 11

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 12

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);

Funciones Matemáticas Predefinidas import java.util.*; //para usa Scanner public class Triangulo { static public void main(String[] args) { System.out.println(“triángulo:lados a,b, y angulo alfa”); Scanner U = new Scanner(System.in); System.out.println(“a b alfa ”), double a = U.nextDouble(), b=U.nextDouble(), alfa = U.nextDouble()* Math.PI/180; double c = Math.sqrt(Math.pow(a * Math.sin(alfa),2)+ Math.pow(b - a * Math.cos(alfa),2)); System.out.println(“Perímetro=” + (a+b+c)); double s=(a+b+c)/2;//semi-perimetro System.out.println(“Area=“+Math.sqrt(s*(s-a)*(s-b)*(s-c))); } 14

Funciones definidas en clase Math

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 ! 16

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

Métodos en otra clase public class MiClase { //En archivo MiClase.java static public void main(String[] args) { int f1= , f2= ; // fecha DDMMAAAA System.out.println(“mayor=“+ Math.max( F.aaaammdd(f1), F.aaaammdd(f2))); } class F { //En archivo F.java static public int aaaammdd(int x){ int d = x/ , m = x/10000%100, a = x%10000; return a* m*100 + d; } static public int ddmmaaaa(int x){ int d = x%100, m = x/100%100, a = x/10000; return a + m* d* ; }

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

If / if else 20 Notacalificación 1.0 – 3.9reprobado 4.0 – 4.9aprobado 5.0 – 5.9distinción 6.0 – 7.0distinción máxima 7.0fuera de rango Ejercicio. Escribir un programa que establezca el siguiente diálogo: Nota? ___ Calificación = … En que la calificación se determina de acuerdo a la siguiente tabla:

Solución 1: con if sin else 21 nota= unScanner.nextDouble(); System.out.print(“Calificacion=“); if (1.0 <= nota && nota <= 3.9) System.out.println(“reprobado”); if (4.0 <= nota && nota <= 4.9) System.out.println(“aprobado”); if (5.0 <= nota && nota <= 5.9) System.out.println(“distinción”); if (6.0 <= nota && nota <= 7.0) System.out.println(“distinción máxima”); if (nota 7.0) System.out.println(“fuera de rango”); Nota. Siempre evalúa las 5 condiciones

Solución 2: con selección múltiple 22 if (1.0 <= nota && nota <= 3.9) System.out.println(“reprobado”); else if 4.0 <= nota && nota <= 4.9 System.out.println(“aprobado”); else if 5.0 <= nota && nota <= 5.9) System.out.println(“distinción”); else if 6.0 <= nota && nota <= 7.0 System.out.println(“distinción máx”); else System.out.println(“fuera de rango”); Nota. más eficiente (evalúa sólo hasta la 1ª condición verdadera)

Solución 3: más breve y eficiente (condiciones simples) 23 if (nota 7) System.out.print(“Fuera de rango”); else if (nota < 4) System.out.print(“reprobado”); else if (nota < 5) System.out.print(“aprobado”); else if (nota < 6) System.out.print(“distinción”); else System.out.print(“distinción máxima”);

Operadores Relacionales > > Mayor >= >= Mayor o igual < < Menor <= <= Menor o igual == == Igual != != Distinto 24 && && and || || or ! ! not Operadores Lógicos

Ejemplo diasMes 25 static public int diasMes(int m,int a){ if(m==1||m==3||m==5||m==7||m==8||m==10||m==12) return 31; else if(m==4||m==6||m==9||m==11) return 30; else if(m==2)//if(cond simple) sin else if(bisiesto(a)) return 29; else return 28; return 0;//mes incorrecto } static public boolean bisiesto(int x){ return x%4==0 && x%100!=0 || x%400==0; }

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 26 switch ( ) { case :... break; case :... break; default:... }

Ejemplo diasMes Con switch 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 2 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;

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 ); 29

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… } 30

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) 31

Ejemplos //tabla celsius – fahrenheit cada 5°C int g=-20; while(g<=40){ System.out.println(g+”ºC=“+(9.0/5.0*g+32)+”ºF”); g=g+5; } //calculo de promedio de notas válidas int suma = 0, n = 0; Scanner U = new Scanner(System.in); while(true) { double x = U.nextDouble(); if (x == 0) break; // fin de datos if (x 7.0) continue; suma += x; x++; } System.out.println(“Promedio = “+suma/n);

Operadores especiales double suma, mayor, numero; int n; suma = mayor = n = 0; while((numero=U.nextDouble())!=0){ U.println(“prom=”+(suma+=numero)/ ++n); mayor=max(numero,mayor); } U.println(“mayor=“+mayor); static public double max(double x,double y){ return x>y ? x : y; }

for Sintaxis inicializaciónreinicialización for ( inicialización ; condición; reinicialización ) { sentencias ; (si es una sola se pueden omitir {}) } inicializaciónreinicialización inicialización y reinicialización pueden ser listas de expresiones separadas por comas for ( x=0; x < 10; x++ ) { // ejecuta el bloque mientras x < 10 } for ( x=0, y=0; x < 20; x++, y++ ) { // ejecuta el bloque mientras x e y < 20 } 34

35 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; } 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)) System.out.println(j); } Ejemplos de for