Certificação 1Z0-829 – Dia 3

Tempo de leitura: 3 min

Escrito por Michel Adriano Medeiros
em 05/04/2023

Passando Parâmetros

Execute o programa MyClass com os argumentos Michel Adriano.

javac MyClass.java

java MyClass Michel Adriano

A saída será.

Michel

Adriano

O programa identificou as duas palavras como argumentos. Espaços são utilizados para separarem os argumentos. Se quiser colocar espaços dentro do argumento, utilize as aspas.

java MyClass “Michel Adriano” Medeiros

Se chamar um argumento que não exista a seguinte mensagem irá aparecer.

Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: Index 3 out of bounds for length 3 at MyClass.main(MyClass.java:4)

Se não quiser mais executar o comando javac e depois java, pode-se fazer o seguinte:

java MyClass.java Michel Adriano

Entendendo Declarações de Pacotes e Imports

Java vem com milhares de classes nativa e outras que desenvolvedores constroem. Com essa quantidade de classes o Java precisa de uma maneira de organizá-las. É como colocar papeis em gavetas. Só que no Java chamamos de pacotes.

Em uma gaveta não colocamos no nome da gaveta o papel específico que você está precisando. Costuma-se utilizar pastas e as pastas são organizadas em grupos que contêm os papeis. No Java é a mesma lógica. Precisamos saber o pacote que estão os arquivos. Vamos tentar compilar o código a seguir.

Vai gerar um erro parecido com esse:

/MyClass.java:3: error: cannot find symbol
Random r = new Random();
^
symbol: class Random
location: class MyClass
/MyClass.java:3: error: cannot find symbol
Random r = new Random();
^
symbol: class Random
location: class MyClass
2 errors

Veja que o erro mostra que não foi encontrado a classe Random, portanto temos que fazer a importação e executar novamente o programa.

Agora sim funcionará, e aparecerá um número entre 0 e 9.

Por que não inclui o número 10?

Porque é um array, e um array sempre começa a contagem do zero.

Pacotes

Vimos que o Java agrupa as classes por pacotes. O import diz ao compilador onde encontrar o pacote para trazer a classe que precisamos. É como mandar um e-mail para uma pessoa, devemos saber o seu nome, que é tudo que vem antes do arroba e depois o domínio, que seria o pacote.

É muito comum em projetos web, encontrar pacotes como br.com.cursojavanow, nesse exemplo digamos que o site cursojavanow está em Java, e o projeto está dentro desse pacote.

Wildcards

Dá para importar todas as classes de um pacote.

O que é chamado de wildcard é o asterístico (*), esse tipo de import não vai trazer subpacotes, somente as classes que estão dentro do pacote específico.

Se eu quiser alguma classe que está dentro do pacote concurrent, mas esse pacote está dentro do pacote util, não adianta apenas fazer o import java.util.*. Precisamos fazer os dois imports.

import java.util.*;

import java.util.concurrent.*;

Mas importar arquivos que nem vou usar vai deixar o sistema mais lento?

Não, porque na execução do sistema o Java somente irá importar os pacotes e classes necessários para executar o programa.

LocalDate, LocalTime, ZonedDateTime, ZoneId e Duration

119 – Classes Utilitárias – LocalDate
120 – Classes Utilitárias – LocalTime
123 – Classes Utilitárias – Duration
128 – Classes Utilitárias – ZonedDateTime, ZoneId, OffsetDateTime

Welcome to your Certificação Java 1Z0-829 Dia 3

Nos Estados Unidos no dia 13 de Março de 2022 o relógio foi movido de 1 a.m para 2 a.m por causa do horário de verão. Qual será a saída do código?

var localDate = LocalDate.of(2022, 3, 13);
var localTime = LocalTime.of(1, 0);
var zone = ZoneId.of("America/New_York");
var z = ZonedDateTime.of(localDate, localTime, zone);

var offset = z.getOffset();
var duration = Duration.ofHours(3);
var later = z.plus(duration);

System.out.println(later.getHour() + " "
+ offset.equals(later.getOffset()));

Qual será o valor de tip, depois de executar o código?

int meal = 5;
int tip = 2;
var total = meal + (meal>6 ? tip++ : tip--);

Você vai gostar também:

Para enviar seu comentário, preencha os campos abaixo:

Deixe um comentário


*


*


Seja o primeiro a comentar!

Damos valor à sua privacidade

Nós e os nossos parceiros armazenamos ou acedemos a informações dos dispositivos, tais como cookies, e processamos dados pessoais, tais como identificadores exclusivos e informações padrão enviadas pelos dispositivos, para as finalidades descritas abaixo. Poderá clicar para consentir o processamento por nossa parte e pela parte dos nossos parceiros para tais finalidades. Em alternativa, poderá clicar para recusar o consentimento, ou aceder a informações mais pormenorizadas e alterar as suas preferências antes de dar consentimento. As suas preferências serão aplicadas apenas a este website.

Cookies estritamente necessários

Estes cookies são necessários para que o website funcione e não podem ser desligados nos nossos sistemas. Normalmente, eles só são configurados em resposta a ações levadas a cabo por si e que correspondem a uma solicitação de serviços, tais como definir as suas preferências de privacidade, iniciar sessão ou preencher formulários. Pode configurar o seu navegador para bloquear ou alertá-lo(a) sobre esses cookies, mas algumas partes do website não funcionarão. Estes cookies não armazenam qualquer informação pessoal identificável.

Cookies de desempenho

Estes cookies permitem-nos contar visitas e fontes de tráfego, para que possamos medir e melhorar o desempenho do nosso website. Eles ajudam-nos a saber quais são as páginas mais e menos populares e a ver como os visitantes se movimentam pelo website. Todas as informações recolhidas por estes cookies são agregadas e, por conseguinte, anónimas. Se não permitir estes cookies, não saberemos quando visitou o nosso site.

Cookies de funcionalidade

Estes cookies permitem que o site forneça uma funcionalidade e personalização melhoradas. Podem ser estabelecidos por nós ou por fornecedores externos cujos serviços adicionámos às nossas páginas. Se não permitir estes cookies algumas destas funcionalidades, ou mesmo todas, podem não atuar corretamente.

Cookies de publicidade

Estes cookies podem ser estabelecidos através do nosso site pelos nossos parceiros de publicidade. Podem ser usados por essas empresas para construir um perfil sobre os seus interesses e mostrar-lhe anúncios relevantes em outros websites. Eles não armazenam diretamente informações pessoais, mas são baseados na identificação exclusiva do seu navegador e dispositivo de internet. Se não permitir estes cookies, terá menos publicidade direcionada.

Visite as nossas páginas de Políticas de privacidade e Termos e condições.

Importante: Este site faz uso de cookies que podem conter informações de rastreamento sobre os visitantes.
Criado por WP RGPD Pro