Escolar Documentos
Profissional Documentos
Cultura Documentos
MI PRIMER PROGRAMA
Public static void main (string [] args) {
System.out.printIn (mi primer programa);
}
}
Usted seguir 3 pasos
1. Ingresar el programa
2. Compilar el programa
3. Ejecutar el programa
En java a un archive Fuente se le llama oficialmente unidad de compilacin. Lo
primero que debe aprender acerca de java es que el nombre que asigne al
archivo fuente es muy importante. Para nuestro ejemplo, el nombre del archivo
fuente debe ser ejemplo.java. Este es un archivo de texto que contiene una o
ms definiciones de clase. El compilador de java (javac) requiere que un archivo
fuente use la extensin de nombre de archivo .java. Observe que la extensin de
nombre de archivo tiene 4 caracteres.
Como vera al revisar el programa, el nombre de la clase definida por el programa
tambin es Ejemplo no se trata de una coincidencia en java, todo el cdigo debe
residir dentro de una clase.
Por convencin, el nombre de esa clase debe coincidir con el del archivo que
contiene el programa. Tambin debe asegurarse de que las maysculas y
minsculas del nombre del archivo coincidan con el nombre de la clase. La razn
de ello es que java es sensible a las maysculas y minsculas. En este punto, es
posible que la convencin de que los nombres de archivo correspondan con los
nombres de clase. Sin embargo esto hace que el mantenimiento y la organizacin
de los programas sean ms fcil
Compilacin del programa: para compilar el programa ejemplo, lo hacemos a
travs del compilador javac crea un archivo llamado ejemplo.class que contiene la
versin de cdigos de bytes del programa. Recuerde que el cdigo de bytes no es
un cdigo ejecutable debe ejecutarse en una mquina virtual de java. Por lo tanto,
la salida de java no es un cdigo que pueda ejecutarse directamente.
Para ejecutar realmente el programa debe utilizar el intrprete de java,
El primer programa de ejemplo lnea por lnea:
Aunque ejemplo.java es muy corto, incluye varias caractersticas clave que le son
comunes a todos los programas de java. A continuacin examinaremos lnea por
lnea
FOR
Puede ejecutar de manera repetida una secuencia de cdigo al crear un bucle.
Java proporciona una diversidad de instrucciones de bucle sintaxis:
For (inicializacin; condicin; iteracin) instruccin;
En su forma ms comn la parte de inicializacin del bucle asigna un valor inicial a
una variable de bucle. La condicin es una expresin booleana que prueba la
variable de control de bucle. Si el resultado de esa prueba es verdadero, el bucle
sigue repitindose, si es falsa, el bucle se termina.
Determina la manera en que la variable de control de bucle cambia cada vez que
el bucle se repite
EN ESTE EJEMPLO, CUENTA ES LA VARIABLE DE CONTROL DEL BUCLE. SE
ESTABLECE EN CERO EN LA PARTE DE INICIALIZACION DE FOR. AL
PRINCIPIO DE CADA ITERACION INCLUIDA LA PRIMERA, SE REALIZA LA
PRUEBA DE CONDICION CUENTA MENOR QUE 5. SI LA SALIDA DE ESTA
PRUEBA ES VERDADERA, LA INSTRUCCIN PRINTLN SE EJECUTA Y LUEGO
SE EJECUTA LA PARTE DE ITERACION DEL BUCLE. ESTE PROCESO SIGUE
HASTA QUE LA PRUEBA DE LA CONDICION RESULTE FALSA, MOMENTO EN
QUE LA EJECUCION PASA A LA PARTE INFERIOR DEL BUCLE.
Tipos de datos
Float y double
Los tipos de datos flotantes representan nmeros que tienen componentes
fraccionarios. Hay 2 tipos de datos flotantes, el float y doubl, que representan
numero de precisin sencillas y
Float<- 32 bit
Double<- 64 bit
De los dos doubl es el ms usado porque todas las funciones matemticas de la
biblioteca de clases de Java usan valores doubles por ejemplo mtodo sqrt()
(que se define con la clase Math) devuelve un valor doubl que es la raz cuadra
de su argumento doubl. Aqu el mtodo sqrt se usa para calcular longitudes por
ejemplo la longitud de la hipotenusa dada las longitudes de los dos lados opuestos
Por ejemplo: Use el teorema de Pitgoras para encontrar la longitud de la
hipotenusa dada la longitud de los dos lados opuestos.
package hipotenusa;
public class Hipotenusa {
public static void main(String[] args) {
double x =3,y=4,z;
z=Math.sqrt(x*x+y*y);
System.out.println("La hipotenusa es:"+z);
}
}
Byte<- Buscar
Caracteres
En Java, los caracteres no son cantidades de 8 bits como en casi todos los dems
lenguajes de cmputo en cambio, Java utiliza Unicode. Unicode define un conjunto
de caracteres que puede representar todos los caracteres encontrados en el
lenguaje humano. Por tanto, en Java, char es un tipo de 16 bits sin signo que
tiene un rango de 0 a 65.536. Es posible asignar un valor a una variable de
carcter al encerrar este entre comillas.
Por ejemplo, para asignar a la variable carcter la letra x entre comillas sencilla.
Char= ch;
Ch= x;
System.out.prinln(Esta lnea es ch+ch);
Puede dar salida a un valor char empleando la instruccin println(). Por ejemplo,
esta lnea da salida al valor ch.
Debido a que char es un tipo de 16 bits sin signo, es posible realizar varias
manipulaciones aritmticas en una variable char.
Ejemplo:
package pkgchar;
public class CarAritDemo {
public static void main(String[] args) {
char ch;
ch='X';
System.out.println("Ch contiene:"+ch);
ch++;
System.out.println("Ahora ch es:"+ch);
ch=90;
System.out.println("ch Ahora es:"+ch);
}
}
Booleano
El tipo booleano representa valores de verdadero o falso. Java define los valores
verdadero y falso empleando las palabras verdaderas true y false. Por lo tanto,
una variable o expresin de tipo booleano ser uno de estos dos valores.
Ejemplo:
package booldemo;
public class BoolDemo {
public static void main(String[] args) {
boolean b= false;
System.out.println("El valor de b es:"+b);
b= true;
System.out.println("El valor de b es:"+b);
/*
*Un valor booleano puede controlar la instruccion if
*/
if(b){
System.out.println("Esto se ejecuta.");
}
b=false;
if(b=false){
System.out.println("Esto no se ejecuta.");
}
/* la salida de una operador relacional es un booleano */
System.out.println("10>9 es:"+(10>9));
}
}
Hay que observar aqu tres aspectos importantes en este programa, en primer
lugar, como puede ver, el valor de una variable booleana en si misma, para
controlar la instruccin if, no es necesario escribir una instruccin if como:
if(b==true); en tercer lugar, la salida de un operador relacional, como < (menor), es
un booleano. Por eso la expresin 10>9 despliega el valor true. Aun mas, el
conjunto extra+ (10>9) es necesario porque el operador + tiene una mayor
presedencia que el signo +
EJERCICIO
1. Elaborar un proyecto que cree un programa que calcule la distancia en
metros, entre un escucha y un trueno. El sonido viaja aproximadamente a
340 m/s en el aire. Por lo tanto, conociendo el intervalo entre el momento
en que ve el relmpago y el momento en que el sonido lo alcanza a usted
podr calcular la distancia al trueno. Para este proyecto, suponga que el
intervalo es de 7.2 segundos.
Pas a paso
1. Cree un nuevo archivo llamo sonido.java
2. Para calcular la distancia, necesitara utilizar valores de tipo flotante.
Porque el intervalo, 7.2 tiene un componente fraccionario. Aunque sera
posible usar un valor de tipo float usaremos doubl en este ejemplo.
3. Para calcular la distancia, multiplicara 7.2*340. Luego asignara este
valor a una variable.
4. Por ltimo, desplegara el resultado.
package sonido;
public class Sonido {
public static void main(String[] args) {
double x,z,s;
x=7.2;
z=340;
s=x*z;
System.out.println("La distancia del trueno es:"+s);
}
}
Descripcin
Salto de lnea
Tabulador
Diagonal inversa\
Comillas dobles
Comilla simple
Retorno de carro
Borrado a la izquierda
Comienzo de pagina
Carcter Unicode
Ejemplo:
package cadenademo;
public class CadenaDemo {
public static void main(String[] args) {
System.out.println("Primera linea\nSegunda linea");
System.out.println("A\tB\tC\t");
System.out.println("D\tE\tF\t");
}
}
INCREMENTO Y DEMECREMENTO
(++) y (--)
INSTRUCCIN IF(EJERCICIO)
1. Desarrollar un juego computarizado de adivinanzas que sea adecuado
para nios pequeos. En la primera versin del juego, el programa le
pregunta una letra entre A y Z. si el jugador oprime la letra correcta en el
teclado, el programa responde imprimiendo el mensaje correcto, de lo
contrario imprimir siga intentando.
Ejemplo 1:
import java.util.Scanner;
public class JueAdivinar {
public static void main(String[] args)
throws java.io.IOException{
Scanner scanner=new Scanner (System.in);
char ch=0;
String respt = "S";
while ("S".equals(respt)){
System.out.println("
Adivinanza\n Blanco es, gallina lo pone y frito
se come Que es?");
System.out.println(" Opcion:");
System.out.println(" 1.Escribe A si es un huevo.");
System.out.println(" 2.Escribe Z si es una pera.");
System.out.println(" Ingrese la respuesta:");
ch=(char)
System.in.read();
if(ch=='A'){
System.out.println("Tu respuesta es correcta.");
}
System.out.println("Desea continuar S/N:");
respt = scanner.next();
}
}
}
Ejemplo 2:
public class Adiv3 {
public static void main(String[] args)
throws java.io.IOException{
char ch,respuesta='K';
System.out.println("Estoy pensando en una letra A y Z");
System.out.println("Puedes adivinarla?");
ch=(char) System.in.read();
if(ch==respuesta){
System.out.println("Correcto");
}
else{
System.out.println("Lo siento, te encuentras");
}
if(ch<respuesta){
System.out.println("Te encuentras debajo");
}
else{
System.out.println("Te encuentras demasiado alto");
}
}
}
Escalera if-else-if
If(condicion)
Instruccin;
Else if(condicion)
Instruccin;
Else if(condicion)
Instruccin;
Else instruccin;
Las expresiones de condicin se evalan de arriba abajo. En cuanto se encuentra
una condicin verdadera, se ejecuta la instruccin asosiada con ella y se omite el
resto de la escalera. Si ninguna de las instrucciones es verdadera, se ejecutara en
else final. A menudo el else final actua como una condicin predeterminada; es
decir, si fallan todas las pruebas de condicin, se ejecuta la ultima instruccin else.
Si no hay un else final y todas las dems condiciones son falsas, no tendr lugar
accin alguna.
EJEMPLO:
Break;
Default
Secuencia de instrucciones;
La expresin switch puede ser de tipo char,byte,short o int. (No se permite, por
ejemplo, expresiones de punto flotante).con frecuencia, la expresion que controla
switch es simplemente una variable. Las constates de case deben ser literales con
un tipo compatible de expresion. Dos constantes case en el mismo switch no
pueden tener valores idnticos.
La secuencia de instruccin default se ejecuta sin ninguna constante case coincide
con la expresion. Esta secuencia default es opcional ; sino esta presente ninguna
accin se presenta si fallan todas las coincidencia. Cuando se encuentra una
coincidencia; se ejecuta las instrucciones asociadas a ese case hasta que se
encuentras un break o, en el caso de default o el ultimo case, hasta que se
alcance el final del switch.
Como puede ver, cada vez que el bucle se recorre, se ejecuta las instrucciones
asosiadas con la constante case que coninciden con i. Todas las dems se omiten.
Cuando i es 5 o mayor, ninguna instruccions case coincide, de modo que se
ejecuta la instrucion default.
Tecnicamente la instruccin break es opcional, aunque gran parte de las
aplicaciones se switch la aplican. Cuando se encuentra dentra de la secuencia de
la instruccin case, la instruccin break causa que el programa fluya parasalir de
toda instruccin switch y se reanude en la siguiente instruccin fuera del switch.
Sin embargo, si una instruccin break no termina la secuencia de instrucciones
asosiada con case, entonces las instrucciones que se encuentran en (y que siguen
al) case conincidente se ejecutaran hasta que se encuentre un break o el final de
switch
EJEMPLO 1:
public class SwitchDemo {
public static void main(String[] args) {
int i;
for(i=0;i<5;i++){
switch(i){
case 0:
System.out.println("i es cero.");
break;
case 1:
System.out.println("i es uno.");
break;
case 2:
System.out.println("i es dos.");
break;
case 3:
System.out.println("i es tres.");
break;
case 4:
System.out.println("i es cuatro.");
break;
default:
System.out.println("i es 5 o mayor.");
}
}
}
}
EJEMPLO 2:
public class Switch2 {
public static void main(String[] args) {
int i;
for(i=0;i<6;i++){
switch(i){
case 1:
System.out.println("i es menor que uno.");
System.out.println("i es menor que dos.");
System.out.println("i es menor que tres.");
System.out.println("i es menor que cuatro.");
System.out.println("i es menor que cinco.");
System.out.println();
break;
case 2:
System.out.println("i es menor que dos.");
System.out.println("i es menor que tres.");
System.out.println("i es menor que cuatro.");
System.out.println("i es menor que cinco.");
System.out.println();
break;
case 3:
System.out.println("i es menor que tres.");
System.out.println("i es menor que cuatro.");
System.out.println("i es menor que cinco.");
System.out.println();
break;
case 4:
System.out.println("i es menor que cuatro.");
System.out.println("i es menor que cinco.");
System.out.println();
break;
case 5:
System.out.println("i es menor que cinco.");
System.out.println();
break;
}
}
}
}
Entrada y salida de datos por consola
Llamamos consola al conjunto compuesto por la pantalla y el teclado de la
computadora donde se ejecutara nuestro programa. Asi, cuando hablemos de
ingreso de datos por consola nos estaremos refiriendo al teclado y cuando
hablemos de mistrar datos por consola nos referemos a la pantalla.
import java.util.Scanner;
package hola;
import java.util.Scanner;
public class Hola {
int edad=leer.nextInt();
System.out.println("Ingrese altura:");
double altura=leer.nextDouble();
System.out.println("Su nombre es:"+nom+"\nSu edad es:"+edad+"\nSu altura
es:"+altura);
}
}
1.Realizar un programa que me termine cuando una persona es mayor de 18 aos
(puede votar) de lo contrario no puede .
Solucion:
package votos;
import java.util.Scanner;
public class Votos {
public static void main(String[] args) {
Scanner leer=new Scanner(System.in);
System.out.println("Ingrese su edad:");
int edad=leer.nextInt();
if (edad<18){
System.out.println("Usted es menor de edad, no puede votar.");
}
else
System.out.println("Puede votar.");
}
}
2.Realizar que me diga si es par o impar.
Solucin:
package numeros;
import java.util.Scanner;
public class ParOImpar {
public static void main(String[] args) {
Scanner leer=new Scanner(System.in);
System.out.println("Ingrese un valor:");
int num=leer.nextInt();
int divi=num%2;
if(divi==0){
System.out.println(num+ " es par");
}
else{
System.out.println(num+ " es impar");
}
}
}
3.En el siguiente programa, pedimos al usuario que ingrese un dia de la semana
entre 1 y 7 y mostramos el nombre del dia. Si ingresa cualquier otra valor
ingresamos que el datos es incorrecto.
Solucin:
package diasemana;
import java.util.Scanner;
public class DiaSemana {
public static void main(String[] args) {
Scanner leer=new Scanner(System.in);
System.out.println("Ingrese un numero de los dias de la semana:");
int num=leer.nextInt();
switch(num){
case 1:
System.out.println("Es Lunes.");
break;
case 2:
System.out.println("Es Martes.");
break;
case 3:
System.out.println("Es Miercoles.");
break;
case 4:
System.out.println("Es Jueves.");
break;
case 5:
System.out.println("Es Viernes.");
break;
case 6:
System.out.println("Es Sabado.");
break;
case 7:
System.out.println("Es Domingo.");
break;
default:
System.out.println("El numero ingresado es invalido.");
}
}
}
4.En el siguiente programa utiliza un while para mostrar los primero n nmeros
naturales el usuario debe ingresar n numero.
Solucin:
package numwhile;
import java.util.Scanner;
public class NumWhile {
public static void main(String[] args) {
Scanner leer=new Scanner(System.in);
System.out.println("Ingrese un numero:");
int num=leer.nextInt();
int contador=0, ne=0;
while(contador<num){
contador ++;
ne++;
System.out.println("Numero es:"+ne);
}
}
}
5.El mismo ejercicio pero utilizando con do while
Solucin:
package numdowhile;
import java.util.Scanner;
public class NumDoWhile {
public static void main(String[] args) {
Scanner leer=new Scanner(System.in);
System.out.println("Ingrese un numero:");
int num=leer.nextInt();
int contador=0, ne=0;
do{
contador ++;
ne++;
System.out.println("Numero es:"+ne);
}while (contador<num);
}
}
6.El mismo ejercicio pero con for.
Solucin:
import java.util.Scanner;
public class NumFor {
public static void main(String[] args) {
Scanner leer=new Scanner(System.in);
int contador=0, ne=0;
System.out.println("Ingrese un numero:");
int num=leer.nextInt();
for (contador=1;contador<=num;contador++){
System.out.println("Numero es:"+contador);
}
}
}
Arrays
Un array es un conjunto de variables del mismo tipo cuya direcciones de memoria
son continuas esto permite definir un nombre para el arrays (conjunto de variables)
y acceder a cada elemento del conjunto(a cada variable) a travez del nombre
comn (nombre del array) mas un subidic que especifica la posicin relativa del
elemento que queremos acceder.
En Java los arrays comienzan siempre desde cero y se define de la siguiente
manera:
Int array[]= new int [4];
Tambien podemos construir un array de n elementos, siendo n una variable
Int n;
Int array[]=new int[n];
Debe quedar claro que el array es estatico, una vez definido su tamao este ser
fijo. No se puede agregar ni eliminar elementos en un array.
Para acceder un elemento del array, lo hacemos atravez de un subndice.
Array[3]=10;
Ejemplo:
Definir un arrays de 10 enteros, luego pedimos al usuarios que ingrese los valores
del arrays por ultimo recorremos el arrays para mostrar su contenido.
import java.util.Scanner;
public class Arrays {
public static void main(String[] args) {
int array[]= new int[10];
/* el scanner para leer por teclado*/
Scanner scanner=new Scanner(System.in);
/* leemos el primer valor*/
System.out.println("Ingrese un valor:");
int valor =scanner.nextInt();
int i=0;
/* mientras valor sea distinto de 0 e i<10*/
while (valor!=0 && i<10){
/* asigna valor en array sub i y luego incrementa el valor de i*/
array[i++]=valor;
/* leemos el siguiete valor*/
System.out.print("Ingrese el siguiente valor:");
valor=scanner.nextInt();
}
for (int j=0;j<10;j++){
System.out.println("Numero:"+array[j]);
}
}
}
Las siguientes son formas correctasy equivalentes para nombrar arrays
String array[];
String []array;
String[] array;
Realizar un programa que permite leer por pantalla los das de la semana.
package demoarray2;
import java.util.Scanner;
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
// genero el numero aleatorio entre cero y 1000
num=(int)(Math.random()*1000);
mat[i][j]=num;
}
}
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
System.out.println("Numero:"+mat[i][j]);
}
}
}
}
En este ejemplo utilizamos Math.random para generar un numero aleatorio el
mtodo ramdom de la clase Math genera un numero aleatorio mayor que cero y
menor que uno. Lo multiplicamos por 1000 y luego lo casteamos a entero para
obtener la parte entera del numerp y asignarlo a la matriz.
Literales de cadena de caracteres
Una cadena de caracteres literal se representa entre comillas dobles() por
ejemplo: Esto es una cadena. En cambio un carcter literal se representa entre
comillas simple() por ejemplo:A.
En java las cadenas son tratadas como objetos, por lo tanto,Esto es una cadena,
es un objeto y podemos invocar sus mtodos como veremos mas adeante.
package democaracteres;
public class DemoCaracteres {
public static void main(String[] args) {
for(int i=0;i<5;i++){
System.out.println(i+" A");
}
}
}
COMILLAS SENCILLAS:
package democaracteres;
System.out.println(nom.toLowerCase());
break;
case 2:
System.out.println("Ingrese una letra:");
String nom2=scanner.next();
System.out.println(nom2.toUpperCase());
break;
}
}
}
Ubicar la posicin de un carcter dentro de un a cadena.
Las clases son la escencia de Java pues representa los simientos sobre los que
todo el lenguaje Java esta construido asi pues que, la clase define la naturaleza de
un objeto. Como tal, la clase forma la base de la programacin orientada a objetos
en Java. Dento de una clase estn definidos los datos y el cdigo que actan
sobre tales datos el cdigo esta contenido en mtodos.
FUNDAMENTOS DE LAS CLASES:
Una clase es una plantilla que define la forma de un objeto y especifica los datos y
el cdigo que opera sobre esos datos. Java usa una especificacin de clase para
construir objetos. Los objetos son instancias de una clase por lo tanto, una clase
es , en escencia un conjunto de planos que especifica como construir un objeto.
(Una clase es una abstracion lgica). No es si no hasta que se crea un objeto de
esa clase que una representacin fsica de dicha clase llega a existir en la
memoria.
LA FORMA GENERAL DE UNA CLASE
Cuando define una clase, declara su forma y su naturaleza exactas lo cual lleva
acabo al especificar las variales de instancia que contiene y lo mtodos que
operan sobre sus variables. Aunque es posible que las clases muy simples
contengan solamente mtodos o variables de instacia casi todas las clases reales
contienen ambas.
Una clase se crea emplenaod la palabra class
Class NombreClase{
Int pasajero;
.
.
Tipo_mtodo nombre_metodo(){
Instrucciones;
}
.
.
}
Aunque no hay reglas sintcticas que asi lo dictan,una clase bien diseada debe
definir una y una sola identidad lgica. Por ejemplo, una clase que almacena
nombres y nmeros de telfono no almacenara informacin acerca de
temperaturas climticas. Lo importante aqu es que una clase bien diseada
agrupa informacin conectada de manera lgica. Si coloca informacin no
relacionada en la misma clase, desestructurara rpidamente su cdigo.
Hasta el momento, las clases que se han estado empleando solo tienen un
metodo: main(). Sin embargo, tome en cuenta que la forma general de una clase
no especifica un metodo main. Solo se require este si la clase es el punto de
partida de su programa. (Adems, los applets no requiere un metodo main).
DEFINICION DE UNA CLASE
minivan.kmxlt=30;
rango=minivan.tanquegas*minivan.kmxlt;
System.out.println("Una minivan puede transportar:"+minivan.pasajeros+"
Pasajero con un rango de: "+rango);
}
}
Debe llamar con el nombre de automotor.java al archivo que contiene este
programa porque el mtodo main esta en la clase automotorDemo y no en la clase
automotor. Cuando compile este programa, encontrara que se han creado dos
archivos .class, uno para automotor y otro para automotorDemo. El compilador de
javac. No es necesario que ambas clases estn en el mimo archivo fuente puede
poner cada clase en sus propios archivos, llamados automotor.jav y
automotorDemo.java, respectivamente.
Para ejecutar este programa, debe ejecutar automotoDemo.class.
Cada objeto tiene sus propias copias de las variables de instancia definidas para
su clase,por lo tanto, el contenido de las variables en un objeto puede diferir del
contenido de las variables de otro objeto. No existe una conexin entre los dos
objetos excepto por el hecho de que ambos objetos son del mismo tipo, por
ejemplo, si tiene dos objetos automotor cada uno tiene su propia copia de
pasajeros, tanquegas y km/lt, y el contenido de estos puede diferir entre los dos
objetos.
Ejemplo:
class Automotor {
int pasajeros;
int tanquegas;
int kmxlt;
}
public class DosAutomotor{
public static void main(String[] args) {
Automotor minivan=new Automotor();
Automotor CarroDepor=new Automotor();
int rango1,rango2;
minivan.pasajeros=10;
minivan.tanquegas=15;
minivan.kmxlt=10;
CarroDepor.pasajeros=15;
CarroDepor.tanquegas=7;
CarroDepor.kmxlt=10;
rango1=minivan.tanquegas*minivan.kmxlt;
rango2=CarroDepor.tanquegas*CarroDepor.kmxlt;
System.out.println("Una minivan puede transportar:
"+minivan.pasajeros+" pasajeros con un consumo de conbustible de:
"+rango1+" de gas");
System.out.println("Una minivan puede transportar:
"+CarroDepor.pasajeros+" pasajeros con un consumo de conbustible
de :"+rango2+" de gas");
}
}
Las clases definen las estructuras de sus objetos, es decir, que todos los objetos
de una misma clase podrn almacenar el mismo tipo de informacin y tendrn la
misma capacidad para manipularlo.
Por ejemplo, pensemos en algunas fechas: 4 junio de 2008, 15 de junio de 1973 y
2 de octubre de 1970. Evidentemente, las tres fechas son diferentes, pero tienen
la misma estructura , todas tienen un dia , un mes, un ao.
Justamente, el dia, el mes y el ao son los datos que hacen que fecha sea distinta
de otra. Diremos que son sus atributos. Una fecha es distinta de otra porque
tienen diferentes valores en sus atributos. Aun asi todas son fechas.
A continuacin, analizaremos un ejemplo de la clase Fecha. Este desarrollo se
hara de manera progresiva agregando nuevos conceptos paso a paso. Por este
motivo, debemos de seguir una secuencia.
class Fecha {
private int dia;
private int mes;
private int ao;
}
A simple vista la clase se ve como una estructura en otro lenguaje de
programacin. Sin embargo, tiene varias diferencias. Para comenzar los datos
estn definidos como private (privado), esto significa que desde afuera de la
clase, no podrn ser accedidos porque son privados, estn encapsulados y su
acceso solo se permitir estando dentro de la clase.
class Fecha {
private int dia;
private int mes;
int getMes(){
return mes;
}
void setMes(int mes){
this.mes=mes;
}
int getAo(){
return ao;
}
void setAo(int ao){
this.ao=ao;
}
}
public class TestFecha{
public static void main(String[] args) {
Fecha f=new Fecha();
f.setDia(2);
f.setMes(4);
f.setAo(1680);
System.out.println("El dia es: "+f.getDia()+ " el mes es: "+f.getMes()+" y el
ao es: "+f.getAo());
}
}
ADICION DE UN METODO A LA CLASE AUTOMOTOR
Como se acaba de explicar, los mtodos de una clase suelen manipular y
proporcionar acceso a los datos de la clase. Con esto en mente, recuerde que
main en los ejemplos anteriores calculo el rango de un automotor al multiplicar al
consumo de gasolina por la capacidad de su tanque, la propia clase automotor
maneja mejor el calculo del rango de un automotor. La razn de que esta
conclusin sea fcil de comprender es que el rango de un vehiculo depende de la
capacidad del tanque y la taza de consumo de gasolina. Ambas capacidades
estn encapsuladas en automotor. Al agregar al automotor un mtodo que calculo
un rango mejorara su estructura orientada a objetos.
EJEMPLO:
class Automotor1{
int pasajeros;
int tanquegas;
int kmxlt;
void Rango(){
System.out.println("El rango es:"+tanquegas*kmxlt);
}
}
public class AutoAgreMet {
public static void main(String[] args) {
Automotor1 minivan=new Automotor1();
Automotor1 CarroDepor=new Automotor1();
minivan.pasajeros=20;
minivan.tanquegas=15;
minivan.kmxlt=12;
CarroDepor.pasajeros=16;
CarroDepor.tanquegas=9;
CarroDepor.kmxlt=13;
minivan.Rango();
CarroDepor.Rango();
}
}
Uso de parmetros
Es posible pasar uno o dos mtodos como se explico, un valor que pasa a un
mtodo es un argumento. Dentro del mtodo, la variable que recibe el argumento
es un parmetro. Los parmetros se declaran dentro del parntesis que sigue al
nombre del mtodo. La sintaxis de declaracin de parmetro es la misma que usa
para las variables. Un parmetro se encuentra dentro del alcance de su mtodo y,
adems de las tareas especiales de recibir un argumento, actua como cualquier
otra variable local.
EJEMPLO:
package revnum;
class RevNum {