Download Introducción al lenguaje Java - Lógica y Fundamentos de Redes

Document related concepts
no text concepts found
Transcript
Introducción a la
Programación
Lenguaje de Máquina
Lenguaje de Bajo Nivel
Lenguaje de Alto Nivel
Relación entre lenguajes
Faces de la
Compilación
Intruducción a Java
Programar aplicaciones y algoritmos
sencillos en JAVA conociendo:
 El
entorno de programación
 Los tipos de datos primitivos
 Operadores básicos
 Instrucciones
 Manejo de documentación
Aspectos generales
Java es...
 Lenguaje alto nivel
 Simple
 Orientado objetos
 Distribuido
 Interpretado
 Robusto
Neutro en
arquitectura
 Portable
 Seguro

Objetivos de la tecnología Java

Proveer un lenguaje estructurado
 Que
facilite la programación y evite errores
 Orientado a Objetos

Proveer un ambiente para
 Incrementar
la velocidad de desarrollo de
aplicaciones
 Portabilidad del código
Las metas tecnológicas de Java
Permitir ejecutar aplicaciones multi hilos
 Cargar clases dinámicamente, en el
momento que son requeridas
 Soportar dinámicamente cambios en
programas mientras la API se ejecuta
 Ofrecer una mejor seguridad

¿ Que puedo programar con Java ?

Aplicaciones independientes
(Como cualquier otro lenguaje de propósito general)

Applets
(Pequeñas aplicaciones que se ejecutan en un documento HTML)

Aplicaciones para intraredes,
 Cliente/Servidor
 Aplicaciones
 Internet.
distribuidas en redes locales
Las metas principales de Java
La JVM (Java Virtual Machine)
 Recolector automático de memoria
(Garbage collector)
 Seguridad del código

Arquitectura

Java es compilado e interpretado
 Se
convierte a un bytecode
 Un intérprete lo ejecuta en la CPU
mi_prog.java
Compilador
Intérprete
mi_prog.class
La máquina virtual Java




Provée las especificaciones de la plataforma de
hardware
Lee el bytecode compilado que es
independiente de la plataforma
Puede ser implementada como software ó
hardware
Puede ser implementada como herramienta de
desarrollo de Java ó como un navegador Web
La máquina virtual de Java

Provée definiciones para:
 Juego
de instrucciones (CPU)
 Juego de registros
 El formato de los archivos de clases
 El colector automático de memoria
 Espacio de memoria
Colector automático de
memoria
La memoria que no es usada se libera
 En otros lenguajes esto es
responsabilidad del programador
 Aspectos

 Revisa
y libera memoria no usada
 Es automático
Entorno de desarrollo JDK

Herramienta básica JDK
(Java Developer´s Kit)

El kit contiene básicamente:







El compilador: javac.exe
El depurador: jdb.exe
El intérprete: java.exe y javaw.exe
El visualizador: appletviewer.exe
El generador de documentación: javadoc.exe
Un desensamblador de clases: javap.exe
El generador de archivos fuentes y de cabecera (.c y .h) para clases nativas en
C: javah.exe
El ambiente de ejecución

Conocido como el JRE
(Java Runtime Environment)

Realiza las siguiente tareas sobre el
código:
 Carga
 Verifica
 Executa
El cargador de clases


Carga las clases necesarias para la ejecución
del programa
Distingue por nombre clases del sistema local
de archivos de aquellas de la red
 Ofrece

seguridad evitando caballos de Troya
Previene el acceso a areas restringidas de
código
 Solo
asigna memoria una vez que todas las clases
han sido cargadas en el sistema
El verificador del bytecode

Asegura que el código
 Sea
coherente con la especificación JVM
 No viola la integridad del sistema
 No causa desbordamientos de pilas
 Que todos los tipos de parámetros son
correctos
 Que no hay conversion ilegal de datos

Ej. enteros a apuntadores.
Comparando C y Java
void sort (int a[], int size){
}
//main
#include <iostream.h>
#include <stdlib.h>
extern "C" long random();
int main(int argc, char *argv[]){
if (argc =! 2){
cerr <<"error"<<endl;
exit (1);
}
cout << "hola" << endl;
return 0;
}
Sort.C
import java.io
import java.util.Random
Class Sorttest{
static void sort(int a[], int size){
}
}
public static void main (string argv[]){
if (argv.lenght != 1){
System.out.println("error");
System.exit(1);
}
System.out.println("hola");
System.exit(0);
}
Sort.java
Declaración de clases
[modif_clase] class id_clase {bloque}
 modif_clase  opcional:

class  Texto

indicando declaración de clase
id_clase 

public, abstract ó final
nombre de la clase
bloque  variables
y métodos conformando clase
Elementos Básicos de Java

Un programa esta formado por archivos fuentes y en cada uno habrá una o varias
clases.
Declaración de la clase
class Hola {
Cuerpo de la clase
…..
} (fin de la clase)
Elementos Básicos
de Java

Palabra reservada class (minusculas)

El nombre de la clase Hola (Primera mayuscula)

Es susceptible a Minúsculas y Mayúsculas

El cuerpo de la clase comienza con { y finaliza con }

Al final de cada instrucción lleva «punto y coma» ;

Dentro del cuerpo se declaran los atributos y métodos

Para que un programa se pueda ejecutar debe de contener el método main ( )
public static void main (String argumentos [] )
(Esta línea debe de estar en la declaración de la clase principal al inicio)
Tener en cuenta

Cuando una clase es pública se debe de guardar esta clase con idéntico nombre al de la
clase: Ej.
public class Hola {
Cuerpo de la clase
…..
} (fin de la clase)
Practica Hola Mundo!
1.
Se guardara el archivo con el mismo nombre de la clase principal, cuidando la inicial con
mayúscula y extensión .java
Hola.java
2.
Digita el código
class Hola {
public static void main (String argumentos [ ] ){
System.out.println(“Hola, mundo! “);
} \\fin método
} \\fin clase
3.
Se compila: javac Hola.java
Nos genera el archivo Hola.class (Que contiene el código bytecode)
4.
Se ejecuta: java Hola (El interprete buscará el archivo Hola.class)
Hola, mundo!
Explicación Hola Mundo!

Declaración del método main():

public: Indica que el método es público, puede ser llamado desde otras
clases. (Todo método main() debe ser público para poder ejecutarse
desde el intérprete de Java (JVM)

static: Indica que la clase no necesita ser instanciada para poder utilizar
el método al que califica, indica que el método es el mismo para todas
las instancias que se pudieran crear.

void: Indica que la función main no devuelve ningún valor.

El método main debe aceptar siempre, como parámetro, un vector de
string, que contendrá los posibles argumentos que se le pasen al
programa en la línea de comandos, en este caso no se utiliza.
El métod main ( ) siempre se declara de la misma forma.
Explicación Hola Mundo!
System.out.println(“Hola, mundo! “);

println( ): Este método se encarga de mostrar los valores a través
de la salida estándar, realiza un retorno de carro y nueva línea.

Este método pertenece al atributo out y se encuentra incluido en la
clase System.
Gramática de Java
Comentarios En Java hay tres tipos de comentarios:
// comentarios para una sola línea
/* comentarios de una o más líneas
*/
/** comentario de documentación, de una o más líneas
*/
Tipos de Datos en Java (Numéricos)
byte
1Byte (8 bits)
short
2 Bytes (16 bits)
int
4 Bytes (32 bits)
long
8 Bytes (64 bits)
float
4 Byte (32 bits)
double
8 Bytes (64 bits)
Tipos de Datos en Java
Char (un caracter)
2Bytes por caracter
String (cadena de caracteres)
Se maneja con una clase
Boolean (true / false)
1 bit
Coversión de Tipos de Datos
Las operaciones entre diferentes tipos de datos
generalmen llevan a una conversion.
Definición de Variable
Una variable es un espacio de memoria que
se reserva para almacenar un dato.
Dependiendo del dato que se quiera
almacenar dependera el tipo de dato a
utilizar para dicha variable.
Por norma general se deben almacenar
como datos de tipo numérico, solo aquellos
que
intervengan
en
operaciones
matemáticas.
Ejercicio
Diga el tipo de dato que se debe
utilizar para almacenar la siguiente
información:
•
•
•
•
•
•
•
•
El número de páginas de un libro
El salario devengado de un empleado
La nota final de un estudiante de lógica
El estrato socioecinómico de una persona
El código de un estudiante
El porcentaje de utilidad de un producto
La edad de una persona
Una letra del abecedario