En Java existen ocho tipos de datos primitivos que se pueden clasificar en:
- Números enteros (byte, short, int, long).
- Números reales (float, double).
- Carácter (char).
- Booleano o lógico (boolean).
Métodos en Java. Un método en Java es un conjunto de instrucciones definidas dentro de una clase, que realizan una determinada tarea y a las que podemos invocar mediante un nombre. - System.out.println(); ... Este método es el punto de entrada al programa y también el punto de salida.
Normalmente en el mundo real existen varios objetos de un mismo tipo, o como
diremos enseguida, de una misma clase. Por ejemplo, mi bicicleta es una de las muchas
bicicletas que existen en el mundo. Usando la terminología de la programación
orientada a objetos, diremos que mi bicicleta es una instancia de la clase de objetos
conocida como bicicletas. Por lo tanto Biciletas
(en plurar) seria la clase.
Es importante tener claro que una clase es una abstracción lógica.
class NombreClase{
//Declarar variables de instancia
tipo var1;
tipo var2;
//..
//Declarar métodos
tipo metodo1(parámetros){
//Cuerpo del método
}
tipo metodo2(parámetros){
//Cuerpo del método
}
}
Metodos de la clase String
Métodos:
Lenght()
: devuelve un entero que representa la longitud de la cadena.charAt(int)
: devuelve el caracter que esta en la posición.toUpperCaser()
: convierte la cadena a mayusculastoLOwerCaser()
: convierte la cadena a minusculas.
Alternativas
- Simple if, else if
si (condicion)
acciones
fin-si
- Compuesta
If, else if, else if
si (condicion)
accion 1
si no
accion 2
fin-si
- Multiple
Solo se va a ejecutar uno de todos los casos posibles. (Switch)
caso (valor variable)
caso 1: acción 1
caso 2: accion 2
caso n: accion n
fin-caso
Repetitivas
Bucles while, for, do while
- Conocemos Nº Repeticiones
desde (inicion hasta fin)
acciones
fin-desde
- No Conocemos Nº Repeticiones
While: se ejecuta de 0 a N veces
mientras (condicion)
accion
fin de concion
do while : se ejecuta de 1 a N veces.
hacer
accion | es
fin-hacer(condicion)
Alternativa simple
if (condicion) {
// la condicion se cumple si la condicion es verdadera
accion/es;
}
Alternativa compuesta
if (condicion) {
// la condicion se cumple si la condicion es verdadera
accion/es;
} else {
accion2;
}
Operadores relacionales son aquellos que se utilizan dentro de las condiciones.
Operador | Utilización | Resultado |
---|---|---|
> | A > B | verdadero si A es mayor que B |
>= | A >= B | verdadero si A es mayor o igual que B |
< | A < B | verdadero si A es menor que B |
<= | A <= B | verdadero si A es menor o igual que B |
== | A == B | verdadero si A es igual a B |
!= | A != B | verdadero si A es distinto de B |
La sentencia de switch sirve para elegir una opcion según la entrada de una expresión. Este tipo de sentencia se pueden utilizar las palabras clave break
y default
.
break
: nos permite salir del bucle en caso de que se cumple el caso. Cualquier opción que no se la ultima opción necesita llevar un break.
default
: sirve para que cuando ninguno de los casos que tenemos definidos sea introducido se ejecute esa orden. (No necesita break). Solo lleva break en caso de que no sea la ultima opción
Una vez que se ha evaluado la expresión se comprueba si coincide con alguno de los valores de case. En caso de que se cumpla, ejecuta el codigo que esta dentro de ese apartado hasta encontrar una sentencia break. Si no utilizamos la sentencia break
seguira intentando buscar opciones disponibles en los case y nos puede ocasionar problemas en nuestro programa.
switch(expression) {
case x:
// code block
break;
case y:
// code block
break;
default:
// code block
}
El bucle while realiza la operación del código hasta que la condición sea verdadera.
En el siguiente flujograma podemos ver como se ejecutan las accciones.
Sintaxis:
while (condicion){
bloque-de-sentencia;
}
La diferencia entre el while es que en este caso, primero se realizar el bloque de sentencias que esta dentro del do y luego comprueba la condición.
Sintaxis:
inicializacion;
do{
bloque-de-sentencias;
} while (condición);
Ejemplo do while:
int i = 0;
do {
System.out.println(i);
i++;
}
while (i < 5);
Es una estructura repetitiva en la cual sabemos el numero de repeticiones.
for(iniciaicion;condicion;incremento)
{
accion/es;
}
Ejemplo:
for (int i = 0; i < 5; i++) {
System.out.println("Valor de i="+i);
}
Nos sirve para recorrer un bucle segun los elementos que contenga una array.
for (type variable : arrayname) {
// code block to be executed
}
Ejemplo:
String[] coche = {"Opel", "Renault", "Toyota", "Citroen"};
for (String i : coche) {
System.out.println(i);
}
Ejercicio 1
Realizar un programa que imprima los 20 primeros numeros pares incluyendo el 20.
for (int i = 0; i <= 20; i = i + 2) {
System.out.println(i);
}
Ejercicio 2
Calcula la suma de los numeros pares entre 0 y 20.
//Calcula la suma de los numeros pares entre 0 y 20.
int num = 20, i, total = 0;
for(i = 0; i <= num; i+=2){
total = total + i;
}
System.out.println("La suma de los 20 numeros pares es: "+total);
PSEUDOCODIGO
desde i=0 hasta i<=20 incremento 2
suma = suma +
fin-desde
imprimir suma
Ejercicio 3
Imprimir los numeros impares del 15 al 1
for (int i = 15; i > 0; i = i -2 ) {
System.out.println("El número impar es: "+i);
}
OPERADOR | DESCRIPCIÓN |
---|---|
+ | Suma |
- | Resta |
* | Multiplicación |
/ | division entera (4/3 devuelve 1) |
% | Resto de una división entre enteros |
Destacar que el operador % es de uso exclusivo entre enteros. 7%3 devuelve 1 ya que el resto de dividir 7 entre 3 es 1. Al valor obtenido lo denominamos módulo (en otros lenguajes en vez del símbolo % se usa la palabra clave mod) y a este operador a veces se le denomina "operador módulo".
Operador | Descripción |
---|---|
== | Es igual |
!= | Es distinto |
<, <=, >, >= | Menor, menor o igual, mayor, mayor o igual |
&& | operador and (y) |
` | |
! | operador not(no) |
Ejercicio 4
Imprimir los pares entre 20 utilizando el operador %
//define limit
int limit = 20;
for(int i=1; i <= limit; i++){
if(i % 2 == 0){
System.out.print(i + " ");
}
}
Ejercicio 5
Imprimir la tabla de multiplicar del 9 0 x 9 = 0 1 x 9 = 9
int number = 9;
for (int i=1; i<=10; i++){
System.out.println(number + " x " + i + " = " + number*i);
}
Ejercicio 6
Realizar un Pseudocodigo y un programa JAVA basado en ese pseudocódigo para calcular si el número 2399 es o no primo, y en caso de que no lo sea decir cuantos (no cuales) son sus divisores.
Nota: Un número primo es aquel que solamente es divisible por sí mismo y por unidad.
Ejemplo: El 7 es un número primo.
El número 8 no es primo y tiene 2 divisiores (el 2 y el 4)
INICIO
definir numero = 2399
definir contador = 0
PARA numero si (si el cociente es igual a 1 y )
{
Imprimo el numero primo
}si no
{
}
FIN
public class primos
{
public static void main(String[] args)
{
int numero = 2037;
int contador = 0;
for(int i = numero; i > 0; i--){
if(numero % i == 0 ){
contador++;
System.out.println("Los números divisores son: "+ i);
}
}
System.out.println("El número "+ numero + " tiene "+ contador +" divisores");
if(contador==2){
System.out.println("El número es primo");
}else{
System.out.println("El número NO es primo");
}
}
}
Ejercicio 7
Realizar un Pseudocodigo y un programa JAVA basado en ese pseudocódigo para calcular el factorial del número 9.
Nota: El factorial del 5 e 5 x 4 x 3 x 2 x 1 es decir 120.
public class factorial {
public static void main(String[] args)
{
double factorial = 1;
// El número elegido para el factorial es el 5
double numero=5;
while (numero!=0)
{
factorial=factorial*numero;
numero--;
}
System.out.println("El factorial es: "+ factorial)
}
Ejercicio 8
Realizar un programa de JAVA que dibuje lo siguiente
*
*
*
*
*
public class asterisco {
public static void main(String[] args)
{
String texto="";
for (int i = 0;i<5;i++)
{
System.out.println(texto + "*");
texto = texto + " ";
}
}
}