SlideShare una empresa de Scribd logo
1 de 38
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 1
Maestría en Sistemas Computacionales
Materia
TECNOLOGÍAS DE PROGRAMACIÓN
Capítulo
1.Introducción a Java
(Segunda parte)
semestre agosto – diciembre 2012
Instituto Tecnológico de la Laguna
División de Estudios de Posgrado e Investigación
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 2
• Plataforma de desarrollo.
• Descripción de los diversos tipos de
aplicaciones.
• Tipos de Datos Primitivos y Estatutos de
Control.
1.1. Introducción a Java.Introducción a Java.
Contenido
Plataforma de desarrollo.
 Herramientas de desarrollo de Java (JDK Java
Development Kit)
Java SDK (Software Development Kit) o JDK para
las versiones 1.2 -1.4
J2SE (Java 2 Standard Edition):Java 2 Standard
Edition Development Kit versión 5.0 o J2SE
5.0.
J2EE (Java 2 Entrerprise Edition)
J2ME (Java 2 Micro Edition)
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 3
Entornos Integrados de Desarrollo
 Eclipse
http://www.eclipse.org
 NetBeans
http://www.netbeans.org
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 4
Tipos de aplicaciones
 Aplicaciones de Java
 Modo consola
 Interfaces Graficas de Usuario
 Applets: Son aplicaciones que se
ejecutan desde un navegador.
 Servlets: son módulos escritos en
Java que se utilizan en un servidor,
que puede ser o no ser servidor web.
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 5
Toda aplicación de Java debe
tener:
Public class NombreClase
{
public static void main(String[] args)
{
sentencias del programa
}
}
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 6
Comentarios
class HolaMundo
{
/*
* Punto de entrada a la aplicación.
*
* args: matriz de parámetros pasados a la aplicación
* mediante la línea de órdenes. Puede estar vacía.
*/
public static void main (String[] args)
{
System.out.println("Hola mundo!!!"); //muestra el letrero
}
}
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 7
Tipos de datos enteros
Tipo de datos
enteros
Requisitos de
almacenamient
o
Rango
int 4 bytes -2,147,483,648 a
2,147,483,647
Short 2 bytes -32,768 a 32,767
Long 8 bytes -9,223,372,036,854,775,808
a
9,223,372,036,854,775,807
Bye 1 byte -128 a 127
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 8
Tipos de datos de coma flotante
Tipo de coma
flotante
Requisitos de
almacenamiento
Rango
float 4 bytes ±3.40282347e+38F
(6-7 cifras significativas)
double 8 bytes ±1.79769313486231570E+308
(15 cifras decimales
significativas)
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 9
Desbordamientos y errores:
•Infinito positivo: numero positivo/0
•Infinito negativo: número negativo /0
•NaN (no es un número): 0/0 o la raíz cuadrada
de un número negativo
Tipo Char
 Emplea el método de codificación
UNICODE.
 UNICODE utiliza 16 bits para
representar un carácter.
 En Java, el tipo char describe una
unidad de código con la codificación
UTF-16.
 ‘A’ es diferente a “A”.
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 10
Tipo boolean
 Tiene dos valores posibles: false o
true.
 No se pueden hacer conversiones
entre valores enteros y boolean.
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 11
Variables
 Todas las variables tienen un tipo:
tipo nombreVariable;
double sueldo;
int diasVacaciones;
long poblacionTerrestre;
boolean hecho;
int i, j; // ambos son enteros
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 12
Variables
 Iniciación de variables.
int diasVacaciones;
diasVacaciones = 12;
int diasVacaciones = 12;
 En Java, se considera buen estilo
declarar las variables tan cerca del lugar
en que se utilicen por primera vez como
sea posible.
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 13
Constantes
 En Java, para denotar una constante se emplea la
palabra reservada final.
public class Constantes
{
public class static void main(String[] args)
{
final double CM_POR_PULGADA = 2.54;
double anchuraPapel = 8.5;
double longitudPapel = 11;
System.out.println(“Tamaño del papel en centimetros: ¨ +
anchuraPapel * CM_POR_PULGADA + “ por “ + longitudPapel *
CM_POR_PULGADA);
}
}
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 14
Constantes
 En Java, para denotar una constante de clase se
emplea las palabras reservadas static final.
public class Constantes2
{
public class static void main(String[] args)
{
double anchuraPapel = 8.5;
double longitudPapel = 11;
System.out.println(“Tamaño del papel en centimetros: ¨ +
anchuraPapel * CM_POR_PULGADA + “ por “ + longitudPapel *
CM_POR_PULGADA);
}
public static final double CM_POR_PULGADA = 2.54;
}
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 15
Operadores aritméticos
 Operadores aritméticos: suma +,
resta -, multiplicación *, división / y
modulo %.
 La división entera por cero da lugar a
una excepción, mientras que la
división de coma flotante por cero
produce un resultado infinito o NaN.
 Ejemplo: x = x + 4 ó x +=4
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 16
Operadores incremento y decremento
 Sufijo:
int n = 12;
n++;
 Prefijo:
int n = 12;
++n;
Ejemplo:
int m = 7;
int n = 7;
int a = 2*++m; //ahora a es 16 y m es 8
int b = 2*n++; // ahora b es 14 y n es 8
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 17
Operadores relacionales y
booleanos
 Operadores relacionales: menor <,
mayor >, menor o igual que <=,
mayor o igual que >=, igual ==, no
igual que !=.
 Operadores booleanos: not “no” !,
and “y lógico” && y or “o lógico” ||.
Se evalúan por corto circuito.
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 18
Operador ternario ?
condición ? expresión1: expresión2
Si el valor de la evaluación de la
condición es true produce como
resultado la primera expresión, y el
valor de la segunda expresión en caso
contrario. Ejemplo:
x<y?x:y
produce el menor de los valores x e y.
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 19
Operadores de bits
 Son operadores que trabajan con los
tipos de datos enteros.
 Los operadores lógicos de bits son:
& (“y”)| (“o”) ^ (“xor”) - (“not”)
 Otros operadores, que desplazan
tramas de bits hacía la izquierda
(<<) o hacía la derecha (>>).
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 20
Funciones y constantes matemáticas
 Clase Math
Raíz cuadrada
double x = 4
double y = Math.sqrt(x);
System.out.println(y); // imprime 2.0
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 21
Elevar un número a una potencia:
double y =Math.pow(x,a);
Funciones trigonométricas:
Math.sin Math.tan
Math.cos Math.atan Math.atan2
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 22
Función exponencial:
Math.exp
Función logaritmo natural:
Math.log
Constantes:
Math.PI
Math.E
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 23
Conversiones entre tipos numéricos
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 24
char
byte short int long
float double
Conversión sin
Pérdida de información
Conversión con
Pérdida de precisión.
Ejemplo:
int n = 123456789;
float f = n;
// f es 1.23456792E8
Cuando se combinan dos valores mediante
un operador binario:
 Si alguno de los operadores es de tipo
double, el otro se traducirá a double.
 En caso contrario, si alguno de los
operadores es de tipo float, el otro se
traducirá a float.
 En caso contrario, si alguno de los
operadores es de tipo long, el otro se
traducirá long.
 En caso contrario, ambos operadores se
traducirán a int.
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 25
Cast: conversión de tipos.
 Cuando utilizamos el “cast” se puede
perder información.
 La sintáxis del cast consiste en dar el
tipo de destino entre paréntesis,
poniendo después el nombre de la
variable.
 Por ejemplo:
double x = 9.997;
int nx = (int)x; // nx tiene el valor de 9
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 26
Prioridad de operadoresOperadores Asociatividad
[].() (llamada a método) De izquierda a derecha
!~++--+(unario)-(unario)()(cast) new De derecha a izquierda
* / % De izquierda a derecha
+ - De izquierda a derecha
<< >> >>> De izquierda a derecha
< <= > >= instanceof De izquierda a derecha
== != De izquierda a derecha
& De izquierda a derecha
^ De izquierda a derecha
| De izquierda a derecha
&& De izquierda a derecha
|| De izquierda a derecha
?: De derecha a izquierda
= += -= *= /= %= &= |= ^= <<= >>= >>= De derecha a izquierda
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 27
Tipos enumerados
 A partir del JDK 5.0 se pueden definir
tipos de datos enumerados:
enum talla {PEQUEÑA, MEDIANA, GRANDE, EXTRA_GRANDE};
talla s = talla.PEQUEÑA;
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 28
Cadenas
 Clase estándar predefinida String.
String e =“”; // cadena vacía
String saludo = “hola”;
 Método length
int n = saludo.length(); // n toma el valor de 4
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 29
 La llamada saludo.charAt(n)
propociona la unidad de código que
se encuentra en la posición n, n está
entre 0 y saludo.length()-1.
char primero= saludo.charAt(0);// la primera es h
char ultimo = saludo.charAt(3); // la última es a
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 30
Subcadenas
 Para extraer una subcadena de una cadena
más larga:
String saludo = “hola a todos”;
String s = saludo.substring(0,6);
Crea una cadena formada por los caracteres
“hola a”.
 Modificar subcadenas:
saludo = saludo.substring(0,2)+”y!”;
Modifica el valor actual de saludo a “hoy!”;
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 31
Concatenación
 Java permite emplear el signo + para
unir (concatenar) cadenas:
String mensaje1 = “no recomendada para”;
String mensaje2 = “menores de edad”;
String mensaje = mensaje1+mensaje2;
int edad = 13;
String recom= “no recomendada para menores de “ + edad;
System.out.println(“No recomendado para menores de “ + edad);
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 32
Igualdad de cadenas
 Para comparar si dos cadenas son
iguales, utilice el método equals.
s.equals(t)
Proporciona true si las cadenas s y t
son iguales, y false en caso contrario.
También se puede comparar:
“Hola”.equalsIgnoreCase(“hola”)
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 33
Entrada y Salida
 Flujo de salida estándar:
System.out
System.out.println(“Hola a todos”);
 Flujo de entrada estándar:
System.in
Scanner entrada = new Scanner(System.in);
System.out.println(“¿Cómo te llamas? ”);
String nombre = entrada.nextLine();
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 34
 Para leer una sola palabra:
String nombrePila = entrada.next();
 Para leer un entero:
System.out.println(“¿Cuántos años tienes?”);
int edad = entrada.nextInt();
Análogamente, para leer un double se emplea nextDouble().
La clase Scanner está definida en el paquete java.util.
Siempre que se use una clase que no está definida en
java.lang es preciso utilizar el import al principio del
programa.
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 35
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 36
Fuente de información
 Core JAVA Volumen I. Fundamentos
Cay S. Horstmann, Gary Cornell
Pearson Educación, 2006
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 37
Nina Martell Neira
nmartellneira@gmail.com
Verónica Amezcua Magallón
veroamezcua@hotmail.com
Carlos Barker del Río
car_barker@yahoo.com.mx
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 38

Más contenido relacionado

La actualidad más candente

Resolución de problemas con java
Resolución de problemas con javaResolución de problemas con java
Resolución de problemas con java
diegocastro1234
 
Programación Modular
Programación ModularProgramación Modular
Programación Modular
guestefc95b
 
Practicas java gustavo carbajal macias 402
Practicas java gustavo carbajal macias 402Practicas java gustavo carbajal macias 402
Practicas java gustavo carbajal macias 402
Gustavo Macias
 
Practicas java Nieto Ugalde Evelyn Anayansi Grupo:403
Practicas java Nieto Ugalde Evelyn Anayansi Grupo:403Practicas java Nieto Ugalde Evelyn Anayansi Grupo:403
Practicas java Nieto Ugalde Evelyn Anayansi Grupo:403
Evelyn Anayansi
 
Seminario de matlab
Seminario de matlabSeminario de matlab
Seminario de matlab
jamarzo
 
Pseudocodigos
PseudocodigosPseudocodigos
Pseudocodigos
Clariza
 

La actualidad más candente (19)

Aline
AlineAline
Aline
 
Resolución de problemas con java
Resolución de problemas con javaResolución de problemas con java
Resolución de problemas con java
 
Proyecto final de curso
Proyecto final de cursoProyecto final de curso
Proyecto final de curso
 
Programación Modular
Programación ModularProgramación Modular
Programación Modular
 
Elemento1
Elemento1Elemento1
Elemento1
 
02 representación informacion
02 representación informacion02 representación informacion
02 representación informacion
 
Practicas java gustavo carbajal macias 402
Practicas java gustavo carbajal macias 402Practicas java gustavo carbajal macias 402
Practicas java gustavo carbajal macias 402
 
Programacion matlab
Programacion matlabProgramacion matlab
Programacion matlab
 
Practicas java Nieto Ugalde Evelyn Anayansi Grupo:403
Practicas java Nieto Ugalde Evelyn Anayansi Grupo:403Practicas java Nieto Ugalde Evelyn Anayansi Grupo:403
Practicas java Nieto Ugalde Evelyn Anayansi Grupo:403
 
Software omegaup
Software omegaupSoftware omegaup
Software omegaup
 
Seminario de matlab
Seminario de matlabSeminario de matlab
Seminario de matlab
 
Practicas
PracticasPracticas
Practicas
 
Presentacion wilfredo nadales(29946762)
Presentacion wilfredo nadales(29946762)Presentacion wilfredo nadales(29946762)
Presentacion wilfredo nadales(29946762)
 
Pseudocodigos
PseudocodigosPseudocodigos
Pseudocodigos
 
Apuntes electr digital
Apuntes electr digitalApuntes electr digital
Apuntes electr digital
 
Omega Up
Omega UpOmega Up
Omega Up
 
Fundamentos de algoritmia
Fundamentos de algoritmiaFundamentos de algoritmia
Fundamentos de algoritmia
 
Computación sb
Computación sbComputación sb
Computación sb
 
Estructuras de Control - Algoritmia
Estructuras de Control - AlgoritmiaEstructuras de Control - Algoritmia
Estructuras de Control - Algoritmia
 

Similar a 1 introduccion a_java_2da_parte

Entidades primitivas para algoritmos
Entidades primitivas para algoritmosEntidades primitivas para algoritmos
Entidades primitivas para algoritmos
luisce03
 
Taller de programación clase #2
Taller de programación   clase #2Taller de programación   clase #2
Taller de programación clase #2
Carlos Posada
 
Taller de programación clase #2
Taller de programación   clase #2Taller de programación   clase #2
Taller de programación clase #2
Juan Cardona
 
Guía no. 1 grado 7
Guía no. 1 grado 7Guía no. 1 grado 7
Guía no. 1 grado 7
gregoriopena
 
Guía no. 1 grado 7
Guía no. 1 grado 7Guía no. 1 grado 7
Guía no. 1 grado 7
gregoriopena
 
Arreglo unidimensionales y bidimensionales
Arreglo unidimensionales y bidimensionalesArreglo unidimensionales y bidimensionales
Arreglo unidimensionales y bidimensionales
Marco Garay
 

Similar a 1 introduccion a_java_2da_parte (20)

Arreglos unidimensionales
Arreglos unidimensionalesArreglos unidimensionales
Arreglos unidimensionales
 
Lo básico para programar
Lo básico para programarLo básico para programar
Lo básico para programar
 
Arreglos Unimensionales
Arreglos UnimensionalesArreglos Unimensionales
Arreglos Unimensionales
 
Introduccion al lenguaje c_EderHenriquez
Introduccion al lenguaje c_EderHenriquezIntroduccion al lenguaje c_EderHenriquez
Introduccion al lenguaje c_EderHenriquez
 
Entidades primitivas para algoritmos
Entidades primitivas para algoritmosEntidades primitivas para algoritmos
Entidades primitivas para algoritmos
 
Lo básico para programar
Lo básico para programarLo básico para programar
Lo básico para programar
 
Taller de programación clase #2
Taller de programación   clase #2Taller de programación   clase #2
Taller de programación clase #2
 
Taller de programación clase #2
Taller de programación   clase #2Taller de programación   clase #2
Taller de programación clase #2
 
1. vers. cap-3_tipos_dedatos
1. vers. cap-3_tipos_dedatos1. vers. cap-3_tipos_dedatos
1. vers. cap-3_tipos_dedatos
 
Tutorial de visual c++
Tutorial de visual c++Tutorial de visual c++
Tutorial de visual c++
 
Visualización de datos para Machine Learning
Visualización de datos para Machine LearningVisualización de datos para Machine Learning
Visualización de datos para Machine Learning
 
Diapositivas curso programación orientada a objetos en Java
Diapositivas curso programación orientada a objetos en JavaDiapositivas curso programación orientada a objetos en Java
Diapositivas curso programación orientada a objetos en Java
 
Variables2
Variables2Variables2
Variables2
 
Problemasjava2
Problemasjava2Problemasjava2
Problemasjava2
 
Guía no. 1 grado 7
Guía no. 1 grado 7Guía no. 1 grado 7
Guía no. 1 grado 7
 
Guía no. 1 grado 7
Guía no. 1 grado 7Guía no. 1 grado 7
Guía no. 1 grado 7
 
Guía no. 1 grado 7
Guía no. 1 grado 7Guía no. 1 grado 7
Guía no. 1 grado 7
 
Diapo04
Diapo04Diapo04
Diapo04
 
Arreglo unidimensionales y bidimensionales
Arreglo unidimensionales y bidimensionalesArreglo unidimensionales y bidimensionales
Arreglo unidimensionales y bidimensionales
 
Resumen java
Resumen javaResumen java
Resumen java
 

Más de Jesus Alberto Iribe Gonzalez (20)

3 interfaces clases_abstractas_herencia_polimorfismo
3 interfaces clases_abstractas_herencia_polimorfismo3 interfaces clases_abstractas_herencia_polimorfismo
3 interfaces clases_abstractas_herencia_polimorfismo
 
1 introduccion a_java_1er_parte
1 introduccion a_java_1er_parte1 introduccion a_java_1er_parte
1 introduccion a_java_1er_parte
 
2 programación orientada_a_objetos
2 programación orientada_a_objetos2 programación orientada_a_objetos
2 programación orientada_a_objetos
 
Metodologia de investigacion itl
Metodologia de investigacion itlMetodologia de investigacion itl
Metodologia de investigacion itl
 
U3 interfaces, clases abstractas, heencia y polimorfismo
U3 interfaces, clases abstractas, heencia y polimorfismoU3 interfaces, clases abstractas, heencia y polimorfismo
U3 interfaces, clases abstractas, heencia y polimorfismo
 
Matematicas discretas1
Matematicas discretas1Matematicas discretas1
Matematicas discretas1
 
Infore de proyecto v1
Infore de proyecto v1Infore de proyecto v1
Infore de proyecto v1
 
Conjuntos
ConjuntosConjuntos
Conjuntos
 
Trayectorias
TrayectoriasTrayectorias
Trayectorias
 
Id sw13
Id sw13Id sw13
Id sw13
 
Id sw12
Id sw12Id sw12
Id sw12
 
Id sw11
Id sw11Id sw11
Id sw11
 
Id sw10
Id sw10Id sw10
Id sw10
 
Id sw09
Id sw09Id sw09
Id sw09
 
Id sw08
Id sw08Id sw08
Id sw08
 
Id sw07
Id sw07Id sw07
Id sw07
 
Id sw06
Id sw06Id sw06
Id sw06
 
Id sw05
Id sw05Id sw05
Id sw05
 
Id sw04
Id sw04Id sw04
Id sw04
 
Id sw02
Id sw02Id sw02
Id sw02
 

1 introduccion a_java_2da_parte

  • 1. Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 1 Maestría en Sistemas Computacionales Materia TECNOLOGÍAS DE PROGRAMACIÓN Capítulo 1.Introducción a Java (Segunda parte) semestre agosto – diciembre 2012 Instituto Tecnológico de la Laguna División de Estudios de Posgrado e Investigación
  • 2. Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 2 • Plataforma de desarrollo. • Descripción de los diversos tipos de aplicaciones. • Tipos de Datos Primitivos y Estatutos de Control. 1.1. Introducción a Java.Introducción a Java. Contenido
  • 3. Plataforma de desarrollo.  Herramientas de desarrollo de Java (JDK Java Development Kit) Java SDK (Software Development Kit) o JDK para las versiones 1.2 -1.4 J2SE (Java 2 Standard Edition):Java 2 Standard Edition Development Kit versión 5.0 o J2SE 5.0. J2EE (Java 2 Entrerprise Edition) J2ME (Java 2 Micro Edition) Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 3
  • 4. Entornos Integrados de Desarrollo  Eclipse http://www.eclipse.org  NetBeans http://www.netbeans.org Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 4
  • 5. Tipos de aplicaciones  Aplicaciones de Java  Modo consola  Interfaces Graficas de Usuario  Applets: Son aplicaciones que se ejecutan desde un navegador.  Servlets: son módulos escritos en Java que se utilizan en un servidor, que puede ser o no ser servidor web. Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 5
  • 6. Toda aplicación de Java debe tener: Public class NombreClase { public static void main(String[] args) { sentencias del programa } } Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 6
  • 7. Comentarios class HolaMundo { /* * Punto de entrada a la aplicación. * * args: matriz de parámetros pasados a la aplicación * mediante la línea de órdenes. Puede estar vacía. */ public static void main (String[] args) { System.out.println("Hola mundo!!!"); //muestra el letrero } } Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 7
  • 8. Tipos de datos enteros Tipo de datos enteros Requisitos de almacenamient o Rango int 4 bytes -2,147,483,648 a 2,147,483,647 Short 2 bytes -32,768 a 32,767 Long 8 bytes -9,223,372,036,854,775,808 a 9,223,372,036,854,775,807 Bye 1 byte -128 a 127 Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 8
  • 9. Tipos de datos de coma flotante Tipo de coma flotante Requisitos de almacenamiento Rango float 4 bytes ±3.40282347e+38F (6-7 cifras significativas) double 8 bytes ±1.79769313486231570E+308 (15 cifras decimales significativas) Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 9 Desbordamientos y errores: •Infinito positivo: numero positivo/0 •Infinito negativo: número negativo /0 •NaN (no es un número): 0/0 o la raíz cuadrada de un número negativo
  • 10. Tipo Char  Emplea el método de codificación UNICODE.  UNICODE utiliza 16 bits para representar un carácter.  En Java, el tipo char describe una unidad de código con la codificación UTF-16.  ‘A’ es diferente a “A”. Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 10
  • 11. Tipo boolean  Tiene dos valores posibles: false o true.  No se pueden hacer conversiones entre valores enteros y boolean. Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 11
  • 12. Variables  Todas las variables tienen un tipo: tipo nombreVariable; double sueldo; int diasVacaciones; long poblacionTerrestre; boolean hecho; int i, j; // ambos son enteros Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 12
  • 13. Variables  Iniciación de variables. int diasVacaciones; diasVacaciones = 12; int diasVacaciones = 12;  En Java, se considera buen estilo declarar las variables tan cerca del lugar en que se utilicen por primera vez como sea posible. Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 13
  • 14. Constantes  En Java, para denotar una constante se emplea la palabra reservada final. public class Constantes { public class static void main(String[] args) { final double CM_POR_PULGADA = 2.54; double anchuraPapel = 8.5; double longitudPapel = 11; System.out.println(“Tamaño del papel en centimetros: ¨ + anchuraPapel * CM_POR_PULGADA + “ por “ + longitudPapel * CM_POR_PULGADA); } } Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 14
  • 15. Constantes  En Java, para denotar una constante de clase se emplea las palabras reservadas static final. public class Constantes2 { public class static void main(String[] args) { double anchuraPapel = 8.5; double longitudPapel = 11; System.out.println(“Tamaño del papel en centimetros: ¨ + anchuraPapel * CM_POR_PULGADA + “ por “ + longitudPapel * CM_POR_PULGADA); } public static final double CM_POR_PULGADA = 2.54; } Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 15
  • 16. Operadores aritméticos  Operadores aritméticos: suma +, resta -, multiplicación *, división / y modulo %.  La división entera por cero da lugar a una excepción, mientras que la división de coma flotante por cero produce un resultado infinito o NaN.  Ejemplo: x = x + 4 ó x +=4 Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 16
  • 17. Operadores incremento y decremento  Sufijo: int n = 12; n++;  Prefijo: int n = 12; ++n; Ejemplo: int m = 7; int n = 7; int a = 2*++m; //ahora a es 16 y m es 8 int b = 2*n++; // ahora b es 14 y n es 8 Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 17
  • 18. Operadores relacionales y booleanos  Operadores relacionales: menor <, mayor >, menor o igual que <=, mayor o igual que >=, igual ==, no igual que !=.  Operadores booleanos: not “no” !, and “y lógico” && y or “o lógico” ||. Se evalúan por corto circuito. Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 18
  • 19. Operador ternario ? condición ? expresión1: expresión2 Si el valor de la evaluación de la condición es true produce como resultado la primera expresión, y el valor de la segunda expresión en caso contrario. Ejemplo: x<y?x:y produce el menor de los valores x e y. Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 19
  • 20. Operadores de bits  Son operadores que trabajan con los tipos de datos enteros.  Los operadores lógicos de bits son: & (“y”)| (“o”) ^ (“xor”) - (“not”)  Otros operadores, que desplazan tramas de bits hacía la izquierda (<<) o hacía la derecha (>>). Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 20
  • 21. Funciones y constantes matemáticas  Clase Math Raíz cuadrada double x = 4 double y = Math.sqrt(x); System.out.println(y); // imprime 2.0 Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 21
  • 22. Elevar un número a una potencia: double y =Math.pow(x,a); Funciones trigonométricas: Math.sin Math.tan Math.cos Math.atan Math.atan2 Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 22
  • 23. Función exponencial: Math.exp Función logaritmo natural: Math.log Constantes: Math.PI Math.E Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 23
  • 24. Conversiones entre tipos numéricos Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 24 char byte short int long float double Conversión sin Pérdida de información Conversión con Pérdida de precisión. Ejemplo: int n = 123456789; float f = n; // f es 1.23456792E8
  • 25. Cuando se combinan dos valores mediante un operador binario:  Si alguno de los operadores es de tipo double, el otro se traducirá a double.  En caso contrario, si alguno de los operadores es de tipo float, el otro se traducirá a float.  En caso contrario, si alguno de los operadores es de tipo long, el otro se traducirá long.  En caso contrario, ambos operadores se traducirán a int. Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 25
  • 26. Cast: conversión de tipos.  Cuando utilizamos el “cast” se puede perder información.  La sintáxis del cast consiste en dar el tipo de destino entre paréntesis, poniendo después el nombre de la variable.  Por ejemplo: double x = 9.997; int nx = (int)x; // nx tiene el valor de 9 Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 26
  • 27. Prioridad de operadoresOperadores Asociatividad [].() (llamada a método) De izquierda a derecha !~++--+(unario)-(unario)()(cast) new De derecha a izquierda * / % De izquierda a derecha + - De izquierda a derecha << >> >>> De izquierda a derecha < <= > >= instanceof De izquierda a derecha == != De izquierda a derecha & De izquierda a derecha ^ De izquierda a derecha | De izquierda a derecha && De izquierda a derecha || De izquierda a derecha ?: De derecha a izquierda = += -= *= /= %= &= |= ^= <<= >>= >>= De derecha a izquierda Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 27
  • 28. Tipos enumerados  A partir del JDK 5.0 se pueden definir tipos de datos enumerados: enum talla {PEQUEÑA, MEDIANA, GRANDE, EXTRA_GRANDE}; talla s = talla.PEQUEÑA; Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 28
  • 29. Cadenas  Clase estándar predefinida String. String e =“”; // cadena vacía String saludo = “hola”;  Método length int n = saludo.length(); // n toma el valor de 4 Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 29
  • 30.  La llamada saludo.charAt(n) propociona la unidad de código que se encuentra en la posición n, n está entre 0 y saludo.length()-1. char primero= saludo.charAt(0);// la primera es h char ultimo = saludo.charAt(3); // la última es a Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 30
  • 31. Subcadenas  Para extraer una subcadena de una cadena más larga: String saludo = “hola a todos”; String s = saludo.substring(0,6); Crea una cadena formada por los caracteres “hola a”.  Modificar subcadenas: saludo = saludo.substring(0,2)+”y!”; Modifica el valor actual de saludo a “hoy!”; Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 31
  • 32. Concatenación  Java permite emplear el signo + para unir (concatenar) cadenas: String mensaje1 = “no recomendada para”; String mensaje2 = “menores de edad”; String mensaje = mensaje1+mensaje2; int edad = 13; String recom= “no recomendada para menores de “ + edad; System.out.println(“No recomendado para menores de “ + edad); Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 32
  • 33. Igualdad de cadenas  Para comparar si dos cadenas son iguales, utilice el método equals. s.equals(t) Proporciona true si las cadenas s y t son iguales, y false en caso contrario. También se puede comparar: “Hola”.equalsIgnoreCase(“hola”) Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 33
  • 34. Entrada y Salida  Flujo de salida estándar: System.out System.out.println(“Hola a todos”);  Flujo de entrada estándar: System.in Scanner entrada = new Scanner(System.in); System.out.println(“¿Cómo te llamas? ”); String nombre = entrada.nextLine(); Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 34
  • 35.  Para leer una sola palabra: String nombrePila = entrada.next();  Para leer un entero: System.out.println(“¿Cuántos años tienes?”); int edad = entrada.nextInt(); Análogamente, para leer un double se emplea nextDouble(). La clase Scanner está definida en el paquete java.util. Siempre que se use una clase que no está definida en java.lang es preciso utilizar el import al principio del programa. Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 35
  • 36. Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 36
  • 37. Fuente de información  Core JAVA Volumen I. Fundamentos Cay S. Horstmann, Gary Cornell Pearson Educación, 2006 Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 37
  • 38. Nina Martell Neira nmartellneira@gmail.com Verónica Amezcua Magallón veroamezcua@hotmail.com Carlos Barker del Río car_barker@yahoo.com.mx Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 38