Sign In Start Free Trial
Account

Add to playlist

Create a Playlist

Modal Close icon
You need to login to use this feature.
  • Book Overview & Buying Java 9 with JShell
  • Table Of Contents Toc
Java 9 with JShell

Java 9 with JShell

By : Gaston C. Hillar
2 (2)
close
close
Java 9 with JShell

Java 9 with JShell

2 (2)
By: Gaston C. Hillar

Overview of this book

The release of Java 9 has brought many subtle and not-so-subtle changes to the way in which Java programmers approach their code. The most important ones are definitely the availability of a REPL, known as JShell, which will make experiments and prototyping much more straightforward than the old IDE-based project-led approach. Another, more subtle change can be seen in the module system, which will lead to more modularized, maintainable code. The techniques to take full advantage of object-oriented code, functional programming and the new modularity features in Java 9 form the main subjects of this book. Each chapter will add to the full picture of Java 9 programming starting out with classes and instances and ending with generics and modularity in Java.
Table of Contents (16 chapters)
close
close
15
Index

Loading source code

Of course, we don't have to enter the source code for each example. Auto-completion features are useful, but we will take advantage of a command that allows us to load source code from a file in JShell.

Press Ctrl + D to exit the current JShell session. Run the following command in the Windows Command Prompt or in a macOS or Linux Terminal to launch JShell again with a verbose feedback:

jshell -v

The following lines show code that declares the latest versions of the calculateRectanglePerimeter and calculateRectangleArea methods. Then, the code declares and initializes two variables of the float type: width and height. Finally, the last two lines call the previously defined methods with width and height as their arguments. The code file for the sample is included in the java_9_oop_chapter_01_01 folder, in the example01_01.java file.

float calculateRectanglePerimeter(float width, float height) {
    float perimeter = 2 * (width + height);
    System.out.printf("Width: %.2f\n", width);
    System.out.printf("Height: %.2f\n", height);
    System.out.printf("Perimeter: %.2f\n", perimeter);
    return perimeter;
}

float calculateRectangleArea(float width, float height) {
    float area = width * height;
    System.out.printf("Width: %.2f\n", width);
    System.out.printf("Height: %.2f\n", height);
    System.out.printf("Area: %.2f\n", area);
    return area;
}

float width = 120.25f;
float height = 35.50f;
calculateRectangleArea(width, height);
calculateRectanglePerimeter(width, height);

Once you have downloaded the source code for the book in a folder, you can use the /open command in JShell to load and execute one of the files from the source code. Before each code snippet, we always mention where the source code is located.

If the root folder for the source code in Windows is C:\Users\Gaston\Java9, you can run the following command to load and execute the previously shown source code in JShell:

/open C:\Users\Gaston\Java9\java_9_oop_chapter_01_01\example01_01.java

If the root folder for the source code in macOS or Linux is ~/Documents/Java9, you can run the following command to load and execute the previously shown source code in JShell:

/open ~/Documents/Java9/java_9_oop_chapter_01_01/example01_01.java

After we enter the previous command followed by the path based on our configuration and our operating system, JShell will load and execute the previously shown source code and will display the output generated after running the loaded code snippet. The following lines show the output:

Width: 120.25
Height: 35.50
Area: 4268.88
Width: 120.25
Height: 35.50
Perimeter: 311.50

Now, enter the following command in JShell to list the current, active snippets of code, loaded from the source file, that have been executed in the current session so far:

/list

The following lines show the results. Notice that JShell prefaces the different method definitions and expressions with different snippet ids because the loaded source code behaves in the same way as if we were entering one snippet after the other:

   1 : float calculateRectanglePerimeter(float width, float height) {
           float perimeter = 2 * (width + height);
           System.out.printf("Width: %.2f\n", width);
           System.out.printf("Height: %.2f\n", height);
           System.out.printf("Perimeter: %.2f\n", perimeter);
           return perimeter;
       }
   2 : float calculateRectangleArea(float width, float height) {
           float area = width * height;
           System.out.printf("Width: %.2f\n", width);
           System.out.printf("Height: %.2f\n", height);
           System.out.printf("Area: %.2f\n", area);
           return area;
       }
   3 : float width = 120.25f;
   4 : float height = 35.50f;
 
  5 : calculateRectangleArea(width, height);
   6 : calculateRectanglePerimeter(width, height);

Tip

Make sure you use the previously explained /open command followed by the path and the file name for the code file that you want to load and execute in JShell whenever you find source code in the book. This way, you won't have to enter each code snippet and you will be able to check the results of executing the code in JShell.

Visually different images
CONTINUE READING
83
Tech Concepts
36
Programming languages
73
Tech Tools
Icon Unlimited access to the largest independent learning library in tech of over 8,000 expert-authored tech books and videos.
Icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Icon 50+ new titles added per month and exclusive early access to books as they are being written.
Java 9 with JShell
notes
bookmark Notes and Bookmarks search Search in title playlist Add to playlist download Download options font-size Font size

Change the font size

margin-width Margin width

Change margin width

day-mode Day/Sepia/Night Modes

Change background colour

Close icon Search
Country selected

Close icon Your notes and bookmarks

Confirmation

Modal Close icon
claim successful

Buy this book with your credits?

Modal Close icon
Are you sure you want to buy this book with one of your credits?
Close
YES, BUY

Submit Your Feedback

Modal Close icon
Modal Close icon
Modal Close icon