TÉCNICAS DE PROGRAMACIÓN Lenguaje Java. Introducción a Java Daniel Finol



Documentos relacionados
Tema 1. Introducción a JAVA

Java en 2 horas. Rodrigo Santamaría

TEMA 2. Agenda. Fundamentos de JAVA

Modulo 1 El lenguaje Java

Introducción a Java LSUB. 15 de enero de 2015 GSYC

Introducción... 1 Qué es Java?... 1 Compilando a Bytecode... 1 Usando jgrasp Para Hacer el Trabajo Sucio... 5 El Entorno de jgrasp...

Primera Escuela de la Red Temática SVO. Madrid, Noviembre, 2006 JAVA BÁSICO. Raúl Gutiérrez Sánchez LAEFF - INTA raul@laeff.inta.

Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java

Partes de un programa en Java. A. Ejemplo de un Programa en Java /* Programa Ejemplo de Java: Muestra una Ventana Archivo: Ejemplo1.

Elementos léxicos del lenguaje de programación Java

Introducción al lenguaje Java

Tema 2. El lenguaje de programación Java (Parte 1)

Introducción al lenguaje de programación java

Para leer la entrada de consola, lo primero que se hace es construir un Scanner que este asociado al flujo de entrada estándar System.

Taller de Programación Estructurada en Java Tema 2. Fundamentos de la programación orientada a objetos

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

El lenguaje de programación Java

Prácticas: Introducción a la programación en Java. Informática (1º Ingeniería Civil) Curso 2011/2012

Java en 3 horas. Ampliación de Sistemas Operativos. Rodrigo Santamaría

Gestor de aplicaciones Java. Esta herramienta es el intérprete de los archivos de clase generados por el javac (compilador).

2. Estructura de un programa en Java

8. Sentencia return y métodos

Lo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK.

FACULTAD DE INGENIERÍA

I. Introducción a la programación orientada a objetos y al lenguaje JAVA Colegio Reuven Feuerstein Javier Navarro

CONCEPTOS BASICOS DEL LENGUAJE JAVA

FACULTAD DE INGENIERÍA

1. Aplicaciones del J2SE SDK1.4.2 de Sun.

VARIABLES, CONSTANTES Y EXPRESIONES ASIGNACIÓN. TIPOS ELEMENTALES. PRECEDENCIA DE LOS ESTRUCTURAS DE CONTROL. CONDICIONAL E

James Gosling, creador de Java

Java Inicial (20 horas)

(volver a Tabla de Contenidos)

Introducción al desarrollo de RIA's con Adobe Flex 3.0 Dia 4

El lenguaje de Programación C. Fernando J. Pereda

2.1. Introducción al lenguaje Java

Introducción a la Programación en Java. Page 1

Tema: Introducción a Java y Netbeans

Programación Orientada a Objetos con Java

1. Manejo de memoria estática 2. Manejo de memoria dinámica

Módulo 1 El lenguaje Java

Repaso desarrollo de software Parte #1. Jorge Iván Meza Martínez

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez

Programa Java. El lenguaje de programación Java. Comentarios. Programa Java. Palabras reservadas. Identificadores

! Una variable declarada con final no puede volver a ser reinicializada. numero = 2;! ! Para definir constantes

11. Algunas clases estándar de Java (II)

Fundamentos del Lenguaje de Programación Java

Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia

Programación Orientada a Objetos. Java: Excepciones

Tema 3 Elementos básicos de programación

INTELIGENCIA ARTIFICIAL 2015 TALLER RÁPIDO DE PROGRAMACIÓN EN JAVA

Una variable de clase escalar tiene un nivel de indirección igual a 1. Por ejemplo, las variables i, b y x definidas como se muestra a continuación.

Objetos y Clases en Java. ELO 329: Diseño y Programación Orientados a Objetos

Características generales del lenguaje Java. María a Consuelo Franky

Objetivo de aprendizaje del tema

Sintaxis y Convenciones de Java. M. en C. Erika Vilches

Java. Mtro. Manuel Suárez Gutiérrez

INTRODUCCIÓN A JAVA. Índice

Tema: Clases y Objetos en C++.

Programación Interactiva Introducción a Java. Escuela de Ingeniería de Sistemas y Computación Facultad de Ingeniería Universidad del Valle

Computación III. Objetivo de aprendizaje del tema

A continuación resolveremos parte de estas dudas, las no resueltas las trataremos adelante

Tema 6. Reutilización de código. Programación Programación - Tema 6: Reutilización de código

Sensor de Temperatura utilizando el Starter Kit Javelin Stamp. Realizado por: Bertha Palomeque A. Rodrigo Barzola J.

Repaso de las características más importantes de la programación Java y su adaptación a Android

9. Objetos y clases Clases

Programación Avanzada para Sistemas de Telecomunicación. Objetos y clases. J.C. Cruellas. Objetos y clases

JavaScript. Contenidos. Introducción El lenguaje Validación de formularios. Programación en Internet DLSI - Universidad de Alicante 1

Tipos primitivos y clases de interés

Programación orientada a objetos

Programación Avanzada para Sistemas de Telecomunicación Arrays

Tema 2. El lenguaje de programación Java. Arrays y cadenas

Objective C (Desarrollo con Apple)

Julio C. Sandria Reynoso

Resumen Lenguaje Java


10. Algunas clases estándar de Java (I)

Programación Orientada a Objetos. Java: Excepciones

CAPITULO 3 VRML-JAVA-WWW

1 ELEMENTOS BASICOS DEL LENGUAJE

UNIVERSIDAD DE SEVILLA PRÁCTICAS DE LABORATORIO ANÁLISIS SINTÁCTICO (1) LENGUAJES FORMALES Y AUTÓMATAS CURSO 2006/2007

Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. IIC1102 Introducción a la Programación

PRÁCTICA No1 POO Estructuras de Control Parte I

ISTP CIDET COMPUTACION E INFORMATICA ARREGLOS EN JAVA

Tutorial básico del entorno de desarrollo Eclipse.

Introducción a la programación orientada a objetos

ACTIONSCRIPT (AS) Proyectos II. Audiovisuales. Dpto. Escultura. UPV. [sintaxis elemental]

INDICE DEL CURSO APRENDER PROGRAMACIÓN JAVA DESDE CERO. PROGRAMACIÓN ORIENTADA A OBJETOS (CU00601B)

Compilación y ejecución de programas en Java.

JAVA PARA PRINCIPIANTES

Prof. Dr. Paul Bustamante

Pruebas de unidad con JUnit

1.00 Clase 3. Tipos de datos en Java

ALGORITMICA Y PROGRAMACION POR OBJETOS I

class Nombre_Clase extends Nombre_SuperClase { cuerpo de la clase extendida }

Estructura de Datos [Tipos de datos concretos y tipos de datos abstractos]

Práctica 3 mtp. metodoloxía e tecnoloxía da programación. Presentar detalles básicos sobre la sintaxis del lenguaje de programación Java.

Ubicación e historia

Manual del Protocolo XML-RPC de Mensajería Negocios

Introducción al lenguaje JAVA

Carlos A. Fernández Java. Una Introducción. U.T.M. 1

Transcripción:

TÉCNICAS DE PROGRAMACIÓN Lenguaje Java Introducción a Java Daniel Finol

Qué es Java? Java: El lenguaje de programación Java. La Máquina Virtual de Java. La plataforma Java. 2

Qué es Java? El lenguaje de programación Java. Orientado a Objetos. Portable: "Escribir una vez, ejecutar en donde sea" Está muy ligado a Internet pero es un lenguaje de programación general. Introducido en 1995 por Sun Microsystems. Derivado de C y C++. Más simple que C++. 3

Qué es Java? La Máquina Virtual de Java. El compilador produce bytecode, no código ejecutable. La MV ejecuta el bytecode. La máquina virtual es un programa. Java es semi-interpretado. La 4

Qué es Java? La plataforma Java. Es la biblioteca de funciones y objetos que están disponibles para los programas en Java. Es decir es una Application Programming Interface (API). Proveen acceso a la plataforma subyacente (sistema operativo). También conocida como: Java Runtime Environment (JRE, Ambiente de Ejecución de Java). Probablemente tenemos uno en nuestro computador: por lo menos en el navegador. 5

Hola Mundo versión java //Hola.java public class Hola { public static void main(string[] args) { System.out.println("Hola Mundo"); // fin de la clase Hola 6

Hola Mundo Java necesita una clase en todo programa y nada se puede definir fuera de una clase. Por eso necesitamos, alrededor de la función main la definición de la clase Hola: public class Hola {... El nombre del archivo es Hola.java. El nombre de la clase es Hola: no es coincidencia: Clase: estructura que contiene funciones además de datos (variables). En un archivo no puede haber más de una clase pública. (Puede haber más clases no públicas). El nombre del archivo debe coincidir con el de la clase pública, de haberla. 7

Hola Mundo Para que una clase sea un programa debe incluir la subrutina (método) main. La subrutina main debe tener la siguiente forma: public static void main(string[] args) { sentencias Cuando Java ejecuta un programa, el intérprete llama a la subrutina main(), y se ejecutan las sentencias que esta contenga. 8

public static void main(string[] args) { sentencias public: Puede ser llamada desde cualquier parte (no sólo desde la misma clase). static: No se necesita un objeto para llamarla, funciona por sí misma. void: Es el tipo de (no) retorno, igual que en C. String[] args: lista de argumentos: arreglo de objetos de tipo (clase) String. El primero (args[0]) es el primer argumento del programa; no el nombre. 9

Hola Mundo System.out.println("Hola Mundo"); System: una clase (de la "librería estándar"). out: elemento (miembro) de la clase System. Está conectado a la salida estándar. println: método del objeto out. 10

Hola Mundo: Compilación y ejecución javac Hola.java ( Hola.class) java Hola Hola Mundo Java Virtual Machine Si hay más de una clase en un archivo, el comando javac genera un archivo.class por cada clase. Los archivos contienen bytecode, que es el lenguaje de máquina de la JVM (portabilidad/internet). 11

Clase programa. public class NombrePrograma { declaración-opcional-de-var/sub public static void main(string[] args) { sentencias declaración-opcional-de-var/sub 12

Miembros Una clase tiene dos tipos de miembros. Campos (datos, variables). Métodos (funciones, subrutinas). Datos: Primitivos. Objetos. Objeto: variable cuyo tipo es una clase. Instancia de una clase. Los miembros también pueden ser: Estáticos. No estáticos. 13

Tipos de dato primitivos Idénticos a C excepto: Tienen el mismo tamaño y formato en cualquier sistema (portabilidad). boolean: {true, false (ya no se usa int como reemplazo). byte: (8 bits). char: 16 bits Unicode. No hay unsigned (excepto char). No hay apuntadores. 14

Operadores Idénticos a C excepto: && y funcionan con booleanos y sólo evalúan el segundo operando si es necesario (igual que C). Existen & y (y ^) lógicos (que trabajan con boolean) y siempre evalúan ambos operandos. >>> (sin signo). Operadores relacionales, lógicos y de igualdad retornan boolean.?: el primer argumento debe ser boolean y los otros dos deben ser del mismo tipo (cualquiera). new, instanceof. No hay sizeof. 15

Operadores En una expresión los operandos se evalúan de izquierda a derecha: int a = 2; int v = ++a + ++a * ++a; v ==? El operador + sirve para concatenar cadenas. Ni el operador == ni el!= deben usarse con Objetos (excepto casos especiales). El operador punto (.) es uno de los más usados y sirve para tener acceso a un miembro de un objeto o a un miembro estático de una clase. 16

Ejemplo class Average { public static void main(string[] args) { int num1 = 10; int num2 = 23; System.out.println("Promedio: " + (num1+num2)/2.0); 17

Ejemplo Wrappers class Limits { public static void main(string[] args) { System.out.println("Byte: [" + Byte.MIN_VALUE + "," + Byte.MAX_VALUE + "]"); System.out.println("Short: [" + Short.MIN_VALUE + "," + Short.MAX_VALUE + "]"); System.out.println("Integer: [" + Integer.MIN_VALUE + "," + Integer.MAX_VALUE + "]"); System.out.println("Long: [" + Long.MIN_VALUE + "," + Long.MAX_VALUE + "]"); System.out.println("Float: [" + Float.MIN_VALUE + "," + Float.MAX_VALUE + "]"); System.out.println("Double: [" + Double.MIN_VALUE + "," + Double.MAX_VALUE + "]"); 18

Comentarios Tipos de comentarios Una sola línea // Comentario del tipo 1 Múltiples líneas /* Comentario del tipo 2 */ Documentación /** Comentario del tipo 3 */ El tercer tipo es utilizado en conjunción con la herramienta javadoc. 19

Control de flujo if/else, ciclos, switch, etc. idénticos a C, excepto: Donde deben ir expresiones lógicas sólo se acepta boolean, no int's (En if, condición de los ciclos). if(n) if(x = y) En la parte de incialización de for se puede declarar una variable (que sólo será visible en el ámbito del for): for(int i = 0; i < N; a[i++]++); No hay goto pero sí break y continue etiquetados. 20

Control de flujo: break etiquetado rowloop: for(int r = 0; r < rows.length; r++) { colloop: for(int c = 0; c < columns.length; c++){ break rowloop; // Use a label 21

Control de flujo: continue etiquetado public class Label { public static void main(string[] args) { outer: for (int i = 0; i < 4; ++i) { for (int j = 0; j < 4; ++j) { System.out.println("i: " + i + ", j: " + j); if (i + j == 2) continue outer; if (i + j == 4) break outer; 22

Clases y objetos Una clase es similar a una estructura en C pero que además de contener datos (variables) contiene funciones (que pueden actuar sobre esos datos). Una clase es un tipo de dato compuesto. Cada clase define un nuevo tipo de dato. Un programa en Java consiste en definiciones de clases. Una instancia de una clase se llama objeto. Un objeto es simplemente una variable de tipo X donde X es alguna clase. 23

Clases y objetos No hay objetos estáticos (en la pila), siempre se crean dinámicamente (en la heap). Se crean con el operador new: MiObjeto mo = new MiObjeto(); new retorna un handle o referencia: un apuntador implícito. 24

Ejemplo Empleado public class Employee { private String last; private String first; private String title; private int age; public Employee(String l, String f, String t, int a) { last = l; first = f; title = t; age = a; public String tostring() { return "{" +last+ "," + first + "," + title+ "," + age + ""; public void setlast(string s) { last = s; //... 25

Ejemplo Empleado (cont.) public void setfirst(string s) { first = s; public void settitle(string s) { title = s; public void setage(int n) { age = n; public static void main(string[] args) { Employee e =new Employee("Jordan","Michael","Guard",37); System.out.println(e); e.setlast("malone"); e.setfirst("karl"); e.settitle("center"); e.setage(36); System.out.println(e); 26

Arreglos Similares a C excepto: Se chequean los límites del arreglo. Los arreglos son objetos. Tienen el campo length. Arreglos multidimensionales con cada dimensión reservada por separado. Ej.: un arreglo bidimensional puede tener cada fila de tamaño distinto. 27

Arreglos public class Array1 { public static void main(string[] args) { int[] a1 = {10,20,30,40,50; for (int i = 0; i < a1.length; ++i) System.out.print(a1[i] + " "); System.out.println(); 28

Arreglos 2 public class Array2 { public static void main(string[] args) { int[][] a2 = {{1,2, {3,4, {5,6; for (int j = 0; j < a2.length; ++j) { for (int k = 0; k < a2[j].length; ++k) System.out.print(a2[j][k] + " "); System.out.println(); 29

Arreglos 3 public class Array3 { public static void main(string[] args) { int[] a1 = {10,20,30,40,50; int[][] a2 = {{1,2, {3,4, {5,6; int[][][] a3 = new int[2][][]; a3[0] = a2; a3[1] = new int[2][]; a3[1][0] = a1; a3[1][1] = new int[1]; a3[1][1][0] = 99; for (int p = 0; p < a3.length; ++p) { for (int q = 0; q < a3[p].length; ++q) { for (int r = 0; r < a3[p][q].length; ++r) System.out.print(a3[p][q][r] + " "); System.out.println(); System.out.println(); System.out.println(); 30

Acceso public: Todos pueden tener acceso; incluso métodos de otras clases. private: Sólo pueden tener acceso los miembros de la misma clase. Por defecto: pueden tener acceso los miembros de otras clases sólo si éstas están en el mismo paquete. protected: Tienen acceso las sub clases y los miembros del mismo paquete. 31

Paquetes Cada clase puede formar parte de un paquete si se usa la línea: package nombredelpaquete; Se estructuran en forma de directorios. Para usar las clases de otro paquete debe incuirse la línea: import nombredelpaquete.nombredeclase; import nombredelpaquete.*; El paquete estándar que se incluye por defecto se llama: java.lang.*; En general los paquetes de la plataforma Java se llaman: java.nombredelpaquete 32

Constructores Es un método de cada clase que sólo se llama al contruirse un objeto nuevo con el operador new. Tiene el mismo nombre de la clase. Una clase puede tener más de uno que se distinguen uno del otro por los argumentos que aceptan. Siempre hay un constructor por defecto que no acepta parámetros y se usa si la clase no define su propio constructor. En el constructor deben realizarse todas las inicializaciones necesarias. 33

Diferencias globales respecto a C Aparte de ser Orientado a Objetos: Todo está en alguna clase: Campos y métodos. No hay funciones ni variables globales. No hay variables estáticas locales. No hay separación entre declaración/definición. No hay apuntadores (explícitos). No hay directivas de pre-procesador No hay #include pero sí import. 34

Java SDK y Tutorial Sitio: java.sun.com JDK: http://java.sun.com/j2se/1.5.0/install-windows.html Tutorial: http://java.sun.com/docs/books/tutorial/index.html 35