Está en la página 1de 10

lOMoARcPSD|13355062

IO
UNIVERSIDAD TECNOLOGICA DEL PERU

“JShell: conceptos, testing, JShell en consola, JShell in an IDE”

Institución: Universidad Tecnológica del Perú

Alumno: ● Renato Machacuay Gonzales

Tema: conceptos, testing, JShell en consola, JShell in an IDE,

Lima, 20 de noviembre de 2021


lOMoARcPSD|13355062

Introduccion
Jshell es una herramienta de línea de comandos introducida en Java 9. Permite ejecutar

código de una manera sencilla sin necesidad de un IDE, aunque no es un sustituto de

estos. Se arranca, se escribe la sentencia en Java que se quiere ejecutar, y

automáticamente se muestra el resultado de la ejecución. Es decir, jshell implementa el

clásico patrón REPL (Read-Evaluate-Print Loop).

Es una herramienta bastante útil cuando se está escribiendo determinado tipo de código.

Lo habitual es tenerla abierta en una consola aparte e ir probando en ella pequeños

snippets de código a medida que se desarrolla. Esto permite tener un feedback inmediato

en vez de esperar a compilar y ejecutar toda la aplicación en el IDE.

Es útil sobre todo para probar variantes de un mismo código, experimentar con una

librería con la que no se tenga demasiada experiencia, evaluar una secuencia larga de

métodos concatenados, o ejecutar código copiado directamente de un sitio web.

Jshell se encuentra en el subdirectorio bin del directorio donde se encuentre instalada la máquina

virtual de Java. Se ejecuta arrancando directamente el programa desde línea de comandos:

Testing
Al ubicarnos en la consola podemos comenzar a escribir comandos Java

directamente. El más sencillo puede ser Systexm.out.println(“hola”).


lOMoARcPSD|13355062

Una vez escrito pulsamos intro y el código se ejecutará de forma directa. Esto en

principio nos puede parecer poco útil pero la realidad es que a veces nos puede ayudar a

ejecutar pequeños bloques de código y probarlos de una forma muy directa.

Imaginémonos que queremos mostrar en una consola el concepto de una compra y

el importe de esta. Quizás no nos acordamos de cómo se hacía esta operación con el

método printf de Java en System.out. ¿Cómo nos puede ayudar la consola a recordarlo y

ejecutar un ejemplo sencillo? Bueno en principio sería suficiente con declararnos las

variables.

Parece que hemos declarado las variables correctamente. Usamos el comando

/vars y nos muestra las variables existentes a nivel de jshell en estos momentos.
lOMoARcPSD|13355062

Es momento de imprimir esos datos por la consola en un texto formateado.

¿Cómo se llamaba el método de System.out? . No hay problema podemos escribir

System.out y pulsar tabulador y Java 9 JShell nos mostrará una ayuda con los métodos

existentes.

Podemos ver cómo nos muestra la lista de métodos que empiezan por print .

El que nosotros necesitamos es printf. . Pues nada rellenamos el método y las

variables se imprimirán sus valores.

JShell también nos puede ayudar a mostrar por ejemplo los valores de las variables

de entorno algo muchas veces muy útil.


lOMoARcPSD|13355062

Java 9 JShell puede ser una herramienta muy útil en muchas situaciones

aportándonos la posibilidad de generar código “sobre la marcha” y ver que es lo que este

devuelve.

Consola JShell
Última modificación: 08 de marzo de 2021 Herramientas Consola JShell

JShell es una herramienta REPL de Java introducida en JDK 9 (para obtener más

información, consulte JEP 222 ). Le permite evaluar de forma interactiva expresiones

Java sin la sobrecarga de crear una clase ejecutable, compilar su código, etc.

IntelliJ IDEA incluye una consola básica para trabajar con JShell desde dentro del

IDE, similar a Groovy Console . Puede usar JShell Console para probar fragmentos de

código, que incluso pueden hacer referencia a las clases definidas en su proyecto.

Abra la consola JShell

En el menú principal, seleccione Herramientas | Consola JShell .

Esto abre la pestaña JShell Console en el editor, donde puede escribir código Java, por

ejemplo:

String name = "John";System.out.println("Hello " + name);

Presione Ctrl+Enter para ejecutar este código en JShell. Debería ver el siguiente resultado

en la ventana de la herramienta Ejecutar :

Defined field String name = "John"System.out.println("Hello " + name)Hello John

Para utilizar JShell Console, debe tener Java 9 o posterior disponible. Puede

ejecutar IntelliJ IDEA en un tiempo de ejecución anterior y su proyecto puede usar un JDK

anterior, pero debe seleccionar una versión de Java compatible de la lista JRE en la parte
lOMoARcPSD|13355062

superior de la pestaña Consola JShell. O haga clic para especificar la ruta a una versión

valida de Java.

De forma predeterminada, todas las bibliotecas de las que depende su proyecto están

disponibles para JShell Console. Puede utilizar la lista Usar classpath de para seleccionar un

módulo específico.

JShell in an IDE
Un entorno de desarrollo integrado (IDE) es un sistema de software para el diseño

de aplicaciones que combina herramientas comunes para desarrolladores en una sola

interfaz de usuario gráfica (GUI). Generalmente, un IDE cuenta con las siguientes

características:

Editor de código fuente: editor de texto que ayuda a escribir el código de software con

funciones como el resaltado de la sintaxis con indicaciones visuales, el relleno automático

específico para el lenguaje y la comprobación de errores a medida que se escribe el código.

Automatización de compilaciones locales: herramientas que automatizan tareas sencillas

y repetitivas como parte de la creación de una compilación local del software para su

uso por parte del desarrollador, como la compilación del código fuente de la

computadora en un código binario, el empaquetado de ese código y la ejecución de

pruebas automatizadas.

Depurador: programa que sirve para probar otros programas y mostrar la ubicación de un

error en el código original de forma gráfica.


lOMoARcPSD|13355062

JShell o Java Shell es un bucle de lectura-evaluación-impresión (REPL). Esto

significa que evalúa las expresiones a medida que se ingresan y nos muestra los

resultados. Se puede acceder a JShell desde la línea de comandos y es una excelente

herramienta para realizar ajustes en su código. Un programa básico de Java necesita que

pases por el tedioso proceso de escribir un programa completo antes de compilarlo,

corregir los errores y ejecutarlo solo para descubrir que la salida no es la que esperabas. El

uso de JShell le ayuda a encontrar problemas a medida que desarrolla código. Puede

ejecutar declaraciones individuales en un JShell y usar API de las que no tiene idea.

DATO CURIOSO: El nombre interno de JShell es Proyecto Kulla. La comunidad de

desarrolladores es famosa por sus extravagantes nombres y vale la pena mencionar este.

Kulla proviene de la mitología mesopotámica como el dios constructor que fue

desterrado después de que se completó la construcción. Estamos seguros de que puede

relacionar totalmente JShell con Kulla, ya que JShell es necesario solo para el período de

desarrollo del software Java de una aplicación.

JShell o Java Shell es una nueva herramienta introducida en NetBeans que se

utiliza para ejecutar piezas de código independientes. Se pueden usar métodos sin clases y

códigos sin contexto para validarlos en JShell. Para comprender JShell y dominarlo, es

necesario comprender los seis aspectos básicos, comenzando con los comandos básicos

en JShell.

El segundo es aprender a usar variables. La tercera parte es la comprensión de los

métodos y todos los aspectos relacionados, como la sustitución de métodos, la sobrecarga

de métodos, etc., seguida de la cuarta parte que trata de declarar, modificar y extender

clases, la quinta parte se ocupa de las declaraciones y enumeraciones de flujo de control,

mientras que la sexta consta de expresiones lambda. Y así es como dominas JShell.

Está más allá del alcance de este artículo discutir todos y cada uno de los módulos

de JShell en profundidad, sin embargo, definitivamente podemos hablar sobre los

conceptos básicos, comenzando con:


lOMoARcPSD|13355062

Iniciando JShell

Una vez que esté en NetBeans, diríjase a la pestaña llamada Herramientas. Seleccione

Open Java Platform Shell en él.

¡Eso es todo! Ahora está en su propio símbolo del sistema de Java. Una vez allí, sigue

adelante y escribe:

help

Esto incluirá una serie de comandos que puede escribir con su uso. Puede escribir:

/list -start

Esto alistará todos los paquetes que se importan de forma predeterminada tan pronto

como inicie un JShell. Simplemente puede importar todos los demás paquetes si desea

utilizarlos. De manera similar, se pueden declarar variables simplemente como se hace en

un simple fragmento de código Java. La declaración System.out.println se puede utilizar

para imprimir los valores de las variables. Una cosa a tener en cuenta aquí sería que el

usuario debe declarar un tipo de variable y JShell no lo declarará automáticamente.

Variables implícitas
Las variables implícitas son variables definidas automáticamente por JShell y esta

es una característica única de JShell. En un código Java simple, no puede declarar variables
lOMoARcPSD|13355062

implícitamente. Sin embargo, en JShell si simplemente escribe '1', creará una variable $ 1

implícitamente. Además, cuando opera, JShell crea implícitamente una variable para

almacenar el resultado de la operación. Por ejemplo, si escribe '1 + 2', JShell creará

implícitamente una variable $ 4 ==> 3. También puede usar variables implícitas

normalmente, por ejemplo, se permite $ 1 + $ 4. Una cadena literal como "Hola mundo"

también invocará variables implícitas y la variable se puede usar en otro fragmento de

código para imprimir o usar.

Al sumar enteros con decimales y operaciones en las que entra en juego la

ampliación de los tipos de datos, las variables implícitas juegan un papel importante.

¿Recuerda cómo / list enumera todos los fragmentos de código? Del mismo modo, / vars

enumera todas las variables. Un consejo para recordar sería que JShell no permite que las

variables de nivel superior sean estáticas o finales. Si intenta hacerlo, se generará una

advertencia. Si bien la variable se creará, no obstante, no será de naturaleza estática ni

final.

JShell no es un IDE
Así que eso es todo por lo básico. Una vez que comience a usar JShell, obtendrá la

esencia de cómo aprovecharlo al máximo. Es una herramienta poderosa para el desarrollo

ágil y es una bendición para todos los desarrolladores de Java. Sin embargo, nunca se debe

confundir con un IDE (entorno de desarrollo integrado). Para simular un proyecto completo

o desarrollar una aplicación, nunca se puede confiar en JShell. Es solo una herramienta que

ayuda a un desarrollador. Aquí, Netbeans es un IDE y JShell es una 'aplicación / comando'

por sí solo.

JShell es una nueva característica en JDK9 y NetBeans 9. Si desea utilizarlo,

actualice su NetBeans a la última versión y comience. No hay mucho que aprender de


lOMoARcPSD|13355062

nuevo cuando se trata de JShell, solo algunos no-nos para tener en cuenta y un par de

características nuevas y emocionantes para explorar, y eso es lo que hace que JShell sea tan

divertido y útil.

Bibliografía

IBM Cloud Education. (28 de abril de 2020). Java theory and practice: Interactive Java
programming (REPL) with JShell, Part 2 Obtenido de
https://developer.ibm.com/tutorials/java-theory-and-practice-5/?
mhsrc=ibmsearch_a&mhq=jshell

Oracle help center. Java Platform Standart Edition Java Shell User’s Guide. Obtenido de
https://docs.oracle.com/javase/9/jshell/introduction-jshell.htm#JSHEL-GUID-
630F27C8-1195-4989-9F6B-2C51D46F52C8

También podría gustarte