CATEDRATICO:
ING. Y MI. JORGE ALBERTO CAMPOS ROSA
MATERIA :
PROGRAMACION
ORIENTADA A OBJETOS
CONTENIDO
 DESCRIPCION ARQUITECTURA
JAVA
 TIPOS DE DATOS
 VARIABLES
Programa de Ejemplo
Declaración de Variables
public class MaxVariablesDemo {
public static void main(String args[]) {
// integers
byte largestByte = Byte.MAX_VALUE;
short largestShort = Short.MAX_VALUE;
int largestInteger = Integer.MAX_VALUE;
long largestLong = Long.MAX_VALUE;
// real numbers
float largestFloat = Float.MAX_VALUE;
double largestDouble = Double.MAX_VALUE;
// other primitive types
char aChar = 'S';
boolean aBoolean = true;
}
}
Ámbito de las Variables
El ámbito de una variable es la región de un programa
dentro del cual la variable puede ser referenciada con
su nombre simple.
Ámbito es diferente de visibilidad, el cual aplica sólo
a variables miembro y determina si la variable puede
ser usada desde fuera de la clase dentro de la cual es
declarada.
La visibilidad se establece con un modificador de
acceso.
Ámbito de las Variables 2
La localización de la declaración de la variable dentro del programa establece su
ámbito y la coloca dentro de una de estas cuatro categorías:
◼ Variable miembro (pertenece a
una clase).
◼ Variable local
◼ Parámetro de método.
◼ Parámetro de manejador
de excepciones.
Inicialización de Variables
Las variables locales y variables miembro pueden ser inicializadas
con una instrucción de asignación en el momento que son
declaradas. El tipo de dato debe ser acorde al valor asignado.
Ej.
byte largestByte = Byte.MAX_VALUE;
short largestShort = Short.MAX_VALUE;
int largestInteger = Integer.MAX_VALUE;
long largestLong = Long.MAX_VALUE;
Los parámetros de métodos y los parámetros de manejadores de
excepciones no pueden ser inicializados de esta forma. El valor
para un parámetro es fijado por el llamador.
Asignaciones
 Se utiliza el operador de asignación =
 <tipo> <variable> = <valor>;
 <tipo> <variable>;
<otras instrucciones>...
<variable> = <valor>;
 La parte izquierda siempre debe ser una
variable
 La parte derecha puede ser un literal, una
variable, una expresión, una función o una
combinación de todos.
 int x = 4; //Declaracion con asignación
 x = 9; //Se asume que x está definida
Constantes (final)
Se puede declarar una variable en cualquier ámbito para que sea
final.
El valor de una variable final no puede cambiar después de que ha
sido inicializada. Tales variables son similares a las constantes en
otros lenguajes.
Para declarar una variable final, emplee la palabra reservada final
antes del tipo:
Ej.
final int aFinalVar = 0;
En el caso del ejemplo, se ha declarado e inicializado la variable
en un solo paso. Se puede hacer en dos pasos si se prefiere. Hecho
esto, si se intenta asignar posteriormente un valor a ésta variable,
produciría un error de compilación.
Resumen - Variables
◼ Existen dos categorías: primitivas y de referencia.
◼ La ubicación de una declaración de variable indica
implícitamente el ámbito de la variable. Hay cuatro
categorías de ámbito: miembro de variable, variable local,
parámetro y parámetro de manejador de excepciones.
◼ Se puede proveer un valor inicial para una variable dentro
de su declaración empleando el operador de asignación (=).
◼ Se puede declarar una variable como final. El valor de una
variable final no puede ser cambiado después de que ha sido
inicializada.
Tipos de Datos
 Java define dos tipos de datos
 Tipos primitivos
 Tipos referencia
 Los tipos primitivos son ocho agrupados en
cuatro categorías:
 Lógico: boolean
 Texto: char
 Entero:byte, short, int, long
 Real: float, double
 Los tipos referencia son apuntadores a
objetos.
Tipos de Datos
 Tipos primitivos:
 boolean true o false
 char unicode! (16 bits)
 byte entero de 8 bits con signo.
 short entero de 16 bits con signo.
 int entero de 32 bits con signo.
 long entero de 64 bits con signo.
 float,double IEEE 754 floating point
Tipos de datos Referencia
 Un tipo referencia guarda un apuntador a la dirección donde se
ubica el objeto (32 bits).
 Sólo puede almacenar objetos de su propio tipo.
 Ejemplo:
Cuadrado cuad1, cuad2;
Circulo circ1;
cuad1 = new Cuadrado();
circ1 = cuad1; // Error de compliación
cuad2 = cuad1’; // Ok
 Todas las clases son de tipo referencia.
 El valor que toma por defecto una variable de tipo referencia
es null.
Cadenas de Caracteres
 La clase String permite manejar cadenas de
caracteres.
 El literal string debe ir entre comillas dobles “”.
 Se puede crear una cadena de caracteres de dos
formas:
 String nombre = new String(“Pepe”);
 String nombre = “Pepe”;
 Para concatenar dos cadenas se usa el operador +.
 No se guarda el carácter fin de cadena.
Conversiones de tipos
 La conversión de tipos (casting) debe realizarse
entre tipos de la misma naturaleza: numéricos o
referencia.
 Al convertir un tipo a un tamaño más pequeño se
puede perder la información del los bits de mayor
peso.
 No hay conversión automatica con el tipo boolean!
 La sintaxis es: (<tipo>) <expresion>
 Ejemplo: int i = (int) 1.345;
Class Byte
 java.lang
Class Byte
java.lang.Object
java.lang.Number
java.lang.Byte
All Implemented Interfaces: Serializable, Comparable<Byte>
 public final class Byte extends Numberimplements Comparable<Byte>
 The Byte class wraps a value of primitive type byte in an object. An
object of type Byte contains a single field whose type is byte.
 In addition, this class provides several methods for converting a byte to
a String and a String to a byte, as well as other constants and methods
useful when dealing with a byte.
 Since: JDK1.1
 See Also: Number, Serialized Form
Campos de la clase
static byte MAX_VALUE
A constant holding the maximum value a byte can
have, 27-1.
static byte MIN_VALUE
A constant holding the minimum value a byte can
have, -27.
static int SIZE
The number of bits used to represent a byte value in
two's complement binary form.
static Class<Byte> TYPE
The Class instance representing the primitive type
byte.
Constructores
Byte(byte value)
Constructs a newly allocated Byte object that represents the
specified byte value.
Byte(String s)
Constructs a newly allocated Byte object that represents the
byte value indicated by the String parameter.
Métodos de la clase
byte byteValue()
Returns the value of this Byte as a byte.
int compareTo(Byte anotherByte)
Compares two Byte objects numerically
static Bytedecode(String nm)
Decodes a String into a Byte.
Double doubleValue()
Returns the value of this Byte as a double.
Boolean equals(Object obj)
Compares this object to the specified object.
float floatValue()
Returns the value of this Byte as a float.
int hashCode()
Returns a hash code for this Byte.
int intValue()
Returns the value of this Byte as an int.
long longValue()
Returns the value of this Byte as a long.
static byte parseByte(String s)
Parses the string argument as a signed decimal byte.
static byte parseByte(String s, int radix)
Parses the string argument as a signed byte in the radix specified by the second argument.
short shortValue()
Returns the value of this Byte as a short.
String toString()
Returns a String object representing this Byte's value.
static String toString(byte b)
Returns a new String object representing the specified byte.
static Byte valueOf(byte b)
Returns a Byte instance representing the specified byte value.
static Byte valueOf(String s)
Returns a Byte object holding the value given by the specified String.
static Byte valueOf(String s, int radix)
Returns a Byte object holding the value extracted from the specified String when parsed with the radix given by the
second argument.
Usando la clase Byte
Operadores
Un operador realiza una función en uno, dos o tres operandos. Un
operador que requiere un operando es denominado operador unario.
Ej. ++ es un operador unitario que incrementa en uno el valor de su
operando.
Un operador que requiere dos operandos es un operador binario.
Ej. = es un operador binario. Se usa para asignación de valores a
variables.
Un operador que requiere tres operadores se denomina ternario. Existe
un operador ternario ?: que es una abreviación de la instrucción if-else.
Existen también tres modalidades de notación: prefija, postfija e infija.
Operadores Aritméticos
Java soporta varios operadores aritméticos para todos los
números enteros y de punto flotante:
+ (suma), - (resta), * (multiplicación), / (división) y % módulo.
Ej. ArithmeticDemo.java
Operador Uso Descripción
+ op1 + op2 Suma op1 y op2
- op1 - op2 Resta op2 de op1
* op1 * op2 Multiplica op1 por op2
/ op1 / op2 Divide op1 entre op2
% op1 % op2 Calcula el remanente.
Operadores Aritméticos 2
Los operadores abreviados de incremento/decremento son sumarizados en la
siguiente tabla:
Operador Uso Descripción
++ op++ Incrementa op en 1. Asigna primero, incrementa después.
++ ++op Incrementa op en 1. Incrementa primero, asigna después.
-- op-- Decrementa op en 1. Asigna primero, decrementa después.
-- --op Decrementa op en 1. Decrementa primero, asigna después.
Operadores Relacionales
Un operador relacional compara dos valores y determina la
relación entre ellos. Por ejemplo, != retorna verdadero si los dos
operandos son diferentes. A continuación una tabla de opradores:
Operador Uso Retorna verdadero
> op1 > op2 op1 es mayor que op2
>= op1 >= op2 op1 es mayor que o igual que op2
< op1 < op2 op1 es menor que op2
<= op1 <= op2 op1 es menor que o igual que op2
== op1 == op2 op1 y op2 son iguales
!= op1 != op2 op1 y op2 son diferentes
Operadores Condicionales
Los operadores relacionales frecuentemente son empleados con
operadores condicionales para construir más complejas expresiones de
toma de decisiones. El lenguaje de programación Java soporta seis
operadores condicionales – cinco binarios y uno unario - como aparece
en la siguiente tabla:
Operador Uso Retorna verdadero si
&& op1 && op2 op1 y op2 son ambos verdad. (shortcircuit)
| | op1 | | op2 o op1 o op2 es verdad. (shortcircuit)
! !op op es falso.
& op1 & op2 op1 y op2 son ambos verdad. (non-shortcircuit)
| op1 | op2 op1 o op2 es verdad. (non-shortcircuit)
^ op1 ^ op2 si op1 y op2 son diferentes – esto es si uno u otro
de los operandos es verdad, pero no los dos.
Otros Operadores
La siguiente tabla lista los otros operadores que el lenguaje Java soporta:
Operador Descripción
?: Abreviación if - else
[ ] Empleado para declarar arreglos y accesar elementos.
. Usado para formar nombres cualificados
( parametros ) Delimita una lista de parámetros separados por coma
( tipo ) Convierte un valor al tipo especificado
new Crea un nuevo objeto ó un nuevo arreglo
instanceof Determina si su primer operando es una instancia del segundo
operando. (descendencia directa o no).
Expresiones
Variables y operadores, los cuales aparecen en las secciones previas, son
bloques básicos que conforman los programas.
Se pueden combinar literales, variables, y operadores para formar
expresiones – segmentos de código que realizan cálculos y retornan valores.
Una expresión es una serie de variables, operadores y llamadas a métodos
(construidas de acuerdo a la sintaxis del lenguaje) que resultan en un
valor simple.
Ej. count = 1
(count == 0)
x1 = -b + Math.sqrt((Math.sqr(b) + a*c)/ (2*a))
contador++
carácter = s1.charAt(0)
bandera = !bandera
Character.isUpperCase(aChar)
public class Cuadrado{
//atributo
int lado;
// constructor
public Cuadrado (int l){
lado = l;
}
// metodos
public int perimetro(){
return 4*lado;
}
public int area(){
return lado*lado;
}
public String toString(){
return "Cuadrado Lado = "+lado;
}
}
public class PruebaCuadrado{
public static void main(String[] args){
Cuadrado c = new Cuadrado(5);
System.out.println(c);
System.out.println("El perimetro es "+ c.perimetro());
System.out.println("El area es "+ c.area());
}
}
Precedencia de operadores
• Los operadores binarios se evalúan de izaquierda a derecha, excepto
los operadores de asignación.
1. Sufijos: . [] ()
2. Unarios: ++ -- ! ~
3. Creacion y casting: new (tipo)exp
4. Multiplicativos: * / %
5. Aditivos: + -
6. Desplazamientos: << >> >>>
7. Relacionales: < > <= >= == !=
8. Bits: & ^ |
9. Lógicos: && ||
10. Condicional: ? :
11. Asignación: = op= (*= /= %= += - etc.)
LABORATORIO NO.2
DESARROLLANDO EJEMPLOS DE JAVA
PREGUNTAS

Clase No.03 GENERALIDADES DEL LENGUAJE JAVA.pdf

  • 1.
    CATEDRATICO: ING. Y MI.JORGE ALBERTO CAMPOS ROSA MATERIA : PROGRAMACION ORIENTADA A OBJETOS
  • 2.
  • 3.
    Programa de Ejemplo Declaraciónde Variables public class MaxVariablesDemo { public static void main(String args[]) { // integers byte largestByte = Byte.MAX_VALUE; short largestShort = Short.MAX_VALUE; int largestInteger = Integer.MAX_VALUE; long largestLong = Long.MAX_VALUE; // real numbers float largestFloat = Float.MAX_VALUE; double largestDouble = Double.MAX_VALUE; // other primitive types char aChar = 'S'; boolean aBoolean = true; } }
  • 4.
    Ámbito de lasVariables El ámbito de una variable es la región de un programa dentro del cual la variable puede ser referenciada con su nombre simple. Ámbito es diferente de visibilidad, el cual aplica sólo a variables miembro y determina si la variable puede ser usada desde fuera de la clase dentro de la cual es declarada. La visibilidad se establece con un modificador de acceso.
  • 5.
    Ámbito de lasVariables 2 La localización de la declaración de la variable dentro del programa establece su ámbito y la coloca dentro de una de estas cuatro categorías: ◼ Variable miembro (pertenece a una clase). ◼ Variable local ◼ Parámetro de método. ◼ Parámetro de manejador de excepciones.
  • 6.
    Inicialización de Variables Lasvariables locales y variables miembro pueden ser inicializadas con una instrucción de asignación en el momento que son declaradas. El tipo de dato debe ser acorde al valor asignado. Ej. byte largestByte = Byte.MAX_VALUE; short largestShort = Short.MAX_VALUE; int largestInteger = Integer.MAX_VALUE; long largestLong = Long.MAX_VALUE; Los parámetros de métodos y los parámetros de manejadores de excepciones no pueden ser inicializados de esta forma. El valor para un parámetro es fijado por el llamador.
  • 7.
    Asignaciones  Se utilizael operador de asignación =  <tipo> <variable> = <valor>;  <tipo> <variable>; <otras instrucciones>... <variable> = <valor>;  La parte izquierda siempre debe ser una variable  La parte derecha puede ser un literal, una variable, una expresión, una función o una combinación de todos.  int x = 4; //Declaracion con asignación  x = 9; //Se asume que x está definida
  • 8.
    Constantes (final) Se puededeclarar una variable en cualquier ámbito para que sea final. El valor de una variable final no puede cambiar después de que ha sido inicializada. Tales variables son similares a las constantes en otros lenguajes. Para declarar una variable final, emplee la palabra reservada final antes del tipo: Ej. final int aFinalVar = 0; En el caso del ejemplo, se ha declarado e inicializado la variable en un solo paso. Se puede hacer en dos pasos si se prefiere. Hecho esto, si se intenta asignar posteriormente un valor a ésta variable, produciría un error de compilación.
  • 9.
    Resumen - Variables ◼Existen dos categorías: primitivas y de referencia. ◼ La ubicación de una declaración de variable indica implícitamente el ámbito de la variable. Hay cuatro categorías de ámbito: miembro de variable, variable local, parámetro y parámetro de manejador de excepciones. ◼ Se puede proveer un valor inicial para una variable dentro de su declaración empleando el operador de asignación (=). ◼ Se puede declarar una variable como final. El valor de una variable final no puede ser cambiado después de que ha sido inicializada.
  • 10.
    Tipos de Datos Java define dos tipos de datos  Tipos primitivos  Tipos referencia  Los tipos primitivos son ocho agrupados en cuatro categorías:  Lógico: boolean  Texto: char  Entero:byte, short, int, long  Real: float, double  Los tipos referencia son apuntadores a objetos.
  • 11.
    Tipos de Datos Tipos primitivos:  boolean true o false  char unicode! (16 bits)  byte entero de 8 bits con signo.  short entero de 16 bits con signo.  int entero de 32 bits con signo.  long entero de 64 bits con signo.  float,double IEEE 754 floating point
  • 12.
    Tipos de datosReferencia  Un tipo referencia guarda un apuntador a la dirección donde se ubica el objeto (32 bits).  Sólo puede almacenar objetos de su propio tipo.  Ejemplo: Cuadrado cuad1, cuad2; Circulo circ1; cuad1 = new Cuadrado(); circ1 = cuad1; // Error de compliación cuad2 = cuad1’; // Ok  Todas las clases son de tipo referencia.  El valor que toma por defecto una variable de tipo referencia es null.
  • 13.
    Cadenas de Caracteres La clase String permite manejar cadenas de caracteres.  El literal string debe ir entre comillas dobles “”.  Se puede crear una cadena de caracteres de dos formas:  String nombre = new String(“Pepe”);  String nombre = “Pepe”;  Para concatenar dos cadenas se usa el operador +.  No se guarda el carácter fin de cadena.
  • 14.
    Conversiones de tipos La conversión de tipos (casting) debe realizarse entre tipos de la misma naturaleza: numéricos o referencia.  Al convertir un tipo a un tamaño más pequeño se puede perder la información del los bits de mayor peso.  No hay conversión automatica con el tipo boolean!  La sintaxis es: (<tipo>) <expresion>  Ejemplo: int i = (int) 1.345;
  • 15.
    Class Byte  java.lang ClassByte java.lang.Object java.lang.Number java.lang.Byte All Implemented Interfaces: Serializable, Comparable<Byte>  public final class Byte extends Numberimplements Comparable<Byte>  The Byte class wraps a value of primitive type byte in an object. An object of type Byte contains a single field whose type is byte.  In addition, this class provides several methods for converting a byte to a String and a String to a byte, as well as other constants and methods useful when dealing with a byte.  Since: JDK1.1  See Also: Number, Serialized Form
  • 16.
    Campos de laclase static byte MAX_VALUE A constant holding the maximum value a byte can have, 27-1. static byte MIN_VALUE A constant holding the minimum value a byte can have, -27. static int SIZE The number of bits used to represent a byte value in two's complement binary form. static Class<Byte> TYPE The Class instance representing the primitive type byte.
  • 17.
    Constructores Byte(byte value) Constructs anewly allocated Byte object that represents the specified byte value. Byte(String s) Constructs a newly allocated Byte object that represents the byte value indicated by the String parameter.
  • 18.
    Métodos de laclase byte byteValue() Returns the value of this Byte as a byte. int compareTo(Byte anotherByte) Compares two Byte objects numerically static Bytedecode(String nm) Decodes a String into a Byte. Double doubleValue() Returns the value of this Byte as a double. Boolean equals(Object obj) Compares this object to the specified object. float floatValue() Returns the value of this Byte as a float. int hashCode() Returns a hash code for this Byte. int intValue() Returns the value of this Byte as an int. long longValue() Returns the value of this Byte as a long. static byte parseByte(String s) Parses the string argument as a signed decimal byte. static byte parseByte(String s, int radix) Parses the string argument as a signed byte in the radix specified by the second argument. short shortValue() Returns the value of this Byte as a short. String toString() Returns a String object representing this Byte's value. static String toString(byte b) Returns a new String object representing the specified byte. static Byte valueOf(byte b) Returns a Byte instance representing the specified byte value. static Byte valueOf(String s) Returns a Byte object holding the value given by the specified String. static Byte valueOf(String s, int radix) Returns a Byte object holding the value extracted from the specified String when parsed with the radix given by the second argument.
  • 19.
  • 20.
    Operadores Un operador realizauna función en uno, dos o tres operandos. Un operador que requiere un operando es denominado operador unario. Ej. ++ es un operador unitario que incrementa en uno el valor de su operando. Un operador que requiere dos operandos es un operador binario. Ej. = es un operador binario. Se usa para asignación de valores a variables. Un operador que requiere tres operadores se denomina ternario. Existe un operador ternario ?: que es una abreviación de la instrucción if-else. Existen también tres modalidades de notación: prefija, postfija e infija.
  • 21.
    Operadores Aritméticos Java soportavarios operadores aritméticos para todos los números enteros y de punto flotante: + (suma), - (resta), * (multiplicación), / (división) y % módulo. Ej. ArithmeticDemo.java Operador Uso Descripción + op1 + op2 Suma op1 y op2 - op1 - op2 Resta op2 de op1 * op1 * op2 Multiplica op1 por op2 / op1 / op2 Divide op1 entre op2 % op1 % op2 Calcula el remanente.
  • 22.
    Operadores Aritméticos 2 Losoperadores abreviados de incremento/decremento son sumarizados en la siguiente tabla: Operador Uso Descripción ++ op++ Incrementa op en 1. Asigna primero, incrementa después. ++ ++op Incrementa op en 1. Incrementa primero, asigna después. -- op-- Decrementa op en 1. Asigna primero, decrementa después. -- --op Decrementa op en 1. Decrementa primero, asigna después.
  • 23.
    Operadores Relacionales Un operadorrelacional compara dos valores y determina la relación entre ellos. Por ejemplo, != retorna verdadero si los dos operandos son diferentes. A continuación una tabla de opradores: Operador Uso Retorna verdadero > op1 > op2 op1 es mayor que op2 >= op1 >= op2 op1 es mayor que o igual que op2 < op1 < op2 op1 es menor que op2 <= op1 <= op2 op1 es menor que o igual que op2 == op1 == op2 op1 y op2 son iguales != op1 != op2 op1 y op2 son diferentes
  • 24.
    Operadores Condicionales Los operadoresrelacionales frecuentemente son empleados con operadores condicionales para construir más complejas expresiones de toma de decisiones. El lenguaje de programación Java soporta seis operadores condicionales – cinco binarios y uno unario - como aparece en la siguiente tabla: Operador Uso Retorna verdadero si && op1 && op2 op1 y op2 son ambos verdad. (shortcircuit) | | op1 | | op2 o op1 o op2 es verdad. (shortcircuit) ! !op op es falso. & op1 & op2 op1 y op2 son ambos verdad. (non-shortcircuit) | op1 | op2 op1 o op2 es verdad. (non-shortcircuit) ^ op1 ^ op2 si op1 y op2 son diferentes – esto es si uno u otro de los operandos es verdad, pero no los dos.
  • 25.
    Otros Operadores La siguientetabla lista los otros operadores que el lenguaje Java soporta: Operador Descripción ?: Abreviación if - else [ ] Empleado para declarar arreglos y accesar elementos. . Usado para formar nombres cualificados ( parametros ) Delimita una lista de parámetros separados por coma ( tipo ) Convierte un valor al tipo especificado new Crea un nuevo objeto ó un nuevo arreglo instanceof Determina si su primer operando es una instancia del segundo operando. (descendencia directa o no).
  • 26.
    Expresiones Variables y operadores,los cuales aparecen en las secciones previas, son bloques básicos que conforman los programas. Se pueden combinar literales, variables, y operadores para formar expresiones – segmentos de código que realizan cálculos y retornan valores. Una expresión es una serie de variables, operadores y llamadas a métodos (construidas de acuerdo a la sintaxis del lenguaje) que resultan en un valor simple. Ej. count = 1 (count == 0) x1 = -b + Math.sqrt((Math.sqr(b) + a*c)/ (2*a)) contador++ carácter = s1.charAt(0) bandera = !bandera Character.isUpperCase(aChar)
  • 27.
    public class Cuadrado{ //atributo intlado; // constructor public Cuadrado (int l){ lado = l; } // metodos public int perimetro(){ return 4*lado; } public int area(){ return lado*lado; } public String toString(){ return "Cuadrado Lado = "+lado; } }
  • 28.
    public class PruebaCuadrado{ publicstatic void main(String[] args){ Cuadrado c = new Cuadrado(5); System.out.println(c); System.out.println("El perimetro es "+ c.perimetro()); System.out.println("El area es "+ c.area()); } }
  • 29.
    Precedencia de operadores •Los operadores binarios se evalúan de izaquierda a derecha, excepto los operadores de asignación. 1. Sufijos: . [] () 2. Unarios: ++ -- ! ~ 3. Creacion y casting: new (tipo)exp 4. Multiplicativos: * / % 5. Aditivos: + - 6. Desplazamientos: << >> >>> 7. Relacionales: < > <= >= == != 8. Bits: & ^ | 9. Lógicos: && || 10. Condicional: ? : 11. Asignación: = op= (*= /= %= += - etc.)
  • 30.
  • 31.