FUNDAMENTOS DE JAVA
MSc.T. Coro F.
CARRERA INGENIERÍA INFORMÁTICA
UNIVERSIDAD AUTONOMA “TOMÁS FRÍAS”
SEMINARIO DE PROGRAMACIÓN II
Fundamentos de Java__________________________________________MSc.[Link] F.
¿Qué es Java?
Java es un lenguaje de
programación y una
plataforma
Fundamentos de Java__________________________________________MSc.[Link] F.
La Plataforma Java 2
Fundamentos de Java__________________________________________MSc.[Link] F.
JAVA
Desarrollado por Sun MicroSystems
Basado en C++
Base para desarrollos en Internet
Diversas versiones (1.0 hasta la 1.5)
Comercialmente JDK 2.0
Fundamentos de Java__________________________________________MSc.[Link] F.
CARACTERÍSTICAS DE JAVA
Orientado a objetos
Multiplataforma
Independiente de plataforma
Distribuido
Robusto
Seguro
Portable
Medio interpretado y medio compilado
Optimo para internet
Fundamentos de Java__________________________________________MSc.[Link] F.
Características: Orientado a objetos
• Java trabaja con sus datos como objetos y
con interfaces a esos objetos.
• Implementa:
– Encapsulación. - Interfaces.
– Herencia simple. - Paquetes.
– Abstracción.
– Reutilización.
– Polimorfismo.
Fundamentos de Java__________________________________________MSc.[Link] F.
Características: Arquitectura Neutra
• Java compila el código a un fichero objeto de de
formato independiente de la arquitectura de la
máquina en que se ejecutará.
• Cualquier plataforma donde exista una JVM se
puede ejecutar el código objeto
independientemente de la máquina en el que
ha sido generado.
Fundamentos de Java__________________________________________MSc.[Link] F.
Características: Distribuido
• Concebido para trabajar en un entorno
conectado en red.
Fundamentos de Java__________________________________________MSc.[Link] F.
Características: Robusto
• No se interrumpe fácilmente.
• Manejo de excepciones.
• Verificación de ByteCodes (por ejemplo no
acceso ilegal de memoria).
Fundamentos de Java__________________________________________MSc.[Link] F.
Características: Seguro
• Aplicaciones seguras ya que no acceden a
zonas delicadas de memoria o de sistema
• No existen punteros, no acceso a zonas delicadas de
memoria.
Fundamentos de Java__________________________________________MSc.[Link] F.
Características: Portable
• Más allá de la portabilidad básica por ser
de arquitectura independiente.
Características: Optimo para internet
Fundamentos de Java__________________________________________MSc.[Link] F.
Características eliminadas de C++
No maneja punteros (*)
No existe referencias (&)
No existe registros (struct)
No existe definición de tipos (typedef)
No tiene necesidad de liberar memoria (free)
No existe sobrecarga de operadores
No existe herencia múltiple
Fundamentos de Java__________________________________________MSc.[Link] F.
¿Qué ventajas tengo como
desarrollador de Java?
Escribir menos código (4 veces menos
que en C++).
Escribir mejor código.
Desarrollar programas más
rápidamente.
Eliminar dependencias de la plataforma.
Escribir una vez, ejecutar en cualquier
parte.
Fundamentos de Java__________________________________________MSc.[Link] F.
Plataforma de ejecución
Fundamentos de Java__________________________________________MSc.[Link] F.
¿Qué es la JVM (Java Vitual Machine)?
Es un ordenador abstracto que ejecuta
programas java compilados (bytecodes)
Es virtual porque es generalmente
implementado por software sobre una
plataforma “real” de hardware y sistema
operativo.
Todos los programas java son compilados por
la maquina virtual para que los programas
puedan ejecutarse.
JVM es el punto central de la Portabilidad de
Java.
Fundamentos de Java__________________________________________MSc.[Link] F.
Java como Lenguaje
Fundamentos de Java__________________________________________MSc.[Link] F.
Java como Plataforma
La plataforma de Java tiene 2 componentes:
Java VM (Maquina Virtual).- La base
para la plataforma de java.
Java API.- Colección de componentes
de Software agrupadas en una
librería.
Fundamentos de Java__________________________________________MSc.[Link] F.
Java como Plataforma
Fundamentos de Java__________________________________________MSc.[Link] F.
ELEMENTOS DEL LENGUAJE JAVA
Palabras reservadas
Son palabras usadas por el lenguaje de programación
y que no deben ser utilizadas como identificadores de
variables, clases o métodos.
abstract do long void
boolean double public while
break else private try
byte extends protected …
case float static …
char for switch
class import true
Fundamentos de Java__________________________________________MSc.[Link] F.
ELEMENTOS DEL LENGUAJE JAVA
Identificadores
Son los nombres que se asigna a las variables, constantes,
métodos, objetos, y deben cumplir las siguientes reglas:
Debe comenzar con una letra
No debe coincidir con palabras reservadas del
lenguaje
Ejemplos:
preCosto Clase1
asignarCodigo metodo1
asignar_Nombre
Las mayúsculas se distinguen de las minúsculas
Fundamentos de Java__________________________________________MSc.[Link] F.
ELEMENTOS DEL LENGUAJE JAVA
Comentarios
Permiten describir, explicar y sirve como ayuda para
recordar y entender las operaciones que se van a
ejecutar.
// Comentario para una sola línea
/* Comentario para varias líneas: Los comentarios
no son sentencias, por lo tanto al ser traducido el
código fuente a código binario, los lenguajes de
programación los ignoran */
Fundamentos de Java__________________________________________MSc.[Link] F.
TIPOS DE DATO
DATOS
NUMERICO CARÁCTER LÓGICO
ENTERO REAL
Fundamentos de Java__________________________________________MSc.[Link] F.
Tipos de datos primitivos en Java
Datos de tipo numérico
Numeros enteros: byte , short ,int , long
Numeros reales: float , double
Datos de tipo carácter char
Datos de tipo booleano boolean (true, false)
Fundamentos de Java__________________________________________MSc.[Link] F.
Tipos de datos primitivos en Java
Tipo Descripción Tamaño Clase
Envolvente
boolean Valor lógico 1 byte Boolean
char Carácter 2 byte Character
byte Entero muy pequeño 1 byte Byte
short Entero pequeño 2 byte Short
int Entero 4 byte Integer
long Entero largo 8 byte Long
float Real de simple precisión 4 byte Float
double Real de doble precisión 8 byte Double
void Tipo vacío
Fundamentos de Java__________________________________________MSc.[Link] F.
OPERADORES
Son los que permiten realizar los cálculos entre valores
fijos y variables.
Los operadores se clasifican en:
Operadores Aritméticos
Operadores de Relación
Operadores Lógicos
Operadores de asignación
Operadores de Cadena
Fundamentos de Java__________________________________________MSc.[Link] F.
OPERADORES ARITMÉTICOS
Permiten realizar las operaciones aritméticas.
Operador Descripción
+ Suma
- Resta
* Multiplicación
/ División
% Módulo (Resta de una división)
Fundamentos de Java__________________________________________MSc.[Link] F.
OPERADORES DE RELACIÓN
Llamados también operadores de comparación
Operador Descripción
== Igualdad
> Mayor que
>= Mayor o igual que
< Menor
<= Menor o igual que
!= Diferente a
Fundamentos de Java__________________________________________MSc.[Link] F.
OPERADORES LÓGICOS
Son aquellos operadores que se utilizan en combinación
con los operadores de relación
Operador Descripción
&& Y Lógico
|| O Lógico
! No Lógico
Fundamentos de Java__________________________________________MSc.[Link] F.
OPERADORES DE ASIGNACIÓN
Operador Descripción
= Asignación simple
+= Suma y asignación
-= Resta y asignación
*= Multiplicación y asignación
/= División y asignación
%= Resto y asignación
Fundamentos de Java__________________________________________MSc.[Link] F.
OPERADORES DE CADENA
En Java se utiliza el operador + para concatenar
cadenas (objetos String).
Operador Descripción
+ Unir cadenas
Expresiones de cadena:
“Programación”+” ”+”Java” Programación Java
“tcorof”+”@”+”[Link]” tcorof@[Link]
Fundamentos de Java__________________________________________MSc.[Link] F.
Orden de Jerarquía de operadores
No. Operador
1 . [] ()
2 ++ , --
3 !~
4 new
5 *,/,%
6 +,-
7 <> <= >= == !=
8 && , ||
9 = op=
Fundamentos de Java__________________________________________MSc.[Link] F.
VARIABLES
Representa un espacio de memoria RAM guarda un
valor que servirá para algún proceso, dicho valor puede
ser modificado en cualquier momento.
Las variables tiene por lo general un identificador
(nombre) y asignado el tipo de dato que se esta
usando.
Fundamentos de Java__________________________________________MSc.[Link] F.
DECLARACIÓN DE VARIABLES
Tipo variable;
Tipo lista de variables;
Se declaran antes de usarlas.
Al declarar una variable, hay que definir su tipo.
Ejemplos:
float ba , tg , iva , lp;
String nombre;
Fundamentos de Java__________________________________________MSc.[Link] F.
INICIALIZACIÓN DE VARIABLES
En una declaración, las variables se pueden inicializar:
int i = 0;
float pi = 3.14159227f;
double x=1.0 , y=3.5;
String nombre = "Maria Liz";
int[][] a={{5, 3, 1} , {4,8,3} , {6, 3, 9}}
Fundamentos de Java__________________________________________MSc.[Link] F.
Declaración de constantes en Java
Una Constante hace referencia a un valor que no puede
modificarse.
final tipo identificador = valor;
Con la palabra reservada final se impide su modificación
del valor almacenado
Ejemplo:
final double PI = 3.141592;
Fundamentos de Java__________________________________________MSc.[Link] F.
Separadores
Los separadores son caracteres especiales que tienen un significado
especial en Java
Separador Descripción
. Separador entre objetos y métodos/miembros.
() Lista de parámetros en la definición y llamada
a métodos.
{} Bloques de código e inicialización de arreglos
[] Arreglos
; Separador de sentencia
, Separa identificadores en la declaración de
variables
Fundamentos de Java__________________________________________MSc.[Link] F.
Estructura de un programa en Java
public class Nombre_Clase {
public static void main(String[] args){
//Instrucciones
…………
}
}
Las dos reglas que se debe tomar en cuenta son:
1. El nombre del programa debe ser igual al nombre de la clase
pública seguido de la extensión .java
2. Solo puede haber una clase pública por fichero.
Fundamentos de Java__________________________________________MSc.[Link] F.
public static.....
public static void main( String[] args ) {
Esta línea especifica un método que el intérprete Java busca
para ejecutar en primer lugar.
public Significa que el método main puede ser
invocado por cualquier objeto.
static Significa que el método main es un método
estático, es decir, un método propio de la
clase, y puede ser invocado sin necesidad de
instanciár la clase.
void Indica que main no devuelve ningún valor.
Es la declaración de un arreglo de cadenas a
String[] args través del cual el método main puede aceptar
parámetros.
Fundamentos de Java__________________________________________MSc.[Link] F.
Ejercicio 1: Realizar un programa que permita calcular el área de una habitación dado su
longitud y su ancho.
public class Prog_01{
public static void main(String[] args){
int longitud = 10;
int ancho = 20;
int area;
area = longitud * ancho;
[Link]("Longitud = “ + longitud);
[Link]("Ancho = “ + ancho);
[Link]("Area = “ + area);
}
}
Ejercicio 2: Realizar un programa para obtener la boleta de pago de un empleado dado el
nombre y el haber básico, calcular el líquido pagable con los siguientes relaciones: el ba es 2%
del hb, tg= hb+ba, iva es 13% del hb, y el lp= tg-iva.
public class Prog_02{
public static void main(String[] args){
String nombre = "Maria Liz";
int hb = 1000;
float ba , tg , iva , lp;
ba= 2*hb/100;
tg = hb+ba;
iva = 13*hb/100;
lp = tg-iva;
[Link]("BOLETA DE PAGO \n ");
[Link](“ Nombre : “ + nombre);
[Link](“ Haber Basico : “ + hb);
[Link](“ Bono Antiguedad : “ + ba);
[Link](“ Total Ganado : “ + tg);
[Link](“ Iva : “ + iva);
[Link](“ \n Liquido Pagable : “ + lp);
}
}
Fundamentos de Java__________________________________________MSc.[Link] F.
INSTANTACION DE UNA CLASE
Una clase para que pueda ser utilizada debe ser instanciada, en otras
palabras se debe crear el objeto.
Para crear la instancia de una clase se debe definir el objeto, y luego
crear el objeto o instancia.
Sintaxis:
Nombre_Clase Nombre_Objeto;
Nombre_Objeto = new Nombre_Clase();
También se puede definir el objeto e instanciar la clase en la misma
instrucción:
Sintaxis:
Nombre_Clase Nombre_Objeto = new Nombre_Clase();
Fundamentos de Java__________________________________________MSc.[Link] F.
ENTRADA DE DATOS
CLASE Scanner
En Java, la realización de operaciones de entrada de datos no es inmediata, por lo que
usaremos la Clase Scanner. La cual nos va ayudar a leer los datos del teclado de una
forma mas sencilla.
La utilización de la clase Scanner es muy sencilla. Lo primero que tenemos que hacer
es declarar un objeto Scanner instanciándola contra la consola, es decir, contra el
objeto [Link]
Nombre_Clase Nombre_Objeto = new Nombre_Clase();
Scanner teclado = new Scanner([Link]);
Fundamentos de Java__________________________________________MSc.[Link] F.
ENTRADA DE DATOS
CLASE Scanner
Ahora, para leer lo que el usuario está introduciendo por la consola deberemos utilizar
el método .next. Este nos devolverá los caracteres que encuentre en la consola hasta
encontrarse un retorno de carro. El valor lo asignaremos a una variable.
Variable = [Link]();
Ejemplos:
n1 = [Link](); // retorna un entero
n2 = [Link](); // retorna un real
Fundamentos de Java__________________________________________MSc.[Link] F.
Métodos de la Clase Scanner
Método Descripción
nextInt() Retorna un entero
nextLong() Retorna un entero largo
nextFloat() Retorna un real
nextDouble() Retorna un real double
nextLine() Retorna una cadena de
caracteres
La clase Scanner requiere la inclusión del paquete
import [Link]
Fundamentos de Java__________________________________________MSc.[Link] F.
PAQUETE DE CLASES
Los paquetes en Java son similares que los archivos de inclusión de C++, estos
se encuentran en el paquete [Link], para su inclusión se emplea la
palabra reservada import de la siguiente manera:
import [Link];
Donde:
paquete: nombre del paquete o clase, por ejemplo, txt, awt, applet, io, lang,
net, etc., se pueden cargar varias clases del paquete utilizando el comodín *,
ejemplos:
import [Link]; // para entrada de datos
import [Link].*; // para entrada y salida de datos
import [Link].*; // para conversión a dato numérico
import [Link].*; // importa la clase Applet
Ejercicio 3: Realizar un programa para obtener la suma de dos números enteros leídos del
teclado.
import [Link]; // paquete para la clase Scanner
public class Problema01 {
public static void main(String[] args) {
//Variables
int n1 , n2 , s;
//Entrada
Scanner teclado = new Scanner([Link]);
[Link](“Dato 1: ");
n1 = [Link]();
[Link](“Dato 2: ");
n2 = [Link]();
//Proceso
s = n1 + n2;
//Salida
[Link]("Suma: " + s);
}
}
Ejercicio 3: Realizar un programa para obtener el área de un triangulo, los datos deben ser
leídos del teclado.
import [Link]; // paquete para la clase Scanner
public class Problema02{
public static void main(String[] args) {
//Variables
float b , h , area;
//Entrada
Scanner teclado = new Scanner([Link]);
[Link](“Digite base:….. ");
b = [Link]();
[Link](“Digite altura:… ");
h = [Link]();
//Proceso
area = b*h/2;
//Salida
[Link](“Area es = " + area);
}
}
CARRERA INGENIERÍA INFORMÁTICA
PROGRAMACIÓN II (INF 231)
MSc. [Link] F.