Está en la página 1de 38

PROGRAMACIÓN ORIENTADA A

OBJETOS
Introducción a JAVA
Jack Márquez
jdmarquez@uao.edu.co
"Java fue diseñado, probado y refinado por programadores auténticos. Es
un lenguaje que se basa en las necesidades y experiencia de la gente que
lo ha inventado.... Java es un lenguaje coherente y lógicamente
consistente.... Java le permite al programador tener el control total,
excepto en aquellas limitaciones impuestas por Internet. Si uno programa
bien, el programa lo reflejará; si uno programa mal, el programa también
lo reflejará. Dicho de otro modo, Java no es un lenguaje con ruedas de
entrenamiento, sino que es un leguaje para programadores
profesionales".
Características de JAVA
Multihilos

Robusto

Distribuido

Orientado a Simple
Objetos (puro)

Seguro

Arquitectura Neutra
Portable
JAVA es un lenguaje Compilado e Interpretado

http://java.sun.com/docs/books/tutorial/getStarted/intro/definition.html
El código fuente (escrito por el
programador) es compilado y
“traducido” a bytecode. El
programa en bytecode es
interpretado por la Máquina
Virtual de JAVA y ejecutado de
acuerdo a la Plataforma que
requiera.

http://java.sun.com/docs/books/tutorial/getStarte
d/intro/definition.html
Plataforma de JAVA

La plataforma de JAVA está


compuesta por las APIs
(Application Programa
Interface) y la Máquina Virtual
(diferente para cada Sistema
Operativo).
Aspectos importantes del lenguaje:

• Java es sensible a mayúsculas.


• La extensión de los archivos fuente es .java
• En un archivo fuente (.java) pueden definirse varias clases.
• Cuando se compila el archivo fuente, se crean tantos archivos .class como
clases existan en el archivo fuente.
• Java no tiene una IDE propia, para el curso se trabajará con NetBeans.
• En la página de ORACLE:
http://www.oracle.com/technetwork/es/java/javase/downloads/index.html
Se puede descargar JAVA, NetBeans, el tutorial de JAVA y la
Documentación.
Estructura Básica de un programa

• En Java las clases se pueden agrupar en paquetes (librerías), NetBeans


genera un paquete para cada proyecto.
• Si la clase pertenece a un paquete, la primera instrucción será package
seguida del nombre del paquete.
• Todas las clases que pertenezcan al mismo paquete se almacenarán en el
mismo directorio.
• Si las clases del archivo emplean otros paquetes, deben importarse antes
de declarar las clases.
• Para importar una clase se emplea la instrucción import seguida del
nombre del paquete a importar.
• Un programa JAVA debe contener al menos una clase.
• Una de las clases del archivo debe ser publica.
• La clase pública (si existe) debe llamarse igual que el archivo.
• La clase publica debe tener un método llamado main, que corresponde al
método que iniciará la ejecución.
• El método main se define siempre de la misma forma:

public static void main(String[] args)


Main.java
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package proyecto1; Paquete que agrupa las clases de una


aplicación.
/**
*
* @author lpena
*/
Nombre de la clase publica, igual que el
public class Main { nombre del archivo.

/**
* @param args the command line arguments
*/
Método principal, siempre tiene
public static void main(String[] args) {
el mismo encabezado
// TODO code application logic here
}

}
Salida de Datos:
Resultado en la pantalla de comandos:

System.out.println(“El resultado es : “ + suma);


Salida de Datos:
Resultado en una ventana emergente:

JOptionPane.showMessageDialog (null, “Hola Mundo“);

En este caso, debe importarse la clase javax. swing.JOptionPane;


Lectura de Datos
Opcion #1: Leer a través de la pantalla de comandos. Requiere un Stream de
entrada.

import java.io.*;
public class EjemploSencillo {
public static void main(String[] args) throws IOException{
double numero_1;
double numero_2;
double resultado;
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
System.out.println("Ingrese Nro 1");
numero_1 = Double.parseDouble(br.readLine());
System.out.println("Ingrese Nro 2");
numero_2 = Double.parseDouble(br.readLine());
resultado = numero_1+ numero_2;
System.out.println("La respuesta es: " + resultado);
System.exit(0);
}
}
Lectura de Datos
Opción #2: En una ventana emergente.
import javax.swing.*;
public class FormaSencilla {
public static void main(String[] args) {
double nro_1;
double nro_2;
double resultado;
nro_1 = Double.parseDouble(JOptionPane.showInputDialog(
“Dato Nro 1"));
nro_2 = Double.parseDouble(JOptionPane.showInputDialog(
“Dato Nro 2"));
resultado = nro_1+ nro_2;
JOptionPane.showMessageDialog(null, "La respuesta es: " + resultado);
System.exit(0);
}
}
ASPECTOS BÁSICOS EN JAVA
Comentarios:

// Es utilizado para realizar un comentario en una sola línea

System.out.println(“hola”); //Imprime hola en pantalla

/* */ Se utiliza cuando se desea hacer un comentario de varias líneas.


/* Este es un ejemplo que muestra como se hace
un comentario multilínea */

Comentarios para Documentación


/* * Se escribe antes de métodos, clases o variables */
Identificadores:

• Son el medio por el cual se asigna un nombre a una clase, método o


variable.
• Deben iniciar con
– Una letra del alfabeto (mayúscula o minúscula)
– Caracteres especiales $, _
• El contenido restante del identificador puede incluir letra, dígitos o
caracteres especiales.
• No pueden ser palabras clave
Palabras Clave: Palabras que el lenguaje emplea o tiene
reservadas para usos posteriores
abstract boolean break byte case catch

char class const continue default do

double else extends final finally float

for goto if implements import instanceof

int interface long native new package

private protected public return short static

strictfp super switch synchronized this throw

throws transient try void volatile while

assert enum
Tipos de Datos Primitivos

• Los tipos de datos en Java se dividen en Tipos de datos primitivos y Tipos


de datos de Clases.
• Los tipos primitivos no son objetos.
• Existen ocho tipos primitivos

Enteros byte, short, int, long

Flotantes float, double

Boolean boolean

Caracter char
Datos Enteros

• byte 8 bits
• short 16 bits Enteros con signo (negativos,
• int 32 bits cero y positivos)
• long 64 bits

Aunque representa caracteres,


• char 16 bits se utiliza también como un
entero sin signo

Por defecto cuando se escribe un número entero,


JAVA lo asume como int
Datos Reales o de Punto Flotante

Números con signo


• float 32 bits (8.5F, 8.5f) (negativos, cero y positivos),
• double 64 bits tienen parte decimal.

Por defecto cuando se escribe un número real,


JAVA lo asume como double
Datos Booleanos

• Un boolean es un dato que solamente puede tomar valor


Verdadero o Falso.
• Los valores válidos para boolean son: true o false.
• El valor por defecto de los datos de tipo boolean es false.
Cadenas

• En Java no existen datos tipo cadena, como dato primitivo.


• Existe un clase llamada String con la que se pueden construir
objetos que guardan cadenas.
• Debido a que String es una clase, tiene atributos y métodos
que pueden emplearse para su manipulación.

Se sugiere revisar la documentación de JAVA para


conocer los métodos disponibles para el uso de
cadenas.
ESTRUCTURAS BÁSICAS EN JAVA
Operadores Aritméticos

• Binarios:
+ adición
- sustracción
* producto
/ división
% resto o residuo
Operadores Aritméticos

• Unarios (monarios):
+ valores positivos
- valores negativos
++ incremento (en 1) Pueden ser en prefijo (++x)
-- decremento (en 1) o en sufijo (x++)
Operadores Lógicos

• Relacionales:
• > Mayor que
• < Menor que
• >= Mayor o igual
• <= Menor o igual
• != Diferente
• == Igual
Operadores Lógicos

• Condicionales:
• & AND (conjunción)
• | OR (disyunción)
• && AND en corto circuito
• || OR en corto circuito
• ! NOT lógico (negación)
Operadores de Asignación

Estos operadores hacen la operación y asignan, disminuyendo la


cantidad de operaciones.
= operador básico de asignación
+= suma y asigna a la misma variable
-= resta y asigna a la misma variable
*= multiplica y asigna a la misma variable
/= divide y asigna a la misma variable
%= saca residuo y asigna a la misma variable
Casos especiales con Cadenas

• El operador + aplicado a cadenas o cuando al menos uno de los operandos


es una cadena, realiza un concatenación (unión) de cadenas.
• Cuando se desea comparar el contenido de dos cadenas, debe emplearse
el método equals() y no el operador ==, ya que este último compararía las
posiciones en memoria.
Operador ternario

• Este operador se puede entender como una estructura de decisión


abreviada.

Expresion ? Sentencia 1 : sentencia 2

Expresión booleana Sentencia que se Sentencia que se


que se evalúa. ejecuta si la expresión ejecuta si la expresión
es true. es false.
Precedencia de Operadores
Casting de variables

• Para cambiar el tipo de una variable durante la ejecución.


• Sólo se permite entre tipos básicos.
• El tipo booleano no admite casting.
• Tipos de datos más pequeños, se promocionan
automáticamente a tipos más grandes (no necesitan casting)

Ejemplo:
int i = 32;
long l = (long) i;
Estructura de Decisión

if (expresión booleana)
{
instrucciones;
}
[else
{
instrucciones;
}]
Estructura de Decisión Múltiple

switch (expresión) {
case valor1:
instrucciones;
break;
....
[ default:
instrucciones;]
}
Estructura de Repetición - while

[iniciacion;]
NO
while (condición de terminación)
{
SI
instrucciones;
[iteración;]
}
Estructura de Repetición – do-while

[iniciación;]
do {
instrucciones;
[iteración;] NO

} while (condición de terminación);


SI
Estructura de Repetición - for

1 2 4
NO
for (iniciación ; condición; iteración)
{ 3
SI
instrucciones;
}

También podría gustarte