Programador 5 estrellas, estrella 0 para Java
Compilador.
Para compilar un archivo Java necesitas entrar al símbolo de sistema ( Inicio > Ejecutar > e introduces “cmd” después haces enter ) Ahí buscas la ruta donde se encuentra tu archivo Java y especificas el comando javac (espacio) NombreDelArchivo.java.
Cabe mencionar que el nombre del archivo debe ser el mismo nombre de la clase que contiene.
Después de esto, el compilador habrá de crear un archivo “NombreDelArchivo.class” que podremos correr mediante el comando java (espacio) NombreDelArchivo
Principios de programación en Java
En Java, una instrucción termina en punto y coma (;)
Int numero1 = 1;
Los códigos en bloque van situados entre llaves que delimitan el comportamiento de un objeto:
class MainClass{
public static void main (String[] args){
System.out.prinln(“¡Hola Mundo!”);
}}
Comentarios
Para poner comentarios en nuestro código fuente java tenemos tres opciones:
Una línea de comentario que empiece por //
// Esto es un comentario
System.out.println ("Hola mundo");
Varias líneas encerradas entre /* y */
/* Todo esto
también es un
comentario */System.out.println ("Hola mundo");
Finalmente, podemos hacer varias líneas de comentario entre /** y */
/** Todo esto
también es un
comentario */public void unMedodo (int unParametro) {
…
}
La diferencia entre el comentario que empieza por /** y el que empieza por /* es que el primero sale en la documentación generada por javadoc y en la mayoría de herramientas que hacen documentación a partir del código. El comentario que empieza por /* no sale en la documentación.
Hay unos detalles, sin embargo, que conviene tener en cuenta para comentarios que van a salir en la documentación. Conviene poner uno de estos comentarios delante de cada clase, cada método y cada atributo, de esta forma, en la documentación aparecerán convenientemente documentados las clases, métodos y atributos. Lo siguiente puede ser un ejemplo.
/**
Montones de funciones matemáticas.
Realiza operaciones trigonométricas, ecuaciones diferenciales
e integrales */public class Matematicas {
/** PI.
Pues eso, PI=3.14 y pico */public static final double PI = 3.1416;
/** Devuelve el seno del ángulo que se le pasa.
El ángulo debe estar en radianes. */public double sin(double angulo) {
…
}
}
Es importante tener en cuenta que dentro de cada comentario, la primera frase -hasta el primer punto- saldrá como resumen de la clase, método o atributo. Conviene, por tanto, que esa frase tenga sentido por sí sola.
Java es altamente typeado
(reconoce mayúsculas y minúsculas)
En java es importante que cada instrucción esté escrita correctamente, que donde sean mayúsculas vayan mayúsculas y donde sean minúsculas vayan minúsculas. Un error de estos puede llevar a que lo que estemos programando quede inutilizable.
System.out.prinln(“¡Hola Mundo!”); // Es Correcto
system.out.prinln(“¡Hola Mundo!”); // Es Incorrecto
System.Out.Prinln(“¡Hola Mundo!”); //Es Incorrecto
Declaración de Variables
Toda variable debe tener el tipo de dato al que pertenece y debe ser inicializado para que pueda utilizarse. Con esto queremos decir que al declarar una variable entera esta debe ser inicializada con un valor válido para ese tipo de dato.
int a = 0; // en esta linea se declara una variable tipo entero con nombre a y se inicializa con un valor 0
También se puede hacer de la siguiente manera:
int a;
a = 0;
Tipos de datos
|
Tipos de datos |
Rango de valores |
Descripción |
|
Números enteros |
||
|
byte |
8-bit complemento a 2 |
Entero de un Byte |
|
short |
16-bit complemento a 2 |
Entero corto |
|
int |
32-bit complemento a 2 |
Entero |
|
long |
64-bit complemento a 2 |
Entero largo |
|
Números reales |
||
|
float |
32-bit IEEE 754 |
Coma flotante de precisión simple |
|
double |
64-bit IEEE 754 |
Coma flotante de precisión doble |
|
otros tipos |
||
|
char |
16-bit Caracter |
Un sólo carácter |
|
boolean |
true o false |
Un valor booleano (verdadero o falso) |
También existe un tipo de dato llamado “String” que permite un arreglo de caracteres de téxto, por ejemplo el nombre de una persona, la dirección de un domicilio, un bloque de texto, etc.
Operadores
Operadores Aritméticos: Los habituales
- Suma + .
- Resta – .
- Multiplicación * .
- División / .
- Resto de la División % .
Operadores de Asignación: El principal es ‘=’ pero hay más operadores de asignación con distintas funciones que explicamos brevemente ahora.
- ‘+=’ : op1 += op2 à op1 = op1 + op2
- ‘-=’ : op1 -= op2 à op1 = op1 – op2
- ‘*=’ : op1 *= op2 à op1 = op1 * op2
- ‘/=’ : op1 /= op2 à op1 = op1 / op2
- ‘%=’ : op1 %= op2 à op1 = op1 % op2
Operadores Unarios: El mas (+) y el menos (-). Para cambiar el signo del operando.
Operador Instanceof: Nos permite saber si un objeto pertenece a una clase o no.
- NombreObjeto instanceof NombreClase
Operadores Incrementales: Son los operadores que nos permiten incrementar las variables en una unidad. Se pueden usar delante y detrás de la variable dependiendo de lo que queramos, es decir, si queremos que incremente o viceversa antes de utilizar o lo contrario.
- ‘++’
- ‘–’
Operadores Relacionales: Permiten comparar variables según relación de igualdad/desigualdad o relacción mayor/menor. Devuelven siempre un valor boolean.
- ‘>’: Mayor que
- ‘<’: Menor que
- ‘==’: Iguales
- ‘¡=’: Distintos
- ‘>=’: Mayor o igual que
- ‘<=’: Menor o igual que
Operadores Lógicos: Nos permiten construir expresiones lógicas.
- ‘&&’ : devuelve true si ambos operandos son true.
- ‘||’ : devuelve true si alguno de los operandos son true.
- ‘!’ : Niega el operando que se le pasa.
- ‘&’ : devuelve true si ambos operandos son true, evaluándolos ambos.
- ‘|’ : devuelve true uno de los operandos es true, evaluándolos ambos.
Operador de concatenación con cadena de caracteres ‘+’:
- Por Ejemplo: System.out.println("El total es"+ result +"unidades");
Operadores que actúan a nivel de bits: Son mucho menos utilizados por eso los explicamos mas por encima.
- ‘>>’: desplazamiento a la derecha de los bits del operando
- ‘<<’: desplazamiento a la izquierda de los bits de operando
- ‘&’: operador and a nivel de bit.
- ‘|’: operador or a nivel de bit
Arreglos (Arrays)
Java dispone de un tipo de dato de posiciones secuenciales y que cuenta de unas comprobaciones exhaustivas para su correcta manipulación como puede ser la comprobación de no sobrepasar los limites permitidos en la definición del array.
Los arrays permiten guardar grupos de datos similares, puesto que Java trata los arrays como un tipo de objeto y por lo tanto este se tendra que instanciar con el operador new.
Para crear un array tenemos que especificar una variable que se utilizara como índice para acceder al array y el tipo de datos que este contendrá.
Antes de poder utilizar un array hay que declararlo, como Java trata este tipo como un objeto, el array en este caso no reserva memoria para contener los datos, sino que solamente localiza memoria para almacenar una referencia al array, por ejemplo cuando se pasa una matriz a un metodo, sólo se pasa la referencia y no todos los elementos de la matriz.
En este ejemplo he creado un array unidimensional del tipo int que nos permite almacenar diez enteros, pero tambien pueden ser bidimensionales…
int miDato[] = new int[5];
Podriamos inicializar el array de la siguiente manera:
int miDato[] ={5,9,4,2,7};
String misdatos[] = new String[4];
int misdatos[][] = new int[20][10];
Y para acceder al tercer elemento utilizariamos los indices en este caso seria la posicion elemento -1, pues Java considera el indice del primer elemento como 0.
misDatos[] = {"uno","dos","tres","cuatro");
misDatos[1] = "dos"
misDatos[0] = "uno"
….
Resaltar que todos los objetos array disponen de un metodo publico "lenght()" que se utiliza para determinar su tamaño.
int array[][] = new int[5][2];
array.length; //= 5
array[0].length; //= 2
Sentencias condicionales
Hay varias sentencias condicionales, como el if (si), el while (mientras) y el for (para).
El operador if declara que hay una acción en caso que una condición sea verdad o mentira. Por ejemplo si el entero es mayor a 10 o menor a 10 pueden haber diferentes acciones.
if (a>10) //en caso que la variable a sea mayor que 10, entonces… {
funcion();
}else //en caso de que no (que la variable sea menor que 10), entonces…
{
funcion1();
}
mediante la operación while se hace una acción mientras una variable cumpla la condición.
int a = 0;
while (a<10) //mientras la variable a sea menor que 10 hacer…
{
hacer(); //dentro del bloque debe haber algo que saque de la condición a la variable
}
El operador for permite hacer acciones en secuencia ordenada, poner una condición inicial y final y el intervalo al que queramos vaya incrementando.
for (a>0; a<10; a++) //mientras la variable sea mayor a cero y menor que 10, aumentando de 1 en 1
{
hacer();
}
Clases
Una clase se declara mediante el operador class
class Perro
{
//bloque de código, miembros, atributos, acciones, etc.
}
Una clase puede ser la principal, o punto de acceso, que será la que se ejecute. Para ello se necesita poner una línea de código que lo hará diferenciable de las demás.
Class Perro{
static void main (String[] args){
//bloque de código, miembros, atributos, acciones, etc.
}}
Constructor
El constructor es un tipo específico de método que siempre tiene el mismo nombre que la clase y se utiliza para construir objetos de esa clase. No tiene tipo de dato específico de retorno, ni siquiera void. Esto se debe a que el tipo específico que debe devolver un constructor de clase es el propio tipo de la clase.
class CtaCte
{
public CtaCte(){…} //Const. por default
public CtaCte(int i){…} //Const. con un parametro
}
Sobrecarga de Métodos
Cuando dos o más métodos puedan tener el mismo nombre, pero distinta lista de argumentos en su invocación. Si se sobrecarga un método, el compilador determinará ya en tiempo de compilación, en base a lista de argumentos con que se llame al método, cual es la versión del método que debe utilizar.
public void HacerDeposito(int importe)
{
}
public void HacerDeposito(int importe, bool acreditar)
{
}
Herencia
Se habla de herencia cuando dos clases son prácticamente idénticas, pero una deriva de la otra y utiliza alguno de sus métodos o todos y añade más. Se dice que es una clase hija cuando se deriva de una y es Padre cuando de esta se derivan otras.
En java se sabe que una clase es hija de otra cuando en la declaración de creación contiene la instrucción “extends”
class Cuenta //Clase Base
{
}class CtaCte extends Cuenta //Clase Derivada o Hija
{
}
Paradigmas de la programación
Como todo, hay diferentes tipos de lenguajes de programación y cada uno de ellos está enfocado a diferentes tipos de programación. Hay orientados a objetos, estructurados, declarativos, funcionales, etc.
Cada tipo de lenguaje de programación tiene sus “pros” y sus “contras” que deben ser bien analizadas antes de comenzar a programar un proyecto, pues tanto puede resultar que el lenguaje elegido sea poco práctico para el proyecto a realizar hasta obsoleto.
El lenguaje de programación en el que nos enfocaremos será Java, que pertenece a los que están orientados a objetos.
¿Qué es un objeto?
Los principios de la definición de objetos ayudan a los programadores a hacer código más completo, sustentable y seguro; ya que con la utilización de estos conceptos se pueden aislar a cada uno de esos objetos y tratarlo como un ente único, con su propia personalidad, sin que haya cientos de características que tengamos que tener en consideración, tal como se hacía en la programación estructurada. Y ya que los objetos bien diseñados pueden ser utilizados en muy diversas aplicaciones, se reduce el tiempo de desarrollo.
Casi todo puede ser considerado un objeto. Una piedra, una persona o un animal. Los objetos representan cosas ya sean simples, complicadas, reales o imaginarias.
Algunas cosas no son objetos, sino atributos, valores o características de objetos. Es decir, no todas las cosas son objetos, ni son consideradas normalmente como objetos. Podríamos decir que son simplemente atributos de los objetos como el color, el tamaño y la velocidad, forma, etc.
Los atributos describen el estado y comportamiento de un objeto.
Podríamos afirmas que:
- Los objetos son cosas
- Los objetos pueden ser simples o complejos
- Los objetos pueden ser reales o imaginarios
Por ejemplo, un objeto motocicleta podría tener las siguientes acciones: encender, andar, detenerse, girar, acelerar, frenar, apagar.
Pero podría estar definido por algunas características como el color, el tamaño, la capacidad del motor o hasta la marca del fabricante.
Encapsulación
Los objetos encapsulan sus operaciones, su estado y comportamiento.
- El comportamiento del objeto está definido por las operaciones
- El estado está definido por los datos o atributos del objeto
La encapsulación se refiere a la relación entre las operaciones y ele stado de un objeto. Esta describe qué partes de un objeto son visibles (públicas) y cuáles no (privadas).
Siguiendo el mismo ejemplo de la motocicleta, podríamos definir al volante como un objeto público, porque puede ser manipulado por el usuario, mientras que el proceso de combustión y los mecanismos internos del motor serían objetos privados.
Las clases representan el tipo al que pertenecen los objetos. Definen tanto los miembros operaciones como el estado, especificando cuáles son públicos y cuáles privados.
Los objetos que tengan estados, comportamientos y atributos similares se pueden agrupar en clases, por ejemplo en la clase “automotores” podemos incluír muchos objetos como camiones, carros, camionetas, motocicleta y todo lo que sea empujado por un motor. Pues de cierta manera necesitan o realizan acciones similares de forma similar: Todos necesitan encender, pueden acelerar, cambiar de dirección, etc.
Todavía no hay comentarios
Replica