JShell é um shell de linha de comando para executar código Java. Em um artigo anterior, “Usando JShell no Java 9 no NetBeans 9.0, Parte 1”, discutimos como iniciar o JShell no NetBeans 9. Testamos alguns trechos de código para importar classes e criar e usar variáveis explicitamente. Neste artigo de continuação, discutiremos a criação e o uso de variáveis implicitamente, a execução de comparações de String e a execução de instruções Java. Este artigo tem as seguintes seções:
- Declarando e usando variáveis (continuação)
- Comparação de strings
- Usando declarações
- Redefinindo o Java Shell
- Conclusão
Declarando e usando variáveis (continuação)
No primeiro de dois artigos, discutimos a declaração e o uso de variáveis explicitamente. A seguir, discutiremos a declaração e o uso de variáveis implicitamente.
Criando uma variável implicitamente
Criar uma variável implicitamente e armazená-la em uma sessão do JShell é um recurso exclusivo do JShell porque um arquivo de código-fonte Java não suporta a especificação de expressões que são armazenadas implicitamente como variáveis. Como exemplo, adicione o trecho de código a seguir, que é apenas o número 1.
1
Uma variável é criada implicitamente, conforme mostrado na Figura 1. Por padrão, uma variável criada implicitamente tem o nome $x , em que x é o identificador da variável. Adicionando 1 cria a variável $1 , conforme mostrado na Figura 1, mas o identificador de variável é arbitrário até certo ponto porque a primeira escolha já pode estar em uso por outra variável.
Figura 1: Criando uma variável implicitamente
A nova variável $1 pode ser invocado no JShell para gerar seu valor, conforme mostrado na Figura 2.
Figura 2: Invocando Variável Implícita
Qualquer expressão que produza um valor é armazenada em uma variável. Como exemplo, adicionar dois números cria uma variável implicitamente.
[5]-> 1+0 | $4 ==> 1
A variável implícita pode ser invocada no JShell.
[6]-> $4 | $4 ==> 1
A variável implícita pode ser usada em outro trecho de código. Como exemplo, adicione as duas variáveis implícitas $1 e $4 , e uma terceira variável implícita é criada.
[7]-> $1+$4 | $8 ==> 2
A saída dos comandos anteriores é mostrada na Figura 3.
Figura 3: Usando Variáveis Implícitas
Invocando constantes de classe como Math.PI também cria uma variável implícita, conforme mostrado na Figura 4.
Figura 4: Criando uma variável implícita invocando uma constante de classe
Uma String literal também cria uma variável implícita (veja a Figura 5). A variável implícita criada pode ser usada em outro trecho de código; como exemplo, em um System.out.println demonstração. A variável implícita também pode ser invocada diretamente.
Figura 5: Criando uma variável implícita a partir de um literal de string
As conversões primitivas de restrição e ampliação são executadas, se necessário, no JShell. Como exemplo, adicionar um int com um número decimal realiza uma conversão de ampliação e cria uma variável implícita com um número decimal, conforme mostrado na Figura 6.
Figura 6: Executando Conversão Primitiva Ampliada
Sequência a concatenação também cria variáveis implícitas. Como exemplo, concatene dois String literais.
"Hello"+" "+"JShell"
Uma variável implícita é criada. Qualquer uma das String métodos de classe, como length() e substring(int,int) , pode ser invocado na variável criada implicitamente, conforme mostrado na Figura 7.
Figura 7: Invocando métodos em uma variável implícita
Variáveis de qualquer tipo podem ser criadas no JShell. Como exemplo, crie variáveis do tipo char , flutuar , e duplo além do int tipo.
[1]-> int a=1; | a ==> 1 [2]-> int b=5; | b ==> 5 [3]-> char c='a'; | c ==> 'a' [4]-> float f=1.0f; | f ==> 1.0 [5]-> double d=5.0d; | d ==> 5.0
Enquanto o /list O comando lista todos os trechos de código, o /vars O comando no JShell lista apenas as variáveis.
[6]-> /vars | int a = 1 | int b = 5 | char c = 'a' | float f = 1.0 | double d = 5.0
Anteriormente, discutimos uma expressão na qual uma conversão primitiva de ampliação implícita é feita no JShell. Conversões primitivas estreitando e ampliando também são feitas na atribuição. Como exemplo de uma conversão primitiva de restrição, atribua a variável c do tipo char um int valor.
[6]-> c=5;| c ==> '