Agenda
Java Basics
1
Brief History of Java and Overview of Language
Java Basics
2
The history of Java starts with the Green Team. Java team members (also known as Green Team), initiated this project to develop a language for digital devices such as set-top boxes, televisions, etc. However, it was best suited for internet programming. Later, Java technology was incorporated by Netscape.
The principles for creating Java programming were "Simple, Robust, Portable, Platform-independent, Secured, High Performance, Multithreaded, Architecture Neutral, Object-Oriented, Interpreted, and Dynamic". Java was developed by James Gosling, who is known as the father of Java, in 1995. James Gosling and his team members started the project in the early '90s.
3
4
James Gosling, Mike Sheridan, and Patrick Naughton initiated the Java language project in June 1991. The small team of sun engineers called Green Team.
Initially it was designed for small, embedded systems in electronic appliances like set-top boxes.
Firstly, it was called "Greentalk" by James Gosling, and the file extension was .gt.
After that, it was called Oak and was developed as a part of the Green project. Oak is a symbol of strength and chosen as a national tree of many countries like the U.S.A., France, Germany, Romania, etc.
In 1995, Oak was renamed as "Java" because it was already a trademark by Oak Technologies.
The team gathered to choose a new name. The suggested words were "dynamic", "revolutionary", "Silk", "jolt", "DNA", etc. They wanted something that reflected the essence of the technology: revolutionary, dynamic, lively, cool, unique, and easy to spell, and fun to say.
According to James Gosling, "Java was one of the top choices along with Silk". Since Java was so unique, most of the team members preferred Java than other names.
Java is an island in Indonesia where the first coffee was produced (called Java coffee). It is a kind of espresso bean. Java name was chosen by James Gosling while having a cup of coffee nearby his office.
Java Version History
JDK Alpha and Beta (1995)
JDK 1.0 (23rd Jan 1996)
JDK 1.1 (19th Feb 1997)
J2SE 1.2 (8th Dec 1998)
J2SE 1.3 (8th May 2000)
J2SE 1.4 (6th Feb 2002)
J2SE 5.0 (30th Sep 2004)
Java SE 6 (11th Dec 2006)
Java SE 7 (28th July 2011)
Java SE 8 (18th Mar 2014)
Java SE 9 (21st Sep 2017)
Java SE 10 (20th Mar 2018)
Java SE 11 (September 2018)
Java SE 12 (March 2019)
Java SE 13 (September 2019)
Java SE 14 (Mar 2020)
Java SE 15 (September 2020)
Java SE 16 (Mar 2021)
Java SE 17 (September 2021)
Java SE 18 March 2022)
Java SE 19 (2023)
Top 10 Java IDE
What is Bytecode in Java?
Can you imagine a world where we have to write code multiple times for each device with varying specifications like operating system, processor architecture, etc.? It will be a tedious process. Keeping these things in mind, Java developers came up with the concept of Write Once Read Anywhere, which got incorporated as a feature in the Java language. To achieve this, a code known as bytecode gets generated after compiling our Java source code. We will now discuss the same.
Bytecode in Java is a set of instructions for the Java Virtual Machine. Java Virtual Machine, abbreviated as JVM, enables a computer to run code written in Java. When a Java program is compiled, the bytecode gets generated. It is equivalent to the assembler in C++.
Bytecode is a platform-independent set of instructions primarily because it is interpreted and executed by the JVM. Code that runs on multiple computer architectures without any modification is called machine or platform-independent code.
How Java Works
Java Basics
11
More on How Java Works
Java Basics
12
A Picture is Worth…
Java Basics
13
The Interpreter is sometimes referred to as the Java Virtual Machine
The output of the compiler is .class file
So What!
Java Basics
14
HelloWorld.java
Java Basics
15
/**
* A simple program
*/
public class HelloWorld
{
public static void main(String[] args)
{
System.out.println("HELLO World!");
}
}
More on Java Programs
public class Abc �{ //start of class Abc � /*all code in here!*/ �} // end of class Abc
Java Basics
16
Java Language�Review of Basic Features
Java Basics
17
Basic Features
Java Basics
18
Identifiers in Java
Java Basics
19
Java Data Types
Java Basics
20
Data Types
��
Java Basics
21
//dataType identifier;
int x;
int y = 10;
int z, zz;
double a = 12.0;
boolean done = false, prime = true;
char mi = 'D';
Java Primitive Data Types
Java Basics
22
Data Type | Characteristics | Range |
byte | 8 bit signed integer | -128 to 127 |
short | 16 bit signed integer | -32768 to 32767 |
int | 32 bit signed integer | -2,147,483,648 to 2,147,483,647 |
long | 64 bit signed integer | -9,223,372,036,854,775,808 to- 9,223,372,036,854,775,807 |
float | 32 bit floating point number | + 1.4E-45 to�+ 3.4028235E+38 |
double | 64 bit floating point number | + 4.9E-324 to�+ 1.7976931348623157E+308 |
boolean | true or false | NA, note Java booleans cannot be converted to or from other types |
char | 16 bit, Unicode | Unicode character, \u0000 to \uFFFF Can mix with integer types |
What are Classes and Objects?
Java Basics
23
Creating and Using Objects
Rectangle r1;
r1 = new Rectangle();
Rectangle r2 = new Rectangle();
r2.setSize(10, 20);
String s2 = r2.toString();
Java Basics
24
Built in Classes
Java has a large built in library of classes with lots of useful methods
Ones you should become familiar with quickly
Java Basics
25
import
Java Basics
26
More on import
Java Basics
27
The String Class
Java Basics
28
Standard Output
System.out.print( expression ); // no newline
System.out.println( expression ); // newline
System.out.println( ); // just a newline
common idiom is to build up expression to be printed out
System.out.println( "x is: " + x + " y is: " + y );
Java Basics
29
Constants
final int NUM_SECTIONS = 3;
Java Basics
30
Expressions and Operators
Java Basics
31
Operators
int x = 3;�x++;
Java Basics
32
Expressions
/
is it integer division or floating point division?
Java Basics
33
Casting
int x = 5;�double a = 3.5;�double b = a * x + a / x;�double c = x / 2;
Java Basics
34
CS 307 Fundamentals of Computer Science
Primitive Casting
Java Basics
35
CS 307 Fundamentals of Computer Science
double
float
long
int
short,�char
byte
Outer ring is most�inclusive data type.�Inner ring is least
inclusive. ��In expressions
variables and
sub expressions
of less inclusive
data types are
automatically cast
to more inclusive.�
If trying to place
expression that is
more inclusive into
variable that is less
inclusive, explicit cast
must be performed.
From MORE to LESS
Java Control Structures
Java Basics
36
Control Structures
if(boolean-expression)� statement;�if(boolean-expression)�{ statement1;� statement2;� statement3;�}�A single statement could be replaced by a statement block, braces with 0 or more statements inside
Java Basics
37
Boolean Expressions
//example�if( x <= X_LIMIT && y <= Y_LIMIT)� //do something
Java Basics
38
More Flow of Control
Java Basics
39
for Loops
Java Basics
40
execute� init-expr
evaluate �boolean-expr
false
skip to 1st statement after�body of loop
true
execute�body of loop
execute�incr-expr
while loops
Java Basics
41
Enhanced for loop
for(Type loop-variable : set-expression)
statement
Java Basics
42
Enhanced for loop
Java Basics
43
public static int sumListEnhanced(int[] list)
{ int total = 0;
for(int val : list)
{ total += val;
System.out.println( val );
}
return total;
}
public static int sumListOld(int[] list)
{ int total = 0;
for(int i = 0; i < list.length; i++)
{ total += list[i];
System.out.println( list[i] );
}
return total;
}