Download está la primera parte de java

Document related concepts
no text concepts found
Transcript
Java
• Java nació el año 1991, por un par de
ingenieros de la Sun Microsystems
• Desarrollaron un código independiente del
de la CPU (electrodoméstico), el cual se
ejecuta sobre una máquina hipótetica o
virtual (JVM)
• Existen muchas clases pre-existentes de Java,
por lo cual se dice que no parte de 0.
• Hay un número importante de clases que
pertenecen a Java, esta se conoce con el
nombre de API
• Java incorpora muchos aspectos que otros
lenguajes no consideraban como (threads,
seguridad, componentes, ejecución remota,
acceso a base de datos, etc.)
• El objetivo principal de Java es poder ser
un nexo Universal, el cual pueda conectar
independientes del contexto, ya sea de
manera remota, por web, o a través del
acceso a una base de datos
La aplicacion Hello World
• Crear un archivo llamado Hello.java con:
public class Hello {
Public static void main (String[] args)
{
System.out.println("Hello World!");
}
}
• Compilar con: javac Hello.java
• Ejecutar con: java Hello
Experimento 1: cambio de nombre.
• Borre el archivo Hello.class
• Cambie el nombre del programa de
Hello.java a Hola.java
• Recompile con: javac Hola.java
• Restaure nuevamente el nombre a
Hello.java
Experimento 2: main sin
argumentos.
• Suprima el argumento ``String[] args'' en main(
... )
• Recompile y ejecute.
• En java hay sobrecarga de métodos: un método
se identifica por su nombre, el número de
argumentos y tipo de argumentos que recibe. El
método main() es distinto del método
main(String[]).
• Vuelva colocar ``String[] args'' en main( ... )
Tipos primitivos en Java
• Java posee tipos primitivos casi idénticos
a los de C:
• Tipos idénticos: int, long, short, float,
double.
• El que cambia: char, sólo almacena
caracteres.
• Los nuevos tipos: byte: un entero de un
byte.
• boolean: para alamacenar true o false
Constantes
• Usan la misma sintaxis de C:
• Constantes enteras: 1, 0, 1024, -5, 1L, etc.
• Constantes reales: 1.0, -3.14159, 1.5e4,
1.0f, etc.
• Constantes de caracteres: 'a', '1', '+', etc.
• Constantes de strings: "Hola, ", "12 de
Noviembre de 1996", etc.
• Constantes booleanas: true y false.
Declaraciones
• Para los tipos primitivos la sintaxis es la misma
de C:
• int i; // Un entero
• int i= 1; // Un entero inicializado
• double pi= 3.14; // Un número real
• char c= 'a'; // Un caracter
• boolean end= false; // Un valor de verdad
• Las declaraciones son instrucciones y por lo
tanto se pueden mezclar declaraciones con
otras instrucciones sin problemas
Expresiones
• Las expresiones se forman con casi los
mismos operadores de C:
• Aritméticos: a + 2 * c / ( d % 3)
• Lógicos de bits: (~(a>>3) & (b | 1)) << 3
• Pre y postincremento: i++, j++, --i, ++j
• Relaciones: a>=1, b<5, c!=4, d==-1, etc.
• Booleanos: a>1 || a==2 && ! c==1
• Casts: (int) pi
• Otros: a==1 ? a+1 : a-1
Operadores de asignación
•
•
•
•
Se usa la misma sintaxis de C: a= 1;
= es un operador como en C: a=b+2;
También existen: += -= *= ...
Java realiza conversiones implícitas, pero
es más estricto que C.
Conversiones implícitas
•
El rango de un tipo numérico es el intervalo de valores que se pueden almacenar en
variables de ese tipo.
• Java no reclama cuando se convierte de
un tipo de rango menor a uno de mayor
rango.
• Obs: byte < short < int < long < float < double
•
•
•
•
int i= 1;
long l= i; // Ok
l= 1000000000000;
float f= l; // Ok.
• Java no acepta conversiones de tipos de
menor rango a tipos de mayor rango
• double d= 1.0e24;
• int i= d; // Error durante la compilación
float f= 1.0f;
• int i= f; // Error durante la compilación
short s= i; // Error durante la compilación
• Java sí acepta cualquier conversión
usando casts:
• double d= 1.0; int i= (int)d; // Ok en
compilación
• Java no avisa en caso de errores de
conversión numéricos.
• int i= 256; byte b= (byte)i; // b==0!
Instrucciones
• Java posee prácticamente las mismas
instrucciones de C:
• Instrucción condicional if.
• Ciclos while y do ... while.
• Ciclos for.
• Selección switch/case.
Ejercicio
• Crear un programa en Java que calcule el
factorial de 6
Factorial de 6
public class Fact {
public static void main (String[] args) {
int n= 6;
int f= 1; // También puede ser double
for (int i= 1; i<= n; i++)
f= f*i;
System.out.println("El factorial de "+n+" es "+f);
// Consola.esperar();
}
}
Strings
Declaración de un string:
String s, t; // Declaración
String r= "Hola"; // Declaración con
asignación
Despliegue de un string:
System.out.println(r);
String
• Asignación de strings:
s= r;
t= "que tal";
• Concatenación de strings:
s= r+t; // "Holaque tal"
s= r+" "+t; // "Hola que tal"
String
•
•
•
•
•
Tamaño de un string: s.length()
k-ésimo caracter: s.charAt(k)
subsecuencias: s.substring(begin, end)
comparación de strings: s.equals("Hola")
comparación de referencias: s=="Hola"
String
• Conversiones implícitas:
int n= 5; String s;
s= "La variable n es " + n;
System.out.println(s);
System.out.println("n= "+n);
String
• Los strings no se pueden modificar:
• s[0]= 'h'; // error, s no es un arreglo
s.charAt(0)= 'h'; // error
• Java no posee aritmética de punteros:
• s= s+1; // agrega "1" al final de s