Estruturas de Dados 2019/2020 (CC1007) - DCC/FCUP

Voltar a Lista de Codigo de Exemplo


Tipos e Variaveis

(TestBasicTypes.java)

// -----------------------------------------------------------
// Estruturas de Dados 2019/2020 (CC1007) - DCC/FCUP
// http://www.dcc.fc.up.pt/~pribeiro/aulas/edados1920/
// -----------------------------------------------------------
// Atribuicao de varios tipo de variaveis
// Ultima alteracao: 04/02/2019
// -----------------------------------------------------------

public class TestBasicTypes {
   public static void main(String[] args) {
      boolean flag = true;
      char      ch = 'A';
      byte       b = 12;
      short      s = 24;
      int        i = 257;
      long       l = 2147483648L;  // sem a letra e interpretado como int
      float      f = 3.1415f;      // sem a letra e interpretado como double  
      double     d = 2.1828;
      System.out.println("flag = " + flag); 
      System.out.println("ch = "   + ch); 
      System.out.println("b = "    + b); 
      System.out.println("s = "    + s); 
      System.out.println("i = "    + i); 
      System.out.println("l = "    + l); 
      System.out.println("f = "    + f); 
      System.out.println("d = "    + d); 
   }
}

(TestConversion.java)

// -----------------------------------------------------------
// Estruturas de Dados 2019/2020 (CC1007) - DCC/FCUP
// http://www.dcc.fc.up.pt/~pribeiro/aulas/edados1920/
// -----------------------------------------------------------
// Conversao entre varios tipos de variaveis
// Ultima alteracao: 04/02/2019
// -----------------------------------------------------------

class TestConversion {
   public static void main(String[] args) {
      double d1 = 3.2;
      double d2 = 3.999999;
      
      // Casting explicito      
      int    i1 = (int)d1;    // i1 fica com o valor de 3
      int    i2 = (int)d2;    // i2 fica com o valor de 3
      double d3 = (double)i2; // d3 fica com o valor de 3.0
      
      // Casting implicito
      int    i3 = 42;
      double d4 = i3;         // d4 fica com o valor de 42.0
      //     int    i4 = d4;         // erro de compilacao: "possible loss of precision

      char  ch1 = 'A';
      int    i5 = ch1;        // i5 fica com o valor de 65 (codigo ascii de 'A')
      char  ch2 = 66;         // ch2 fica com o valor de 'B' (codigo ASCII 66)

      //      boolean b1 = i1;        // erro de compilacao: "incompatible types"           
   }
}

(TestLimits.java)

// -----------------------------------------------------------
// Estruturas de Dados 2019/2020 (CC1007) - DCC/FCUP
// http://www.dcc.fc.up.pt/~pribeiro/aulas/edados1920/
// -----------------------------------------------------------
// Limites dos varios tipos de variaveis
// Ultima alteracao: 04/02/2019
// -----------------------------------------------------------

public class TestLimits {
   public static void main(String args[]) {
      // inteiros
      byte largestByte = Byte.MAX_VALUE;
      short largestShort = Short.MAX_VALUE;
      int largestInteger = Integer.MAX_VALUE;
      long largestLong = Long.MAX_VALUE;

      // virgula flutuante
      float largestFloat = Float.MAX_VALUE;
      double largestDouble = Double.MAX_VALUE;

      // mostrar limites
      System.out.println("Largest byte value: " + largestByte);
      System.out.println("Largest short value: " + largestShort);
      System.out.println("Largest integer value: " + largestInteger);
      System.out.println("Largest long value: " + largestLong);

      System.out.println("Largest float value: " + largestFloat);
      System.out.println("Largest double value: " + largestDouble);
    }
}