Programación

1º DAM/DAW - Curso 2023-2024

User Tools

Site Tools


apuntes:introduccion

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
apuntes:introduccion [2023/06/04 11:04] – [Tipos de variables] Santiago Faciapuntes:introduccion [2023/10/22 12:28] (current) – [Sentencias prácticas] Santiago Faci
Line 228: Line 228:
  
 Con todo esto, por norma general, siempre podremos convertir el valor de una variable a otra variable de distinto tipo, siempre y cuando tenga sentido representar dicho valor como otro tipo de dato. Por ejemplo, el dígito 1 puede ser interpretado como el número ''1''  pero también se podría interpretar como el caracter '''1'''  y como la cadena de texto ''"1"'' . Con todo esto, por norma general, siempre podremos convertir el valor de una variable a otra variable de distinto tipo, siempre y cuando tenga sentido representar dicho valor como otro tipo de dato. Por ejemplo, el dígito 1 puede ser interpretado como el número ''1''  pero también se podría interpretar como el caracter '''1'''  y como la cadena de texto ''"1"'' .
 +
 +=== Conversión implícita ===
  
 Algunas conversiones resulta bastante triviales y las hará Java por nosotros. Es lo que se conoce como una conversión ímplicita, ya que no requiere ninguna codificación extra por parte del programador y no suponga ninguna pérdida en el valor. Veamos un ejemplo donde un valor entero se convierte de forma implícita a un tipo entero: Algunas conversiones resulta bastante triviales y las hará Java por nosotros. Es lo que se conoce como una conversión ímplicita, ya que no requiere ninguna codificación extra por parte del programador y no suponga ninguna pérdida en el valor. Veamos un ejemplo donde un valor entero se convierte de forma implícita a un tipo entero:
Line 244: Line 246:
 System.out.println(otroNumero);      System.out.println(otroNumero);     
 </code> </code>
 +
 +=== Conversión explícita ===
  
 Para poder llevar a cabo por el momento una conversión explícita de tipos sencilla, podemos interponer el tipo de dato al que queramos convertir el valor (encerrado entre paréntesis). Aunque hay que tener en cuenta que esto sólo se podrá hacer entre tipos de datos compatibles (''String''  no lo es con ninguno de los tipos numéricos). Por ejemplo: Para poder llevar a cabo por el momento una conversión explícita de tipos sencilla, podemos interponer el tipo de dato al que queramos convertir el valor (encerrado entre paréntesis). Aunque hay que tener en cuenta que esto sólo se podrá hacer entre tipos de datos compatibles (''String''  no lo es con ninguno de los tipos numéricos). Por ejemplo:
Line 298: Line 302:
 public static final float IVA = 0.21; public static final float IVA = 0.21;
 public static final int NUMERO_PAGINAS = 10; public static final int NUMERO_PAGINAS = 10;
 +</code>
 +
 +===== Enumeraciones =====
 +
 +  * Permiten definir nuevos tipos de datos con rangos de valores muy limitados
 +  * Sustituyen a las constantes para casos en los que éstas estaban relacionadas entre sí (distintos valores de un mismo rango)
 +  * Al final no dejan de ser una serie de constantes pero agrupadas entre sí y con cierto contexto añadido
 +  * Una vez definida una enumeración, es posible definir variables de ese tipo cuyos posibles valores serán aquellos que se hayan definido en la enumeración
 +
 +<code java>
 +public enum Direccion {
 +  ARRIBA, ABAJO, DERECHA, IZQUIERDA
 +}
 +. . .
 +private Direccion direccion;
 +direccion = Direccion.ABAJO;
 +</code>
 +
 +=== Definir tipos enumerados ===
 +
 +<code java>
 +public enum Estacion { 
 +  PRIMAVERA (10, 20.5f), 
 +  VERANO (23, 40), 
 +  OTONO (5.3f, 15), 
 +  INVIERNO (-2.1f, 10);
 +
 +  private final float temperaturaMinima; 
 +  private final float temperaturaMaxima;
 +
 +  Estacion(float minima, float maxima) { 
 +    temperaturaMinima = minima;
 +    temperaturaMaxima = maxima;
 +  }
 +  
 +  public float temperaturaMinima() {
 +    return temperaturaMinima; 
 +  } 
 +  
 +  public float temperaturaMaxima() { 
 +    return temperaturaMaxima; 
 +  } 
 +  
 +  public float diferenciaTemperatura() {
 +    return temperaturaMaxima - temperaturaMinima;
 +  }
 +}
 </code> </code>
  
Line 420: Line 471:
 </code> </code>
  
-===== Sentencias básicas =====+===== Code snippets =====
  
 ==== Mostrar un mensaje en pantalla ==== ==== Mostrar un mensaje en pantalla ====
Line 450: Line 501:
 Scanner teclado = new Scanner(System.in);  Scanner teclado = new Scanner(System.in); 
 String entrada = teclado.nextLine(); String entrada = teclado.nextLine();
 +</code>
 +
 +==== Reproducir un fichero de audio ====
 +
 +<code java>
 +try {
 +  File f = new File("sample.wav");
 +  AudioInputStream audioIn = AudioSystem.getAudioInputStream(f.toURI().toURL());
 +  Clip clip = AudioSystem.getClip();
 +  clip.open(audioIn);
 +  clip.start();
 +} catch (IOException | UnsupportedAudioFileException | LineUnavailableException ioe) {
 +  ioe.printStackTrace();
 +}
 </code> </code>
  
Line 455: Line 520:
  
 ====== Ejercicios ====== ====== Ejercicios ======
 +
 +{{ ejercicio.png}}
  
   - Haz un programa que solicite dos números y diga si son o no iguales   - Haz un programa que solicite dos números y diga si son o no iguales
apuntes/introduccion.1685876695.txt.gz · Last modified: 2023/06/04 11:04 by Santiago Faci