Clique sobre os tópicos listados abaixo para navegar até o conteúdo desejado.

  1. Básico sobre linha de comando e args
  2. Calculadora em linha de comando

A linguagem Java nos permite manipular os dados de entrada informados por um usuário de nossos programas através de linhas de comando. Por exemplo, um programa para realizar operações aritméticas básicas, pode receber argumentos como abaixo:

Por exemplo, um programa para realizar operações aritméticas básicas, pode receber argumentos como na sintaxe abaixo:

Sintaxe
java -jar nome_programa.jar 1 2 +
Onde:
nome_programa : nome do arquivo do "executável" .jar após a compilação
1, 2 + : qualquer argumento passado pela linha de comando separados por espaço.

A passagem desses argumentos é feita por intermédio do parâmetro args na função principal main.

Sintaxe
public static void main(String[] args) 
Onde:
args : array/vetor de string contendo argumentos da linha de comando.

Como pode ter sido observado, Java, diferente de C/C++, não utiliza argc para armazenar a quantidade argumentos, essa quantidade deve ser recuperado utilizando a propriedade length dp array args.

Sintaxe
args.length
Exemplo 1
public class Main
{
	public static void main(String[] args) {

        for (int i=0 ; i < args.length ; i ++)
            System.out.println("indice:" + i " valor: "+ args[i]);
	}
}
Entrada
main.jar 1 2 +
Saída
indice:0 valor: 1
indice:1 valor: 2
indice:2 valor: +

O nome do parâmetro args é utilizados por padrão, mas pode ser alterado:

Exemplo 2
public class Main
{
	public static void main(String[] argumentos) {

        for (int i=0 ; i < argumentos.length ; i ++)
            System.out.println("indice:" + i + " valor: " + argumentos[i]);
	}
}
Entrada
java -jar main.jar 1 2 +
Saída
indice:0 valor: 1
indice:1 valor: 2
indice:2 valor: +

Os comandos de Java Básico: Comandos de Decisão, Java Básico: Comandos de Repetição e outros devem ser utilizados para trabalhar com linha de comando de acordo com a necessidade do programa.

As conversões vistas em Java Básico: Cast e Java: Conversão de Dados e os métodos da classe Java: Strings também devem utilizadas para lidar com os argumentos da linha de comando.

Para exemplificar melhor o uso de linha de comando em Java, vamos criar uma simples calculadora aritmética de inteiros. Vamos utilizar o que mencionado acima e adaptá-lo para utilização de argumentos passados pela linha de comando.

A sintaxe será bem simples, sendo dois argumentos representando dois números que queremos realizar uma operação e um último argumento que vai informar qual a operação aritmética desejada.

Sintaxe linha de comando
java -jar main.jar operando1 operando2 operacao
Exemplos
java main 4 2 +
java main 4 2 x
java main 4 2 /
java main 4 2 -

No exemplo a seguir, vamos utilizar a classe java.lang.Integer que fornece o método parseInt que é utilizada para converter string para número inteiro.

Exemplo 3
import java.lang.Integer;

public class Main
{
  public static void main (String[]args)
  {

    int operador1, 
        operador2;
    String operacao;

    if (args.length >= 3)
    {

    	operador1 = Integer.parseInt (args[0]);
    	operador2 = Integer.parseInt (args[1]);
    	operacao = args[2];
    
        System.out.println("Operando 1: " + args[0]);
        System.out.println("Operando 2: " + args[1]);
        System.out.println("Operação: " + args[2]);
        
        System.out.println("\nResultado:");
    	switch (operacao)
    	{
    	    case "+": System.out.println (operador1 + operador2);   break;
    	    case "-":System.out.println (operador1 - operador2);    break;
    	    case "x":System.out.println (operador1 * operador2);    break;
    	    case "/":System.out.println (operador1 / operador2);    break;
    	    default:System.out.println ("Operação não suportada."); break;
    	}
    }
  }
}
Entrada
java -jar main.jar 4 2 + 
Saída
Operando 1: 4
Operando 2: 2
Operação: x

Resultado:
8

É válido mencionar que o tratamento de erro usando try-catch e exceções vistos em Java > Gerenciando Erros

  1. 23/07/2025 - revisão 3 - Correções pontuais, target de links; ajuste em sintaxes
  2. 23/09/2024 - revisão 2 - ajustes gramaticais pontuais
  3. 06/02/2024 - revisão 1 - correção em navegação e erros gramaticais
  4. 04/09/2023 - versão inicial