* Sentencia Iterativa do While
En este tipo de sentencias, primero se realiza la acción para luego confirmar la condición dada.
La sintaxis es de la siguiente forma:
Código:
Do
{
Sentencia1;
Sentencia2;
Sentencia3;
…
}
While (condición);
* Sentencia Iterativa for
En las sentencias previas, podríamos avernos dado cuenta que en aquellas sentencias no sabíamos el número exacto de ciclos que daría. En este tipo de sentencia (for), se utiliza específicamente cuando sabemos cuantos ciclos deben efectuarse antes del término del ciclo.
La sintaxis es la siguiente:
Código:
for (tipo_de_valor nombre_variable = valor_varible;
nombre_variable operador nombre_variable1;
nombre_variable operador)
Un pequeño ejemplo:
Código:
for (int cph = 69; cph <= 0; cph--)
{
System.out.print ("Esto se mostrará 69 veces");
}
Sentencias de Selección
Este tipo de sentencias se diferencia, ya que en estas se dedican a la comparación de variables. Un ejemplo de esto, es el famoso semáforo, que haceis si la luz da rojo ?, nos detenemos o seguimos depende del criterio de cada uno, aunque lo lógico y prudente es detenerse, Si el semáforo da luz roja, detenerse, de lo contrario seguir.
* Sentencia de Selección if-else
El significado de esta sentencia se denota en si pasa algo hacerlo, sino hacer otra cosa.
Sintaxis:
Código:
if (condición)
{
Sentencia1;
Sentencia2;
Sentencia3;
…
]
Else
{
Sentencia1;
Sentencia2;
…
}
Un pequeño ejemplo de ello es:
Código:
…
if ( x % 4 == 0 )
{
if ( x % 100 == 0 )
{
if ( x % 400 == 0 )
{
System.out.println("Es bisiesto");
}
else
{
System.out.println("No es bisiesto");
}
}
else
{
System.out.println("Es bisiesto");
}
}
else
{
System.out.println("No es bisiesto");
}
…
* Sentencia de Selección Swith
Este tipo de sentencias se dedica a estructurar todas las sentencias de selección múltiple. Swith trabaja evaluando cada tipo de expresión, y el intérprete busca las variables con el valor correspondient e. En el caso de encontrar dicha variable la ejecuta, hasta el momento de encontrarse con una quebradura (break) del programa. Si no encuentra variable con la cual evalúa la expresión buscará por defecto una variable llamada default (opcional).
Sintaxis:
Código:
Swith (expresión)
{
Case ‘constante1’:
Sentencia1;
…
Break;
Case ‘constante2’:
Sentencia2;
…
Break;
Default:
Sentenciad;
}
Fijaros que en el momento de la condición se denota con comillas simples (‘ ‘), y terminando con dos puntos ( : ), al contrario de las sentencias que tienen la terminación del punto y coma ( ; ).
Un ejemplo sencillo sería una calculadora.
Clases y Objetos
WaesWaes
Antes de empezar se deberán definir unos conceptos para poder entender las definiciones de clases y objetos
Variable: espacio de la memoria reservado para almacenar u valor que corresponde a un tipo de dato soportado por el lenguaje de programación, una variable, SIEMPRE es representada y utilizada a través de una etiqueta que se le asigna que esa etiqueta va a ser única de eso dato.
Es una variable encontraremos
Código:
tipo_de_dato etiqueta = tipo_de_dato
hay cuatro tipos de datos: numéricos, lógicos, alfanuméricos y alfabéticos
Numérico
Código:
int numero = 5;
long numeros = 5;
Lógico
*estas en especial vas a reflejar dos estado (verdadero o falso)
Código:
boolean resultado = false;
boolean gane = true;
Alfanuméricos
Código:
String nick=jose23;
Alfabéticos
Código:
String nombre = jose;
Constante: tipo de dato que no puede cambiar su valor. ejemplo: pi
Ente: algo que tiene asociada una simbología para poder describirlo.
Para que quede mas claro voy a comentar un ejemplo que vi en una Web
Por ejemplo, a través de una palabra podemos tener una idea de aquel concepto, sin embargo habrá una diferencia entre su verdad (lo que creemos sobre el concepto) y su realidad (lo que nos rodea)
Para ser mas específicos, si yo digo "Marte" lo mas probable es que visualice el planeta rojo con sus características especificas, etc. (su verdad) sin embargo seguramente "Marte" es distinto a lo que ustedes visualizaron (su realidad).
Sin embargo por algo visualizaron el otro planeta similar, porque "tiene asociada una simbología para poder describirlo."
Abstracción: es la comprensión que se tiene de un ente.
Por ejemplo, yo al decir Marte, uno se puede imaginar un planeta, otro un pedazo de roca, otro el color rojo, etc. sin separar la diferencia entre nuestra verdad y su realidad, la abstracción son puras verdades.
Característica funcional: define todo lo que hace un objeto.
Esto es algo muy importante, tomemos como ente un auto sus características funcionales serian
encender, avanzar, acelerar, frenar, parar (entre otras)
Atributos: características propias
Métodos: características funcionales
Objeto: abstracción acotada de un ente en base a sus característica, en función de un propósito claro y un punto de vista definido.
Cabe destacar que hay diferencia entre abstraer un ente de distintos puntos de vista
Por ejemplo, las características del ámbito funcional de una computadora seria la cantidad de memoria ram, rom, cache, microprocesado r, etc
En cambio del punto de vista comercial lo que importaría seria, el precio la cantidad de stock, la compra y venta, etc
Por eso es que el punto de vista es muy importante.
Según sea la abstracción y manteniendo sus características propias un objeto se puede descomponer en un conjunto de objetos.
Por ejemplo el objeto "computadora" se puede descomponer en (placa medre, hdd, fuente, lectora de CD) en este caso "computadora" seria el objeto pedre y los demás serian hijos, y también si necesitamos mas detalles podríamos descomponer un objeto hijo por ejemplo "placa madre" (zócalo cpu, sw1, sw2, bateria, usb, IDE1, IDE2)
A la hora de describir u objeto hay que terminar abriendo y cerrando paréntesis, no puede hacer espacios, no se puede empezar con mayúsculas, no se pueden poner acentos
Código:
ejemplo: placaMadre()
Clase: conjunto de atributos y métodos asociados a la abstracción de un ente.
Recordando siempre cual es el punto de vista por ejemplo si la clase es un revolver
Código:
clase: revolver
Disparar() *cantidad de balas
Cargar() *capacidad de cargador
PonerSeguro() *estado del seguro
Ese es un ejemplo simple para que se den mas o menos cuenta
Herencia: metodología de clases, para que una clase hija herede características y métodos de clase padre.
Ingreso y Despliegue de Datos
Tenemos que mencionar que todos los programas basados en JAVA serán manipulados por la clase System, que pertenece a la librería java.io.* (entrada de datos)...
para importa un paquete (package), usaremos import, y en este caso java.io.*, por la razón que por el momento no nos interesa saber de donde pertenece la libreria exacta que hace la entrada de datos
System.in, representa la entrada standart
System.out representa la salida de datos
BufferedReader (es la clase que usaremos para la lectura de los datos)
Ahora veremos, como hacer que el programa "ingrese los datos"...
Código:
InputStreamReader isr = new InputStreamReader (System.in);
BufferedReader br = new BuffereReader (isr);
Leamos un poco, para comprender lo que dice...
Haremos una clase InputStreamRea der es quien a groso modo, el ingreso de datos, ya que transforma un bytes a línea de carácteres, los lee y los decodifica... sacando conclusiones:
Se crea una clase InputStreamRea der isr (se le puede dar cualquier nombre, yo le pongo isr, para que no se olvide que lo que se crea), de una nueva clase InputStreamRea der, que hace el ingreso de datos desde System.in...
BufferedReader, más que todo lee el texto que es ingresado, y al igual que la línea anterior, se lee...
Se crea una clase BufferedReader br (cualquier nombre), de una nueva clase BufferedReader desde isr (InputStreamRea der)...
Ahora, esto se me ocurrio, analizando un poco todo esto, y gracias a Plaga, la duda fue concluída de buena forma...
Código:
BufferedReader br = new BufferedReader (new InputStreamReader (System.in));
Esto se puede leer de la siguiente forma:
Se crea una clase BufferedReader llamada br, de una clase BufferedReader desde InputStreamRea der llamado desde System.in (De esta forma leemos los datos y se ingresan)
Ahora cómo debería quedar el programa Huh
El Método Main
public static void main(String[] args)
public y static son modificadores de main.
- El metodo main no devuelve nada indicado por void.
- El metodo main tiene identificador "main".
- El metodo main acepta cero o más objetos de tipo String, se puede enviar desde la linea de comando valores a ser ocupados en el main.
Código:
import java.io.*;
public class nombre
/* Cuidado he aquí donde tenemos un poco de cuidado
* si el nombre es distinto al archivo saldrá un error de clase
* en la compilación del programa
*/
{
public static void main(String[] args)
{
BufferedReader br = new BufferedReader (new InputStreamReader (System.in));
// Aquí todo lo demás del cuerpo del programa..
}
}
Ahora que entendimos esta pequeña parte del code, podemos seguir avanzando...
Para que ingrese los datos y quede en la memoria:
Código:
System.out.print // todo el code se pondrá al costado
System.out.println // todo el code hará un salto de carro
Ahora que sabemos como es el asunto, veremos para que los datos queden en memoria..
Código:
tipo_de_dato = Integer.parseInt(br.readLine());
Explicando un poco este code, es de la siguiente forma:
El tipo_de_dato será leído desde el Buffer, para ser guardado como un tipo entero (en este caso).
Ahora debemos de pensar una pequeña cosa, el programa lo manejará el usuario, y como siempre si al usuario se le dice ingresa un número, el usuario ingresa una letra... entonces debemos de estar preparados para errores, y para esto ocuparemos las famosas sentencias try & catch...
try & catch
Código:
try
{
// code
}
catch (Exception e)
{
// code de la excepción
}
Las Excepciones se usan en el caso de error, ya sea de una transformación de un dato hacia otro o en el caso de un error 0 ( Tongue, Error de Usuario)
Todo nuestro code debe estar dentro de try... ya que intentamos realizar algo...
En el caso de catch, es todo lo que en el caso de error...
Ahora chequemos el code, como estaría quedando..
Código:
import java.io.*;
public class nombre
{
public static void main(String[] args)
{
BufferedReader br = new BufferedReader (new InputStreamReader (System.in));
try
{
// nuestro programa
}
catch (Exception e)
{
System.out.println("Error");
}
}
}
Arrays
Vectores
Los Arrays son un método para guardar un conjunto de objetos de una misma clase, existen distintos tipos de Arrays, ya sean Unidireccional o Multidireccion ales.
Un Arrays o Arreglo, comienza en un índice 0 y el últimoi se debe denotar n-1... n == dimensión de Arrays.
Primero debemos saber cómo se declara y crea un Arrays en JAVA, y se realiza de la siguiente forma:
Código:
tipo_de_dato[] nombre;
el tipo_de_dato, ya sea int, float, double, entre otros... los corchetes ( [] ), quieren decir que es la sección de memoria a utilizar, y el nombre del Arrays...
La forma de declaración del Arreglo, cómo podría ser, sabiendo esto, y que se debe realizar un nuevo tipo de dato Huh...
Para los que pensaron antes de continuar, bien... Cheesy... sería de la siguiente forma:
Código:
tipo_de_dato[] nombre = new tipo_de_dato [x];
Donde x, es la sección de memoria a utilizar el Arrays...
Se entiende o voy muy rápido Huh
Si voy muy rápido aquí os dejo una pequeña explicación de un Arreglo de 10 posiciones...
0 1 2 3 4 5 6 7 8 9 --> Sección de Memoria del Vector
9 8 7 6 5 4 3 2 1 0 --> Datos de cada sección de Memoria del Vector
Cómo he dicho un vector comienza en un índice 0 (cero), y no en 1, entonces un vector de 10 posiciones llegará hasta el número 9, estamos de acuerdo con ello Huh
Operaciones Básicas de un Arreglo
* Definir el Arreglo
* Realizar un recorrido
* Ingresar datos al Vector
* Sacar los datos del Vector
Ok!...
Ya sabemos como definir el vector:
Código:
tipo_de_dato [] nombre_vector = new tipo_de_dato [10]
Ahora cómo recorremos el vector Huh...
Podría ser con una acción repetitiva (Ciclo), armando índices...
Lo recorreremos con un ciclo, en este caso un While:
Código:
While (i<=9)
{
System.out.print (nombre_vector[i]);
i++;
}
En el caso de un for
Código:
for (i=0;i<=9;i++)
{
System.out.print (nombre_vector[i]);
}