Usando blocos em jshell de java

Java 9 vem completo com um ambiente JShell interativo. Você digita uma declaração, e JShell responde imediatamente, executar a instrução. Isso é bom para as demonstrações simples, mas o que acontece quando você tem uma instrução dentro de um bloco?

Em JShell, você pode começar a digitar uma declaração com um ou mais blocos. não JShell não responder até que você terminar de digitar a declaração inteira - blocos e tudo. Para ver como ele funciona, olhar sobre esta conversa que teve lugar com Jshell:

jshellgt; java.lang.System.out estática importação

jshellgt; importação java.util.Random

jshellgt; int randomNumber = Random (). nextInt (10) + 1

Video: JShell in NetBeans IDE 8.2 (Part 1)

randomNumber == gt; 4

jshellgt; int entraNumero = 4

Video: Java Shell Sort

entraNumero == gt; 4

jshellgt; if (entraNumero == randomNumber) {

Video: JAVA - 9 - JShell Tool



...gt;out.println ("*Você ganha.*") -

...gt; }

*Você ganha.*

jshellgt;

Neste diálogo, o texto que foi digitado está em negrito. respostas do JShell não estão definidos em negrito.

Quando você digita if (entraNumero == randomNumber) { e pressione Enter, JShell não faz muito. JShell exibe apenas um ... gt; rápida, o que indica que o que quer que as linhas que você digitou não formam uma declaração completa. Você tem que responder digitando o resto do E se declaração.

Quando terminar a instrução if com uma chaveta perto, JShell finalmente reconhece que você digitou uma declaração inteira. JShell executa a instrução e (neste exemplo) mostra *Você ganha.*.

Observe a ponto e vírgula no final do linha out.println:

  • Quando você digita uma declaração de que não está dentro de um bloco, JShell permite omitir o ponto e vírgula no fim da instrução.
  • Quando você digita uma declaração de que está dentro de um bloco, JShell não permite que você omitir o ponto e vírgula.

Quando você digita um bloco em JShell, você sempre tem a opção de digitar o bloco inteiro em uma única linha, sem quebras de linha, assim:
if (entraNumero == randomNumber) {out.println ("*Você ganha.*") -}


Publicações relacionadas