lunes, 4 de noviembre de 2013

5. Vectores y matrices

Cuando queremos manejar una colección de objetos del mismo tipo estructurados y definidos en una sola variable se utilizan los vectores. En java los vectores son realmente objetos. Existen dos formas para declarar los vectores:
  1. tipo [] nombreVector ;   -> Ejemplo: int vector1[];
  2. tipo nombreVector [];   -> Ejemplo: int [] vector1;
 La matrices son vectores de varias dimensiones. Para declaralos existen dos formas:
  1. tipo [][] nombreVector ; -> Ejemplo: int matriz[][]
  2. tipo nombreVector [][]; -> Ejemplo: int [][] matriz;

Los vecrtores pueden ser inicializados en el momento de la declaración, reservando el espacio justo para almacenar los elementos.

Para reservar memoria a los vectores es necesario llamar al constructor new de la siguiente manera:
new tipo [numeroElementos]

Por ello, se puede indicar el número de elementos durante la declaración (por ejemplo un vector de enteros de 5 elementos):
int vector[] = new int[5];

Podemos acceder a los elementos de un vector a través del índice del vector. El índice del primer elemento es el 0, y el último, el número de elementos menos uno. Por ejemplo si queremos asignar el elemento 3 del vector a una variable entera sería:
variable = vector [3];



Ejemplo: completar ejemplo alumnos

Ejemplo: Crear el alumno Sandra López Fernández con edad de 21 años y en el cuarto curso, asignando los valores mediante los métodos set y get. Crear otro alumno llamado Pedro González Bravo, con 17 años y de primer curso, utilizando un contructor sobrecargado (no utilizando métodos set y get). Crear ambos alumnos desde el programa principal, y se debe de mostrar el siguiente mensaje para cada uno de ellos, en fución de ser o no mayor de edad:

El alumno "Nombre" "Apellidos" es mayor de edad 
El alumno "Nombre" "Apellidos" NO es mayor de edad


En la clase Alumno.java, se han añadido el constructores por defecto y el sobrecargado respectivamente:

public Alumno()
{
   nombre="";
   apellidos="";
   edad=0;
   curso=0;
}


public Alumno(String nom, String ape, int e, int c)
{
   nombre=nom;
   apellidos=ape;
   edad=e;
   curso=c;
}



En la clase Principal.java se han creado los objetos y se han realizado las llamadas a los diferentes métodos:
 
 
public class Principal {

 public static void main(String[] args) {

  // Datos alumno 1
  Alumno alumno1 = new Alumno();
  String cadena1;
  alumno1.setNombre("Sandra");
  alumno1.setApellidos("Lopez Fernandez");
  alumno1.setEdad(21);
  alumno1.curso=4;
  cadena1=alumno1.getNombre() + " " + alumno1.getApellidos();
 
  if(alumno1.esMayorEdad())
   cadena1+=" es mayor de edad";
  else
   cadena1+=" NO es mayor de edad";
  
  System.out.println("El alumno " + cadena1);
 
  // Datos alumno 2
  Alumno alumno2 = new Alumno("Pedro", "Gonzalez Bravo",17,1);
  String cadena2;
  cadena2=alumno2.getNombre() + " " + alumno2.getApellidos();


  if(alumno2.esMayorEdad())
   cadena2+=" es mayor de edad";
  else
   cadena2+=" NO es mayor de edad";
 
  System.out.println("El alumno " + cadena2);
 }
}



domingo, 3 de noviembre de 2013

4. Métodos

Los métodos son las funciones definidas dentro del ámbito de una clase. El método esta formado por la declaración del método y el cuerpo que va entre llaves. En el siguiente ejemplo, la función devuelve el mayor entre dos números enteros pasados como parámetro.


public int calcularMayor(int a,int b) {
   if(a>b)
     return a;
   else
     return b;
}

La parte de la declaracion del método está constituida por cuatro partes:

a). Ámbito del método. Los diferentes ámbitos que se le puede aplicar al método son iguales a los que se le puede aplicar a un atributo.

b). Tipo de datos que devuelve la función. Puede devolver tanto datos simples como referenciados (objetos). También se pueden hacer métodos que no devuelvan ningún valor donde no se especifica la particula return, y se declara como void, en vez de asociarle un tipo.

c). Nombre de la función. Es el nombre que se le da a la función, para que pueda ser invocada desde cualquier lugar.

d). Parámetros de entrada (si los tiene). Son variables que se pueden utilizar en el interior de la propia función.

A excepción de los métodos static, siempre se aplican a un objeto de la clase por medio del operador punto.

Ejemplo: añade seis métodos públicos a la clase Alumno, tres para obtener los valores de los atributos privados de nombre, apellidos y edad, y otros tres para modificarlos. Añade también otro metodo público en la clase Alumno que indique si un alumno es mayor de edad o no.
 

 /* Metodo que modifica el nombre del alumno*/
 
public void setNombre(String nom) {
     this.nombre=nom;
}


 
/* Metodo que obtiene el nombre del alumno*/
public String getNombre() {
    return this.nombre;
}
 
/* Metodo que modifica los apellidos del alumno*/

public void setApellidos(String ape) {
    this.apellidos=ape;
}
 
/* Metodo que obtiene el nombre del alumno */
 
public String getApellidos() {
   return this.apellidos;
}
 

 
/* Metodo que modifica la edad del alumno*/
 
public void setEdad(int e) {
    this.edad=e;
}
/* Metodo que obtiene la edad del alumno */
 
public int getEdad() {
    return this.edad;
}
 
/* Devuelve true si el alumno es mayor de edad, y false en caso contrario*/
public boolean esMayorEdad() {
  if(edad>=18)
    return true;
 else
   return false;

 








 

martes, 29 de octubre de 2013

Ámbitos de atributos

Los modificadores del ámbito de los atributos especifican la forma en que se puede acceder a los atributos desde otras clases. Los modificadores son: provate, public, protected y default.

1.Private.

Un atributo private es sólo visible dentro de la clase desde donde se trata. Para acceder a dichos atributos se necesita algún método no privado, que devuelva o modifique el valor del atributo privado. El modificador de ámbito private es el más restrictivo de todos.

2.Public.

Un atributo public es visible desde culaquier clase que desee acceder a dicho atributo. No es necesario la utilización de algún método no privado como en el caso del modificador private. El modificador de ámbito public es el menos restrictivo de todos.

Para realizar correctamente una aplicación en java, es aconsejable minimizar la cantidad de atributos public y máximizar la cantidad de atributos private.

3.Protected.

Un atributo protected pueden ser accededido por las clases del mismo paquete y por las subclases del mismo paquete y desde cualquier clase que extienda la clase en que se encuentra, independientemente de si esta se encuentra en el mismo paquete. Este modificador al igual que el modificador private, no tiene sentido a nivel de clases o interfaces no internas.

4. Default.

En el caso de no especificar ningún modificador de acceso, se utiliza el nivel de acceso por defecto, que consiste en que un atributo o método sólo puede ser accedido desde las clases que pertenezcan a un mismo paquete.


Ejemplo: modifica la clase Alumno para asociar el modificador de ámbito privado a los atributos nombre, apellidos, edad y el modificador de ámbito público al atributo curso.




public class Alumno {
private String nombre;
private String apellidos;
private int edad;
public int curso;
}


domingo, 27 de octubre de 2013

3. Clases y objetos

Todo en java son clases o objetos. Una clase es un conjunto de atributos y funciones o procedimientos que operan sobre dichos atributos (métodos), formando una entidad. Las clases constituyen los bloques en los cuales se introduce el código. El cuerpo de una clase comienza con una llave abierta y termina con una llave cerrada. La declaración de una clase define un tipo de dato referencial.

En un fichero fuente .java, puede declararse una o más clases:

class Clase1{
  // Cuerpo de la clase (atributos y métodos)
}

class Clase2{
 // Cuerpo de la clase (atributos y métodos)
}

Loa atributos son los datos que definen una clase. Se declaran como una variable, dentro de la clase.

La declaración mínima de una clase es class clase1 . Esto significa que no desciende de ninguna otra clase, sólo de Object. La clase Object es la raíz de toda la jerarquía de clases en java.

Un objeto es la instancia de una clase. Podemos crear un objeto si declaramos una variable con el tipo de la clase.

Ejemplo: Vamos a crear la clase alumno. Para ello crea una clase con el nombre de Alumno.java. Del alumno sabemos el nombre, los apellidos, edad y el curso. A lo largo del tema iremos modificando dicho ejemplo. Podemos utilizar cualquier herramienta o plataforma (Eclipse).
 


public class Alumno {
   String nombre;   String apellidos;
   int edad;
   int curso;
}


Alguna de las clases que forman un programa en java puede contener el programa principal (main), que es el encargado de crear objetos, llamar a los métodos de clase, realizando cálculos, para realizar diferentes tareas y llevar a cabo el objetivo de la elaboración del programa. Es el emcargado de producir la salida que se espera del programa.

Ejemplo: Añade al ejemplo del tema, una nueva clase que contenga el programa principal, llamada Principal.java. En ejemplos posteriores completaremos el contenido de dicha clase.
 

public class Principal {
 
     public static void main(String[] args) {
       
     }
}


sábado, 26 de octubre de 2013

2. Estructuras de control

Las estructuras de control son contrucciones que se basan en las palabras reservadas del lenguaje que permiten modificar el flujo de ejecución del programa. Existen estructuras condicionales y bucles.

1.Estructuras condicionales. Son estructuras que permiten alterar el orden secuencial del programa en función de una condición, que permiten desviar el flujo de ejecución del programa hacia una alternativa u otra.

a).if-else

if (condición)
    Bloque de instrucción

El bloque de instrucciones se ejecuta si y sólo si, la condición se evalúa a verdadero.


if(condición)
   Bloque de instrucciones 1
else
   Bloque de instrucciones 2

Si la condición se evalúa a verdadero se ejecuta sólo el bloque de instrucciones 1. En caso de que la condición se evalúe a falso, se ejecuta el bloque de instrucciones 2.





b). switch

switch (condición)
{
 case valor1: instrucciones1;   
 case valor2: instrucciones2;
 case valorN: instruccionesN;

default: intruccionesDefecto;
}

Se evalúa la condición, y en función del valor de dicha condición, se ejecuta la sentencia o caso (case) cuyo valor conincide. Después de cada caso es necesario escribir la palabra reservada break, puesto que si no, se ejecutará las siguientes instrucciones.





2. Bucles. Son estructuras de repetición, en las que se repite un bloque de instrucciones un número determinado de veces mientras se cumpla una condición.

a). for

for(inicialización;condición;incremento)
{
   bloque de intrucciones
}


La cláusula inicialización es una intrucción que se ejecuta una sola vez al inicio del bucle.
La cláusula condición es una expresión que se evalúa al inicio de cada iteración, y en caso de que dicha condición se evalúe a falsa, se dejará de ejecutar el bucle.
La cláusula incremento permite aumentar el valor de alguna variable en cada iteración.
 
No es obligatorio completar las tres cláusulas, y pueden estar vacías, pero si es obligatorio poner los puntos y comas (;).

b). do-while

do
{
    bloque de intrucciones
}

while(condición);

El bloque de instrucciones se ejecuta al menos una vez, y se ejecuta mientras la condición se evalúe a verdadero.



c). while

while(condición)
{
      bloque de intrucciones
}


El blque de instrucciones se ejecuta mientras que la condición se evalúe a verdadero. La condición se evalúa antes de empezar a ejecutar el bucle, por lo que si dicha condición se evalúa a falso en la primera iteración del bucle, no se ejcutará ninguna vez.




viernes, 25 de octubre de 2013

Ejemplo: suma, resta, multiplicación, división y resto.

En esta entrada se muestra un ejemplo de un programa en java, donde se realizan las operaciones de suma, resta, multipliación, división y resto entre dos números.

jueves, 24 de octubre de 2013

Variables y constantes


Las variables se declaran de la misma forma que en el lenguaje C. Contiene el tipo de dato y el nombre de la variable. A las variables se les puede asignar valor durante la declaración (inicialización).
int variable1;
double variable2, variable3 = 5.58;

Existen otras variables que no tienen un tipo de dato simple, y son objetos. (tema de clases y objetos). El operador que crea un objeto (instancia de una clase) es new, que necesita como único parámetro el nombre del constructor.

Alumno alu = new Alumno();

En el siguiente enlace se explica con más detalle los contructores de la programación orientada a objetos:
http://es.wikipedia.org/wiki/Constructor_(inform%C3%A1tica)


Otra forma de declarar las variables en Java es mediante el uso de las llamadas constantes. Son variables que mantienen el mismo valor después de su declaración, por lo que no se le pueden modificar el valor después de su declaración. Para declarar una constante en Java se utiliza la palabra final delante de la declaración de la variable.
 
final NUMEROPI = 3.14159265
La constante pi apunta a la dirección que contiene el valor 3.14159265359 y que no podrá ser cambiado por el programa, y en caso de intentar cambiar el valor, el copilador de Java nos dará un error.
 

miércoles, 23 de octubre de 2013

Tipos de datos.



En la siguiente imagen se muestran los tipos de datos simples que se utilizan en java.

 
 
Para la declaración de cadenas se utiliza el tipo de dato String. Este no es un tipo de dato simple como los que hemos visto en la imagen anterior, sino que es un objeto. Los valores del tipo String van entre comillas dobles ("esto es una cadena"), mientras que los de los tipo char van entre comillas simples ('a').

martes, 22 de octubre de 2013

1. Introducción a la programación en java


Java es un lenguaje de desarrollo de propósito general, y como tal, es válido para realizar cualquier tipo de aplicación dentro de cualquier ámbito profesional. Una de las características más importantes es que los programas creados por el compilador de Java, son independientes de la arquitectura (multiplataforma). Java es un lenguaje de programación que cada vez más, se está convirtiendo en la base de millones de desarrolladores en todo el mundo, para realizar todo tipo de aplicaciones en red, aplicaciones de escrtorio, aplicaciones móviles, juegos, contenido basado en web y software de empresa.

En el siguiente enlace podemos conocer con mayor profundidad todas las características de java:

http://www.oracle.com/es/technologies/java/features/index.html




Primer programa en java.

En el siguiente video se muestra como realizar el primer ejemplo en lenguaje de programación en java. En el ejemplo se utiliza como herramienta de programación Eclipse.


 

viernes, 18 de octubre de 2013

Bienvenida al curso


Bienvenidos al curso básico de programación java. En este curso se impartirán los conceptos básicos de java. No es necesario tener grandes conocimientos de programación previos.

 El contenido del curso es el siguiente:
  1. Introducción a la programación en java.
  2. Estructuras de control.
  3. Clases y objetos.
  4. Métodos.
  5. Vectores y matrices.
  6. Herramientas para la programación.