Está en la página 1de 17

PROGRAMACIÓN DE COMPUTADORES II

SEMANA 6

1
| ESTE DOCUMENTO CONTIENE LA SEMANA 6
ÍNDICE

CLASES DEL LENGUAJE: MATH, INTEGER, CHAR Y STRING ........................................................... 3


1. INTRODUCCIÓN ..................................................................................................................... 3
2. ESTRUCTURA DE UN PROGRAMA JAVA ................................................................................ 9
2.1. REGLAS PARA LA CREACIÓN DE CLASES Y PAQUETES ................................................. 10
2.2. CLASE STRING .............................................................................................................. 13
2.3. CLASE MATH ................................................................................................................ 13
2.4. CLASE SYSTEM ............................................................................................................. 14
3. EJEMPLOS ............................................................................................................................ 15
4. RESUMEN ............................................................................................................................ 16
5. REFERENCIAS BIBLIOGRÁFICAS ........................................................................................... 17

2
| ESTE DOCUMENTO CONTIENE LA SEMANA 6
CLASES DEL LENGUAJE: MATH, INTEGER, CHAR Y STRING

1. INTRODUCCIÓN
En la clase anterior, se estudió el lenguaje UML para la representación gráfica de un diagrama
de clases y, en la semana 4, se definieron los tipos de clases y métodos existentes en Java.

En esta semana se revisarán las clases que incluyen los lenguajes Math, Integer, Char y String,
que permiten trabajar este tipo de datos con el uso de las funciones de estas clases.

Desde este momento se estará en condiciones de crear un programa en Java, compilarlo y,


posteriormente, ejecutarlo.

A partir de esta clase se comenzará el camino para trabajar en el ambiente de desarrollo de


Java, en ese sentido, se debe establecer que el ambiente de desarrollo de Java es una
plataforma de software o hardware en el que corre un programa.

La plataforma Java consta de dos componentes:

> La máquina virtual de Java.


> La API de Java (Application Programming Interface) : es una vasta colección de
componentes de software que proveen un conjunto de funciones útiles donde
se encuentran las funciones de los tipos de datos que provee Java.

Fuente: Canuto C., S. (2007). Introducción al lenguaje Java. Sun Campus Ambassador.

A continuación se muestran los tipos de datos primitivos con los que se puede trabajar en Java
y sobre los cuales actúan las APIs del lenguaje.

3
| ESTE DOCUMENTO CONTIENE LA SEMANA 6
Fuente: Canuto C., S. (2007). Introducción al lenguaje Java. Sun Campus Ambassador.

Sin duda alguna, para el uso de los diferentes tipos de datos se requiere también de un
conjunto de operadores que permitan escribir las instrucciones de un programa Java.

Los operadores tienen un significado y un conjunto de operaciones a realizar en un orden de


precedencia cuando se encuentran en una sentencia del código.

A continuación se muestran los diferentes operadores y el orden de precedencia de estos:

Fuente: Canuto C., S. (2007). Introducción al lenguaje Java. Sun Campus Ambassador.

4
| ESTE DOCUMENTO CONTIENE LA SEMANA 6
Fuente: Canuto C., S. (2007). Introducción al lenguaje Java. Sun Campus Ambassador.

Los siguientes ejemplos representan operaciones a realizar con los operadores antes vistos:

Si se define una variable de tipo de dato int y se inicializa con un valor 5, se pueden realizar las
siguientes operaciones con esta variable:

int i=5; // i vale 5

System.out.println(i); //Imprime:5

System.out.println(++i); //Imprime:6

System.out.println(i++); //Imprime:6

System.out.println(i); //Imprime:7

Fuente: Canuto C., S. (2007). Introducción al lenguaje Java. Sun Campus Ambassador.

5
| ESTE DOCUMENTO CONTIENE LA SEMANA 6
class Aritmeticos {
public static void main (String args[]) {
int x = 17, y = 5;
System.out.println("x = " + x);
System.out.println("y = " + y);
System.out.println("x + y = " + (x + y));
System.out.println("x - y = " + (x - y));
System.out.println("x * y = " + (x * y));
System.out.println("x / y = " + (x / y));
System.out.println("x % y = " + (x % y));
}
}

Se generan los siguientes resultados:

x = 17
y=5
x + y = 22
x - y = 12
x * y = 85
x/y=3
x%y=2

Fuente: González, A. J. (2008). Diseño y programación orientados a objetos. Universidad Federico Santa María.

class Incrementos {
public static void main (String args[]) {
int x = 8, y = 13;
System.out.println("x = " + x);
System.out.println("y = " + y);
System.out.println("++x = " + ++x);
System.out.println("y++ = " + y++);
System.out.println("x = " + x);
System.out.println("y = " + y);
}
}

Se generan los siguientes resultados:

x=8
y = 13
++x = 9
y++ = 13
x=9
y = 14

Fuente: González, A. J. (2008). Diseño y programación orientados a objetos. Universidad Federico Santa María.

6
| ESTE DOCUMENTO CONTIENE LA SEMANA 6
El siguiente ejemplo muestra cómo regresar un valor de tipo Boolean, esto es, Verdadero o
Falso:

Fuente: González, A. J. (2008). Diseño y programación orientados a objetos. Universidad Federico Santa María.

public class ShortCut {


public static void main (String args[]){
if ((esMenor(3)) || (esMenor(9))) {
System.out.println("Resultado es true");
}
}
public static boolean esMenor(int i) {
if (i < 5) {
System.out.println(i +" menor que 5");
return true;
}
else {
System.out.println(i + " mayor que 5");
return false;
}
}
}
Como salida se obtiene TRUE, dado que 3 es menor que 5
Fuente: González, A. J. (2008). Diseño y programación orientados a objetos. Universidad Federico Santa María.

7
| ESTE DOCUMENTO CONTIENE LA SEMANA 6
public class ShortCut {
public static void main (String args[]){
if ((esMenor(3)) | (esMenor(9))) {
System.out.println("Resultado es true");
}
}
public static boolean esMenor(int i) {
if (i < 5) {
System.out.println(i +" menor que 5");
return true;
}
else {
System.out.println(i + " mayor que 5");
return false;
}
}
}
Dado que 3 menor que 5 y 9 mayor que 5, el Resultado es True
Fuente: González, A. J. (2008). Diseño y programación orientados a objetos. Universidad Federico Santa María.

El siguiente ejemplo muestra operaciones que pueden ser realizadas con el tipo de dato Char.

Carácter: char
o Unicode

o Usa dos bytes


o Diseñado para internacionalización
o Comillas simples: ‘a’, ‘A’, ‘!’, ‘1’, ...
o Forma hexadecimal ‘\u0008’ (Unicode backspace)
o El byte menos significativo corresponde al ”ASCII” de
8 bits.
o No visibles : Ej:

 ‘\b’ backspace ‘\t’ tab


 ‘\n’ linefeed ‘\r’ return
 ‘\”’ double quote ‘\’’ single quote
 ‘\\’ el mismo backslash!

Fuente: González, A. J Diseño y programación orientados a objetos. Universidad Federico Santa María.

8
| ESTE DOCUMENTO CONTIENE LA SEMANA 6
Hasta ahora se han visto las operaciones a realizar con diferentes tipos de datos, la siguiente
figura muestra los tipos de datos que pueden interactuar con otros tipos de datos sin que esto
constituya un error.

El diagrama que se muestra a continuación establece, por ejemplo, que se puede guardar en
una variable tipo int un valor de una variable tipo byte o short sin perder información.

Fuente: González, A. J. (2008). Diseño y programación orientados a objetos. Universidad Federico Santa María.

2. ESTRUCTURA DE UN PROGRAMA JAVA


Un programa orientado a objetos es la configuración de un conjunto de objetos y los mensajes
que se envían entre ellos.

Como se ha visto hasta ahora, la Clase es la estructura que contiene la definición de todos los
objetos de un mismo tipo. Pero, a su vez, existe una instancia que agrupa todas las clases que
poseen propósitos similares, y se denomina Paquete (Irigoyen, 2011).

La siguiente figura muestra un ejemplo de paquete que agrupa clases con propósitos similares.

Fuente: Canuto C., S. (2007). Introducción al lenguaje Java. Sun Campus Ambassador.

9
| ESTE DOCUMENTO CONTIENE LA SEMANA 6
2.1.REGLAS PARA LA CREACIÓN DE CLASES Y PAQUETES
(CANUTO, 2007, p. 24)

Las clases Java se implementan en archivos separados.


Cada clase se debe encontrar dentro de un paquete.
El nombre del archivo de la implementación de clase debe ser igual al nombre de la
clase.
La estructura de paquete debe corresponder a la estructura de directorio. Ejemplo:
edu.sun.Ejemplo sería mapeado al archivo .../edu/sun/Ejemplo.java
SUN recomienda seguir la siguiente estructura de paquetes:

Fuente: González, A. J. (2008). Diseño y programación orientados a objetos. Universidad Federico Santa María.

A continuación se muestra una figura que contiene esta estructura en un código de Java.

10
| ESTE DOCUMENTO CONTIENE LA SEMANA 6
Fuente: Canuto C., S. (2007). Introducción al lenguaje Java. Sun Campus Ambassador.

Como se observa la primera línea contiene la instrucción package persona; donde se define el
paquete persona que contiene la clase persona.

También se muestra una línea que contiene la importación, esto significa que cuando se
requiere de una clase para crear objetos de otro paquete, es necesario especificarle al
compilador en qué paquetes buscar dicha clase.

En la línea que tiene la instrucción import java.util.vector; significa que se desea usar la clase
vector que se encuentra en el paquete util. Otros ejemplos de importación se muestran a
continuación:

Fuente: González, A. J. (2008). Diseño y programación orientados a objetos. Universidad Federico Santa María.

11
| ESTE DOCUMENTO CONTIENE LA SEMANA 6
A continuación se muestran algunos ejemplos de paquetes que son parte de Java y que
pueden ser utilizados en los programas si se requiere.

> java.io El paquete de entrada/salida contiene las clases de


acceso a archivos: FileInputStream y FileOutputStream,
etc.
> java.lang Incluye las clases del lenguaje Java propiamente
dicho: Object, Thread, Exception, System, Integer, Float,
Math, String, boolean, byte, carácter, etc. Este paquete debe
estar en cualquier programa de Java.
> java.util Miscelánea de clases útiles para muchas cosas en
programación. Incluyen, Date (fecha), Dictionary
(diccionario), Random (números aleatorios) y Stack (pila
FIFO).
> Package java.text Clases: DateFormat, DecimalFormat…
(sirven para variantes de formato).
> Package java.math Clases: BigDecimal, BigInteger…
(arbitraria precisión y capacidad).
Fuente: Canuto C., S. (2007). Introducción al lenguaje Java. Sun Campus Ambassador (p. 27).

A continuación se muestran algunos ejemplos utilizando los componentes de Java.lang.

• Ejemplo: Integer (interfaz pública):


> public final class Integer extends Number
> Variables:
– MAX_VALUE (valor mayor de “int”)
– MIN_VALUE (valor mínimo de “int”)
> Constructores:
– Integer(int)
– Integer(String)
> Métodos:
– Conversión a otros tipos: doubleValue(),
floatValue(), intValue(), parseInt(String),
toString(), valueOf(String)
> Obtención de valor como un “int”: intValue()

Fuente: Canuto C., S. (2007). Introducción al lenguaje Java. Sun Campus Ambassador (p.29).

12
| ESTE DOCUMENTO CONTIENE LA SEMANA 6
2.2.CLASE STRING
Java entrega funciones especiales para el tratamiento de las cadenas de caracteres a través de
la clase denominada java.lang.String que se encuentra en el paquete java.lang

Esta clase no constituye un tipo de datos primitivo como los vistos anteriormente, sin
embargo, mediante el uso de operadores genéricos, lo cual se denomina sobrecarga de
operadores, pueden realizarse operaciones como:

String unString = “Juan” + “ ” + “Perez”;

En esta instrucción se muestra la definición de una variable llamada unString, de tipo String, la
cual es inicializada con la unión de dos cadenas de caracteres “Juan” y “Pérez”

Además, Java provee un amplio conjunto de operaciones que permite manipular las instancias
de la clase String, entre los que se encuentran los siguientes:

• Métodos de manipulación de strings:


> length() , concat(String), indexOf(String),
lastIndexOf(String) , toUpperCase(), ...
• Métodos de conversión desde otros tipos:
> valueOf(double), valueOf(int), ...

Fuente: Canuto C., S. (2007). Introducción al lenguaje Java. Sun Campus Ambassador (p. 32).

2.3. CLASE MATH


Esta clase pertenece también al paquete java.lang y contiene funciones matemáticas que se
pueden usar en los programas, como los ejemplos que se muestran a continuación:

• Constantes:
> E, PI
• Métodos:
> abs(double), acos(double), asin(double), atan, cos, exp, log,
max(double, double), pow(double, double), round (float)

Fuente: Canuto C., S. (2007). Introducción al lenguaje Java. Sun Campus Ambassador (p. 33).

13
| ESTE DOCUMENTO CONTIENE LA SEMANA 6
2.4. CLASE SYSTEM
Esta clase contiene definiciones de variables para ingreso y salida de datos como también
métodos para manejo de memoria.

A continuación se muestran algunos ejemplos de variables y métodos disponibles en esta


clase.

> Variables (estáticas):


– in: "standard” input stream. Normalmente es el
teclado
– out: "standard” output stream. Normalmente es
ventana de mensajes
– err: "standard" error output stream. Normalmente
es ventana de mensajes

> Métodos: getProperties(), gc() - fuerza a utilizar el


administrador de memoria-

Fuente: Canuto C., S. (2007). Introducción al lenguaje Java. Sun Campus Ambassador (p. 34).

Hemos visto los componentes de un programa Java y los paquetes estándar que incluye el
ambiente de desarrollo.

En estos momentos se estaría preparado para escribir un programa, compilarlo y ejecutarlo.

• El IDE NetBeans es un ambiente de desarrollo de código abierto


creado a partir de la plataforma homónima
• Originalmente desarrollado por Sun Microsystems, actualmente
mantenido por la comunidad NetBeans (aunque aun recibe
soporte de Sun como producto).
• Es multiplataforma
• Todas las funciones en NetBeans son provistas por módulos.

Fuente: Canuto C., S. (2007). Introducción al lenguaje Java. Sun Campus Ambassador (p. 40).

A continuación se muestra una imagen como ejemplo del ambiente de desarrollo con
NetBeans.

14
| ESTE DOCUMENTO CONTIENE LA SEMANA 6
Fuente: Canuto C., S. (2007). Introducción al lenguaje Java. Sun Campus Ambassador (p. 42).

3. EJEMPLOS
Los siguientes ejemplos son programas de Java que pueden ser usados para hacer las primeras
pruebas luego de instalar NetBeans.

EJEMPLO 1. Este ejemplo permite ingresar el valor hora a pagar a un trabajador y la cantidad
de horas trabajadas para calcular el total a pagar.

import java.util.Scanner;
public class Payroll {
public static void main(String[] args) {
int hours;
double payRate, grossPay;
Scanner keyboard = new Scanner(System.in);
System.out.print("How many hours did you work? ");
hours = keyboard.nextInt();
System.out.print("How much do you get paid per hour? ");
payRate = keyboard.nextDouble();
grossPay = hours * payRate;
System.out.println("Gross pay is $" + grossPay);
}
}

15
| ESTE DOCUMENTO CONTIENE LA SEMANA 6
EJEMPLO 2. Este ejemplo muestra cómo calcular un descuento a un estudiante dependiendo si
es deportista o no. Si es deportista se aplica el descuento, en caso contrario, no.

import java.util.Scanner;
public class RegistrationFeeApp {
public static void main(String[] args) {
final double COST_PER_CREDIT = 75.00;
final double DISCOUNT_RATE = 0.60;
String studentName;
int numberOfCredits;
char answer;
double registrationFee, discount;
Scanner keyboard = new Scanner(System.in);
System.out.print("Enter the name: ");
studentName = keyboard.nextLine();
System.out.print("Enter the number of credits: ");
numberOfCredits = keyboard.nextInt();
System.out.print("Are you an athlete or honor " +
"student? (Y/N): ");
answer = keyboard.next().charAt(0); // To read a char
registrationFee = numberOfCredits * COST_PER_CREDIT;
if (answer == 'Y') {
discount = DISCOUNT_RATE * registrationFee;
registrationFee -= discount;
}
System.out.print("For " + studentName + ", ");
System.out.println("the registration fee is $" +
registrationFee);
}
}
Fuente: Lillian Bras. (2009).COTI 3101 – Algoritmos y Desarrollo de programas I (p. 18).

4. RESUMEN
Al finalizar esta clase, se tienen todas las herramientas para crear y ejecutar, en una
herramienta como NetBeans, un programa en Java que incluya las clases y métodos creados
para una determinada solución a un problema en particular y que, además, pueda utilizar las
clases genéricas y métodos que provee Java.

16
| ESTE DOCUMENTO CONTIENE LA SEMANA 6
5. REFERENCIAS BIBLIOGRÁFICAS
Canuto C., S. (s.f.). Introducción al lenguaje Java. SUN Campus Ambassador. Recuperado el 5

de abril de 2011, de http://docs.google.com/viewer?a=v&q=cache:jGjgXWVXX-

kJ:www.pilp.edu.ar/pilpweb/contenido/documentopilp/Documento38.ppt+%E2%80%

A2+INTRODUCCI%C3%93N+AL+LENGUAJE+JAVA,+Silvana+Canuto+Canete,+Sun+Camp

us+Ambassador&hl=es&gl=cl&pid=bl&srcid=ADGEEShMuqLL2GiuUaY65xgoJ4LQ0n80i7

3y2Q9M9H3MiW4-U9C1cVr-

LNGrQ4wB9qwjSGgOBb2qbDivWTQKMaJ0_k2nXCcrwtOGYtKb4H_FFPuZYXv4Ubf6aNm

rajr-2ugSzB9R6Uj4&sig=AHIEtbQbuvnWhWvnjUT2scpyvdjSya23Lw

González, A.J. (s.f.). Diseño y programación orientados a objetos. Universidad Federico Santa

María. Recuperado el 11 de abril de 2011, de

http://www.google.cl/#hl=es&source=hp&biw=1276&bih=584&q=ppt+Dise%C3%B1o+

y+programaci%C3%B3n+orientados+a+objetos+Agust%C3%ADn+J.+Gonz%C3%A1lez%

2C+UTFSM&btnG=Buscar+con+Google&aq=f&aqi=&aql=&oq=&fp=fdfb608b8651229a

17
| ESTE DOCUMENTO CONTIENE LA SEMANA 6

También podría gustarte