Fundamentos del lenguaje
Ing. Carlos Castillo Peralta
Qu es Java?
Java es un lenguaje de programacin orientado a objetos. Java es un lenguaje de propsito general. Java es un lenguaje multiplataforma. Java es un lenguaje interpretado y compilado a la vez. Java posee una amplia biblioteca de clases.
Ing. Carlos Castillo Peralta
Ediciones de Java
Java Standard Edition (Java ES). Java Enterprise Edition (Java EE). Java Micro Edition (Java ME).
Ing. Carlos Castillo Peralta
Herramientas necesarias
Kit de desarrollo de Java (JDK 7). Entorno de desarrollo integrado (IDE)
NetBeans IDE. Eclipse. Oracle JDeveloper.
Ing. Carlos Castillo Peralta
Estructura de un programa Java
package fundamentos; public class Sumita { public static void main(String[] args) { int a = 10, b = 5, suma; suma = a + b; System.out.println("a = " + a); System.out.println("b = " + b); System.out.println("Suma = " + suma); }
Ing. Carlos Castillo Peralta
Comentarios
/* * Comentario tradicional. * Pueden ocupar ms de una lnea, pero no pueden * anidarse. */ // Comentario de una sola lnea.
/** * * * * */
Comentario de documentacin. Son comentarios especiales de javadoc, se usan para generar la documentacin sobre el programa. Pueden ocupar ms de una lnea.
Ing. Carlos Castillo Peralta
Tipos de datos primitivos
Tipos enteros: byte, short, int, long, char. Tipos reales: float, double. Tipo lgico: boolean.
Ing. Carlos Castillo Peralta
Tipos de datos referenciados
Cadenas de caracteres: String. Enumeraciones: enum. Matrices.
Ing. Carlos Castillo Peralta
Tipos enteros
// Rango -128 a +127 byte temperatura = -5;
// Rango -32768 a +32767 short sueldo = 18000;
// Rango -2147483648 a +2147483647 int habitantesLima = 7598000; // Rango -9223372036854775808 a +9223372036854775807 long habitantesMundo = 6716938521L;
Ing. Carlos Castillo Peralta
Tipos enteros
// Entero binario (0, 1) (desde JDK 7) int bin = 0b10101;
// Entero octal (0-7) int oct = 025;
// Entero decimal (0-9) int dec = 21; // Entero hexadecimal (0-10, A-F) int hex = 0x15;
Ing. Carlos Castillo Peralta
Tipos carcter (enteros)
// Rango de 0 a 65535 // Representacin literal char literalCar = 'a';
// Representacin decimal char decimalCar = 97;
// Representacin hexadecimal char hexadecimalCar = 0x0061; // Representacin UNICODE char unicodeCar = '\u0061';
Ing. Carlos Castillo Peralta
Secuencias de escape (caracteres)
char char char char char char char char espacioBlanco = ' '; comillaSimple = '\''; comillaDoble = '\"'; barraInvertida = '\\'; retornoCarro = '\r'; saltoLinea = '\n'; tabulador = '\t'; retroceso = '\b';
Ing. Carlos Castillo Peralta
Tipos reales o de coma flotante
// Rango de -3.4e+38 a +3.4e+38 float igv = 0.19f; float masaElectron = 9.1095e-28f; float masaProton = 1.672e-24f; float masaNeutron = 1.675e-24f; // Rango de -1.7e+308 a +1.7e+308 double r = 0.08205; double numeroHormigas = 6e+100; double fraccion = -2/3d;
Ing. Carlos Castillo Peralta
Tipos lgicos o booleanos
// Rango true o false (valores discretos) boolean cara = true; boolean sello = false;
Ing. Carlos Castillo Peralta
Conversin de tipos (casting)
// Variables de tipo entero int x, y; // Variable de tipo real double r; // Conversin de real a entero x = (int) 1.75; System.out.println("x = " + x); // Operacin entre enteros y = x + 1; // Conversin de entero a real r = (double) x / y; System.out.println("r = " + r);
Ing. Carlos Castillo Peralta
Cadenas de caracteres
String String String String String String String String id = "C0001"; nombres = "Elena"; apellidos = "Castillo Belapatio"; ruc = "10098564535"; telefono = "467-1950"; email = "[email protected]"; observacion = ""; estado = null;
Ing. Carlos Castillo Peralta
Enumerados
enum Dia { LUNES, MARTES, MIERCOLES, JUEVES, VIERNES, SABADO, DOMINGO } Dia dia = Dia.LUNES; System.out.println("Hoy es: " + dia.name());
Ing. Carlos Castillo Peralta
Variables
// Declaracin de variables int a, b, c;
// Asignacin de variables a = 5; b = -3; c = 0;
// Declaracin y asignacin de variables int a = 5, b = -3, c = 0;
Ing. Carlos Castillo Peralta
Constantes
// Definicin de constantes final char TAB = '\t'; final int MAXIT = 25; final float IGV = 0.19f; final double PI = 3.141592; final double EPS = 1.0e-6;
Ing. Carlos Castillo Peralta
Operadores aritmticos
x s d p q r = = = = = = -a; a + a a * a / a %
b; b; b; b; b;
// // // // // //
Menos unario Adicin Sustraccin Multiplicacin Cociente Mdulo
Ing. Carlos Castillo Peralta
Operadores de asignacin
++x; x++; --x; x--; x = a; x = a = b; x += a; x -= a; x *= a; x /= a; x %= a; // // // // // // // // // // // Pre-incremento x = x + 1 Pos-incremento x = x + 1 Pre-decremento x = x - 1 Pos-decremento x = x - 1 Asignacin simple Asignacin mltiple Adicin y asignacin x = x + a Sustraccin y asignacin x = x - a Multiplicacin y asignacin x = x * a Divisin y asignacin x = x / a Mdulo y asignacin x = x % a
Ing. Carlos Castillo Peralta
Operadores de comparacin
p p p p p p == q; != q; > q; >= q; < q; <= q; // // // // // // Igual a Diferente a Mayor que Mayor o igual que Menor que Menor o igual que
Ing. Carlos Castillo Peralta
Operadores lgicos
p & q; p && q; p | q; p || q; p ^ q; !p; !q // // // // // // AND AND de cortocircuito OR OR de cortocircuito XOR NOT
Ing. Carlos Castillo Peralta
Operadores a nivel de bits
~p; ~q p & q; p | q; p ^ q; p << q; p >> q; p >>> q; // // // // // // // NOT (complemento AND OR XOR Desplazamiento a Desplazamiento a Desplazamiento a a 1)
la izquierda la derecha la derecha sin signo
Ing. Carlos Castillo Peralta
Operador condicional
int n1 = 5, n2 = 7; int menor, mayor;
menor = (n1 < n2) ? n1 : n2; mayor = (n1 > n2) ? n1 : n2;
Ing. Carlos Castillo Peralta
Entrada de datos (teclado)
import java.util.Scanner; // Creacin de un objeto de la clase Scanner Scanner scanner = new Scanner(System.in);
// Lectura de datos System.out.println("Ingrese un entero x?"); int x = scanner.nextInt(); System.out.println("Ingrese un real y?"); double y = scanner.nextDouble(); System.out.println("Ingrese una cadena s?"); String s = scanner.nextLine();
Ing. Carlos Castillo Peralta
Salida de informacin (consola)
int id = 35; String nombre = "Carlos"; String apellidos = "Castillo Peralta"; double saldo = 1865.14592412; System.out.println("Id : " + id); System.out.print ("Nombres: " + nombre); System.out.println(" " + apellidos); System.out.println("Saldo :" + saldo);
Ing. Carlos Castillo Peralta
Salida de informacin (consola)
int id = 35; String nombre = "Carlos"; String apellidos = "Castillo Peralta"; double saldo = 1865.14592412; System.out.printf("Id : %d\n", id); System.out.printf("Nombres: %s %s\n", nombre, apellidos); System.out.printf("Saldo : %10.2f\n", saldo);
Ing. Carlos Castillo Peralta
Salida de informacin (consola)
System.out.printf("%d\n", 26); System.out.printf("%o\n", 26); System.out.printf("%x\n", 26); System.out.printf("%f\n", -123.456789); System.out.printf("%10.4f\n", -123.456789); System.out.printf("%e\n", -123.456789); System.out.printf("%10.3e\n", -123.456789); System.out.printf("%g\n", -123.456789);
Ing. Carlos Castillo Peralta
Mtodos matemticos
Math.abs(x); Math.rint(x); Math.ceil(x); Math.round(x); Math.floor(x);
Math.min(a, b);
Math.sqrt(x); Math.log(x);
Math.max(a, b);
Math.cbrt(x); Math.log10(x); Math.exp(x); Math.pow(x, y);
Math.sin(x); Math.cos(x); Math.tan(x); Math.asin(x); Math.acos(x); Math.atan(x); Math.toRadians(x); Math.toDegrees(x); Math.atan2(x); Math.sinh(x); Math.cosh(x); Math.tanh(x);
Math.random();
Ing. Carlos Castillo Peralta
Fecha
import java.util.Calendar; import java.util.GregorianCalendar;
GregorianCalendar hoy = new GregorianCalendar(); String fechaActual; int dia, mes, ao;
dia = hoy.get(Calendar.DAY_OF_MONTH); mes = hoy.get(Calendar.MONTH) + 1; ao = hoy.get(Calendar.YEAR); fechaActual = dia + "-" + mes + "-" + ao;
System.out.println("Fecha: " + fechaActual);
Ing. Carlos Castillo Peralta
Fecha
import java.text.DateFormat; import java.util.Date;
Date hoy = new Date(); DateFormat df = DateFormat.getDateInstance(); String fechaLocal = df.format(hoy);
System.out.println("Fecha actual: " + fechaLocal);
Ing. Carlos Castillo Peralta
Fecha
import java.util.Date; Date hoy = new Date(); System.out.printf("Fecha actual: %1$td-%1$tb-%1$tY\n", hoy); System.out.printf("Fecha actual: %1$ta %1$td-%1$tm-%1$tY\n", hoy); System.out.printf("Fecha actual: %1$tA %1$td de %1$tB de %1$tY\n", hoy);
Ing. Carlos Castillo Peralta
Hora
import java.util.Calendar; import java.util.GregorianCalendar;
GregorianCalendar hoy = new GregorianCalendar(); String horaActual; int hora, min, seg;
hora = hoy.get(Calendar.HOUR_OF_DAY); min = hoy.get(Calendar.MINUTE); seg = hoy.get(Calendar.SECOND); horaActual = hora + ":" + min + ":" + seg;
System.out.println("Hora: " + horaActual);
Ing. Carlos Castillo Peralta
Hora
import java.util.Date; System.out.printf("Hora actual : %1$tH:%1$tM:%1$tS\n", hoy); System.out.printf("Hora actual : %1$tl:%1$tM:%1$tS %1$tp\n", hoy);
Ing. Carlos Castillo Peralta
Muchas gracias por su atencin.