Java (resumen express)

Programa básico

/* Fichero Main.java */


package helloworld; // Las clases del mismo paquete se pueden utilizar directamente. 


public class Main {

    public static void main(String[] args) {

        Preguntas p = new Preguntas(); // Crea una objeto de la clase Preguntas

        

        System.out.println(«Así que ves  \»» + p.preguntar() + «\»»); // Ejecuta el método de la clase.

   }

}

/* Fichero Preguntas.java */

package helloworld;

import java.util.Scanner; // Para importar librerías

public class Preguntas {

    static final int MAX_COCHES = 3; // Crea una constante

 

    public int preguntar() {

        double velocidad = 110.5;

        // El (int) hace casting del número, lo adapta al tipo int antes de meterlo en la 

        // la variable de tipo int, sino daría error por intentar meter un double en un int. 

        int numObjetos = (int) (Math.random() * MAX_COCHES); 

        String objeto = «coches»;

        System.out.printf(«Veo %d %s por la carretera a %f Km/h \n«, numObjetos, objeto, velocidad);

 

        return cuantosVesTu();   

    }

 

    private int cuantosVesTu(){

        Scanner teclado = new Scanner(System.in);

        System.out.println(«Cuantos ves tú?»);

        int respuesta = teclado.nextInt();

 

        return respuesta;

    } 

}

public class Robot {

    // Accesible desde todos lados

    public int nivel1 = 100;

    // Accesible desde la clase, una subclase o desde el mismo paquete

    protected int nivel 2 = 200;

    // Accesible sólo desde clases del mismo paquete

    int nivel3 = 300;

    // Accesible solo dentro de la clase

    private int nivel4 = 400;

 

    // Constante

    final int CONSTANTE = 10;

    // Variables y metodos estática se puede acceder sin crear una instancia del objeto

    static valor1 = 10;

 

    // Constructor de la clase

    public Robot(){

    }

 

    public int habla() {

    }

 

    // Sobrecarga del método. Los constructores tambien se pueden sobrecargar.

 

    public int habla(String s) {

    }

 

    // Abstract, Obliga a q las clases hijas implementen este método

    public abstract void anda(){

    }

 

}

 

public class RobotGrande Extend Robot {

    public int habla() {

    }

 

    // Sobrecarga del metodo. Los constructores tambien se pueden sobrecargar.

 

    public int habla(String s) {

    }

 

    public void anda(){

        // cosas

    }

 

}

 

Estructuras

if (i < 10){

      // cosas

}

if (i < 10){

    // cosas

}else if(i > 50){

    // otras cosas

}else{

    // resto

}

 

switch (i){

    case 1:

          // cosas 1

          break;

    case 2:

          // cosas 2

          break;

 
    default
          // en cualquier otro caso
          break;

}

// A partir de Java 7, se pueden utilizar cadenas 

// en el swicth

 
 

for (int i = 1; i < 10; i++){

      // cosas

}

int i = 1;

while(i < 10){

     // cosas

     i++;

do{

   //cosas

}while(i>10);

// For each

String[] lista = {«A», «E», «I»};

for (String x:lista){

    System.out.println(x);

}

try{

     // operaciones

} catch (ExceptionMasConcreta enc){

    // En caso de error concreto

    System.out.println(e);

} catch (Exception e){

    // En caso de error generico

    System.out.println(e);

}finally{

    // Se ejecuta cuando siempre haya error o no

    // No tiene acceso a objeto error

    // Ver https://programming.guide/java/try-finally.html

}

Tipos primitivos

char Caracter, 16 bits

boolean Verdadero/Falso, 16 bits

byte -128 a 127, 8 bits

short -32.768 a 32.767, 16 bits

int -2 millones a 2 millones, 32 bits

long un montón, 64 bits

float núm. grande con decimales, 32 bits

double número enorme con decimales, 64 bits

Operadores

+, -, *, /, % (Módulo de la división)

+ También sirve para concatenar Strings

++ Incrementar uno

Decrementar uno

+= Incrementa un número

-= Decrementar un número

>, <, <=, >=, ==, != Operadores relaccionales

Arrays

tipoDato[] nombre = new tipoDato[numElemntos];


// Ejemplo

int[] lista = new int[5]; 

int[][] posicion = new int[5][5];  // Array de 2 dimensiones

lista[0] = 1;

posicion[0][0] = 3;

System.out.println(lista[0]);  // imprime 1

System.out.println(posicion[0][0]);  // imprime 3

System.out.println(lista.length);  // imprime 5

 //Clase estandar, se puede instanciar

public class MiClase(){

    public MiClase(){

    }

 

    public void miMetodo(){

    }

 

}

// Interface

// Sirve para definir la estructura de una clase

// NO se puede instanciar

public interface MiInterface(){

    public void miMetodo();

}

// Clase Abstracta

// Sirve para crear clases hijas

// NO se puede instanciar

public interface MiInterface(){

    public void miMetodo();

 

    // Debe haber al menos un metodo sin implementar

 

}

Clases estándar

String

Scanner

ArrayList

Accesibilidad


Misma clase Mismo paquete Subclase Otro paquete
private No No No
default No No
protected Sí/No No
public

Abreviaturas

psvm >> public static void main(String[] args) {

sout >> System.out.println(«»);