Terminal e Argumentos

Nem sempre executamos nosso programa Java pela IDE, já pensou nossos clientes tendo que instalar o Eclipse ou VsCode para rodar o sistema em sua empresa ?

Com a JVM devidamente configurada, nós podemos criar um executável do nosso programa e disponibilizar o instalador para qualquer sistema operacional.

No nosso caso iremos aprender como executar um programa Java via terminal como MS - DOS ou terminal do VsCode.

Vamos criar uma classe chamada MinhaClasse.java com o código abaixo:

public class MinhaClasse {
    public static void main(String[] args) {
        System.out.println("Oi, fui executado pelo Terminal");
    }
}

Observe que nosso projeto Java criado por um IDE, ele terá uma pasta chamada bin. É nesta pasta que ficarão os arquivos .class, o nosso bytecode.

Mesmo usando uma IDE, nós sempre precisaremos identificar aonde se encontram as classes do nosso projeto, no meu caso está em: C:\estudos\dio-trilha-java-basico\java-terminal.

Terminal

Vamos ilustrar como executar uma classe, depois de compilada, sem precisar usar a IDE.

  1. Abra o MS-DOS ou Power Shell

  2. Localize o diretório do seu projeto: cd C:\estudos\dio-trilha-java-basico\java-terminal

  3. Acesse a pasta **** bin: ** cd bin**

  4. Agora digite o comando:**java MinhaClasse ** (nome da sua classe sem a extensão .class)

Argumentos

Quando executamos uma classe que contenha o método main, o mesmo permite que passemos um array [] de argumentos do tipo String. Logo podemos após a definição da classe a ser executada informar estes parâmetros, exemplo:

Exemplo

Passando valores aos argumentos pelo VsCode.

Executando o programa agora no terminal

Scanner

Nos exemplos anteriores percebemos que podemos receber dados digitados pelo usuário do nosso sistema, porém tudo precisa estar em uma linha e também é necessário informar os valores nas posições correspondentes. Esta abordagem pode deixar margens de execução com erro do nosso programa. Para isso, com a finalidade de deixar as nossas entradas de dados mais seguras agora vamos receber estes dados via Scanner.

A classe Scanner permite que o usuário tenha uma interação mais assertiva com o nosso programa, veja como vamos mudar o nosso programa AboutMe para deixar mais intuitivo aos usuários.

Last updated