Book Image

Introduction to JVM Languages

Book Image

Introduction to JVM Languages

Overview of this book

Anyone who knows software development knows about the Java Virtual Machine. The Java Virtual Machine is responsible for interpreting Java byte code and translating it into actions. In the beginning, Java was the only programming language used for the JVM. But increasing complexity of the language and the remarkable performance of the JVM created an opening for a new generation of programming languages. If you want to build a strong foundation with the Java Virtual Machine and get started with popular modern programming languages, then this book is for you. The book will begin with a general introduction of the JVM and its features, which are common to the JVM languages, helping you get abreast with its concepts. It will then dive into explaining languages such as Java, Scala, Clojure, Kotlin, and Groovy and will show how to work with each language, their features, use cases, and pros and cons. By writing example projects in those languages and focusing on each language’s strong points, it will help you find the programming language that is most appropriate for your particular needs. By the end of the book, you will have written multiple programs that run on the Java Virtual Machine and know about the differences between the various languages.
Table of Contents (21 chapters)
Title Page
Credits
About the Author
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface

Writing Java code


Now that we have discussed all the relevant OOP features of Java, we can start writing classes that actually do something. This part of the chapter will discuss some topics that will guide you in this process:

  • Operators
  • Plain Old Java Object
  • Arrays
  • Generics and Collections
  • Looping
  • Exceptions
  • Threads
  • Lambdas

Operators

Some of the most important operators of the Java language are summed up in this table. Note that Java knows more operators than the ones listed here. Operators that are very common in all other popular programming languages, such as +, -, >, >=, <, and <=, are not listed here:

Operator

Description

value++

value--

These return the value, then increase or decrease the value

++value

--value

These increase or decrease the value, then return the new value

!

This is the logical NOT operator

%

This refers to the remainder (integer) of a division

instanceof

This returns a Boolean indicating whether the passed object is an instance of the specified class or interface

==

!=

These refer...