Existem dois tipos diferentes de números em Java:
-6, 0, 1, 25, 976 e -500000.-20.4, 0.1, 2.72, 16.984025 e 1024.0.Os dois tipos numéricos mais comuns em Java são int e double.
Um int é um inteiro de 32 bits e um double é um número de vírgula flutuante de 64 bits.
A aritmética faz-se com os operadores aritméticos habituais.
Os números podem ser comparados com os operadores de comparação numérica habituais (por exemplo, 5 > 4 e 4 <= 5) e com os operadores de igualdade (==) e de desigualdade (!=).
O Java tem dois tipos de conversões numéricas:
Como um int tem menos precisão do que um double, converter de um int para um double é seguro e trata-se, por isso, de uma conversão implícita.
No entanto, converter de um double para um int pode significar perder dados, por isso exige uma conversão explícita.
A instrução de controlo de fluxo mais básica do Java é a instrução if-then.
Esta instrução serve para executar uma secção de código apenas se uma determinada condição for true.
Uma instrução if-then define-se com a cláusula if:
class Car {
void drive() {
// the "if" clause: the car needs to have fuel left to drive
if (fuel > 0) {
// the "then" clause: the car drives, consuming fuel
fuel--;
}
}
}
No exemplo acima, se o carro ficar sem combustível, chamar o método Car.drive não faz nada.
A instrução if-then-else oferece um caminho de execução alternativo para quando a condição da cláusula if é avaliada como false.
Este caminho de execução alternativo segue-se a uma cláusula if e define-se com a cláusula else:
class Car {
void drive() {
if (fuel > 0) {
fuel--;
} else {
stop();
}
}
}
No exemplo acima, se o carro ficar sem combustível, chamar o método Car.drive chama outro método para parar o carro.
A instrução if-then-else também suporta várias condições através da cláusula else if:
class Car {
void drive() {
if (fuel > 5) {
fuel--;
} else if (fuel > 0) {
turnOnFuelLight();
fuel--;
} else {
stop();
}
}
}
No exemplo acima, conduzir o carro quando o combustível é inferior ou igual a 5 faz o carro andar, mas acende a luz do combustível.
Quando o combustível chega a 0, o carro deixa de andar.
Neste exercício vais escrever código para analisar a produção de uma linha de montagem numa fábrica de automóveis. A velocidade da linha de montagem pode variar entre 0 (desligada) e 10 (máxima).
À sua velocidade mais baixa (1), são produzidos 221 automóveis por hora. A produção aumenta linearmente com a velocidade. Assim, com a velocidade definida como 4, deve produzir 4 * 221 = 884 automóveis por hora. No entanto, velocidades mais altas aumentam a probabilidade de se produzirem automóveis com defeito, que depois têm de ser descartados. A tabela seguinte mostra como a velocidade influencia a taxa de sucesso:
1 a 4: taxa de sucesso de 100%.5 a 8: taxa de sucesso de 90%.9: taxa de sucesso de 80%.10: taxa de sucesso de 77%.Tens duas tarefas.
Implementa o método CarsAssemble.productionRatePerHour() para calcular a taxa de produção por hora da linha de montagem, tendo em conta a velocidade atual da linha de montagem e a taxa de sucesso:
CarsAssemble.productionRatePerHour(6)
// => 1193.4
Repara que o valor devolvido é um double.
Implementa o método CarsAssemble.workingItemsPerMinute() para calcular quantos automóveis funcionais são produzidos por minuto:
CarsAssemble.workingItemsPerMinute(6)
// => 19
Repara que o valor devolvido é um int.
Inscreve-te no Exercism para aprenderes e dominares Java com 26 conceitos158 exercícios, e mentoria humana real, tudo grátis.