Getting Started with Java
[imagine a nice java logo image here]
M. Jason Hinek Carleton University
Hello, world!
/* Processing output window */ text("hello, world!", 25, 50); /* Processing console output */ println("hello, world!"); # Python print "hello, world!" /* Java hello world */ public class HelloWorld{ public static void main(String[] args){ System.out.println("hello, world!"); } }
2/7
Hello, world!
/* Processing output window */ text("hello, world!", 25, 50); /* Processing console output */ println("hello, world!"); # Python print "hello, world!" /* Java hello world */ public class HelloWorld{ public static void main(String[] args){ System.out.println("hello, world!"); } }
2/7
Hello, world!
/* Processing output window */ text("hello, world!", 25, 50); /* Processing console output */ println("hello, world!"); # Python print "hello, world!" /* Java hello world */ public class HelloWorld{ public static void main(String[] args){ System.out.println("hello, world!"); } }
2/7
Hello, world!
/* Processing output window */ text("hello, world!", 25, 50); /* Processing console output */ println("hello, world!"); # Python print "hello, world!" /* Java hello world */ public class HelloWorld{ public static void main(String[] args){ System.out.println("hello, world!"); } }
2/7
Hello, world!
/* Processing output window */ text("hello, world!", 25, 50); /* Processing console output */ println("hello, world!"); # Python print "hello, world!" /* Java hello world */ public class HelloWorld{ public static void main(String[] args){ System.out.println("hello, world!"); } }
2/7
Deconstructing hello world
/* Java hello world */ public class HelloWorld{ public static void main(String[] args){ System.out.println("hello, world!"); } } created a class called HelloWorld created a method in the class called main
inputs an array of String objects return type is void (it returns nothing)
calls the function println with input string "hello, world!"
System is a class with three attributes (out, in and err) out is the "standard" output stream out is an instance of the PrintStream class out is a PrintStream object
3/7
Deconstructing hello world
/* Java hello world */ public class HelloWorld{ public static void main(String[] args){ System.out.println("hello, world!"); } } created a class called HelloWorld created a method in the class called main
inputs an array of String objects return type is void (it returns nothing)
calls the function println with input string "hello, world!"
System is a class with three attributes (out, in and err) out is the "standard" output stream out is an instance of the PrintStream class out is a PrintStream object
3/7
Deconstructing hello world
/* Java hello world */ public class HelloWorld{ public static void main(String[] args){ System.out.println("hello, world!"); } } created a class called HelloWorld created a method in the class called main
inputs an array of String objects return type is void (it returns nothing)
calls the function println with input string "hello, world!"
System is a class with three attributes (out, in and err) out is the "standard" output stream out is an instance of the PrintStream class out is a PrintStream object
3/7
Deconstructing hello world
/* Java hello world */ public class HelloWorld{ public static void main(String[] args){ System.out.println("hello, world!"); } } created a class called HelloWorld created a method in the class called main
inputs an array of String objects return type is void (it returns nothing)
calls the function println with input string "hello, world!"
System is a class with three attributes (out, in and err) out is the "standard" output stream out is an instance of the PrintStream class out is a PrintStream object
3/7
Deconstructing hello world
/* Java hello world */ public class HelloWorld{ public static void main(String[] args){ System.out.println("hello, world!"); } } created a class called HelloWorld created a method in the class called main
inputs an array of String objects return type is void (it returns nothing)
calls the function println with input string "hello, world!"
System is a class with three attributes (out, in and err) out is the "standard" output stream out is an instance of the PrintStream class out is a PrintStream object
3/7
Deconstructing hello world
/* Java hello world */ public class HelloWorld{ public static void main(String[] args){ System.out.println("hello, world!"); } } created a class called HelloWorld created a method in the class called main
inputs an array of String objects return type is void (it returns nothing)
calls the function println with input string "hello, world!"
System is a class with three attributes (out, in and err) out is the "standard" output stream out is an instance of the PrintStream class out is a PrintStream object
3/7
Deconstructing hello world (again)
/* Java hello world */ public class HelloWorld{ public static void main(String[] args){ System.out.println("hello, world!"); } } public here is a top level access modier
it species the access level of the class it is either public or left empty (sometimes called friendly)
public here is a member level access modier
it species the access level of an attribute or a method it is either public, private, protected, or left empty (friendly)
static is a (non access) modier
it allows the main method to be called without creating an instance of the HelloWorld class (and much more...) there are several dierent modiers (for attributes and methods)
4/7
Deconstructing hello world (again)
/* Java hello world */ public class HelloWorld{ public static void main(String[] args){ System.out.println("hello, world!"); } } public here is a top level access modier
it species the access level of the class it is either public or left empty (sometimes called friendly)
public here is a member level access modier
it species the access level of an attribute or a method it is either public, private, protected, or left empty (friendly)
static is a (non access) modier
it allows the main method to be called without creating an instance of the HelloWorld class (and much more...) there are several dierent modiers (for attributes and methods)
4/7
Deconstructing hello world (again)
/* Java hello world */ public class HelloWorld{ public static void main(String[] args){ System.out.println("hello, world!"); } } public here is a top level access modier
it species the access level of the class it is either public or left empty (sometimes called friendly)
public here is a member level access modier
it species the access level of an attribute or a method it is either public, private, protected, or left empty (friendly)
static is a (non access) modier
it allows the main method to be called without creating an instance of the HelloWorld class (and much more...) there are several dierent modiers (for attributes and methods)
4/7
Deconstructing hello world (again)
/* Java hello world */ public class HelloWorld{ public static void main(String[] args){ System.out.println("hello, world!"); } } public here is a top level access modier
it species the access level of the class it is either public or left empty (sometimes called friendly)
public here is a member level access modier
it species the access level of an attribute or a method it is either public, private, protected, or left empty (friendly)
static is a (non access) modier
it allows the main method to be called without creating an instance of the HelloWorld class (and much more...) there are several dierent modiers (for attributes and methods)
4/7
Deconstructing hello world (again)
/* Java hello world */ public class HelloWorld{ public static void main(String[] args){ System.out.println("hello, world!"); } } public here is a top level access modier
it species the access level of the class it is either public or left empty (sometimes called friendly)
public here is a member level access modier
it species the access level of an attribute or a method it is either public, private, protected, or left empty (friendly)
static is a (non access) modier
it allows the main method to be called without creating an instance of the HelloWorld class (and much more...) there are several dierent modiers (for attributes and methods)
4/7
Running hello world
/* Java hello world */ public class HelloWorld{ public static void main(String[] args){ System.out.println("hello, world!"); } } Java convention is that
class name is capitalized (use camel case if more than one word) class XXX must be in the le XXX.java so HellowWorld must be in the le HelloWorld.java
rst we need to compile the source code into Java bytecode
IDE will have a compile button javac HelloWorld.java from console window (shell) this creates HelloWorld.class, which is the Java bytecode
next, we run the bytecode with the JVM (Java virtual machine)
java HelloWorld from the console window runs out program! the JVM executes the main method of our program
5/7
Running hello world
/* Java hello world */ public class HelloWorld { public static void main(String[] args){ System.out.println("hello, world!"); } } Java convention is that
class name is capitalized (use camel case if more than one word) class XXX must be in the le XXX.java so HellowWorld must be in the le HelloWorld.java
rst we need to compile the source code into Java bytecode
IDE will have a compile button javac HelloWorld.java from console window (shell) this creates HelloWorld.class, which is the Java bytecode
next, we run the bytecode with the JVM (Java virtual machine)
java HelloWorld from the console window runs out program! the JVM executes the main method of our program
5/7
Running hello world
/* Java hello world */ public class HelloWorld{ public static void main(String[] args){ System.out.println("hello, world!"); } } Java convention is that
class name is capitalized (use camel case if more than one word) class XXX must be in the le XXX.java so HellowWorld must be in the le HelloWorld.java
rst we need to compile the source code into Java bytecode
IDE will have a compile button javac HelloWorld.java from console window (shell) this creates HelloWorld.class, which is the Java bytecode
next, we run the bytecode with the JVM (Java virtual machine)
java HelloWorld from the console window runs out program! the JVM executes the main method of our program
5/7
Running hello world
/* Java hello world */ public class HelloWorld{ public static void main(String[] args){ System.out.println("hello, world!"); } } Java convention is that
class name is capitalized (use camel case if more than one word) class XXX must be in the le XXX.java so HellowWorld must be in the le HelloWorld.java
rst we need to compile the source code into Java bytecode
IDE will have a compile button javac HelloWorld.java from console window (shell) this creates HelloWorld.class, which is the Java bytecode
next, we run the bytecode with the JVM (Java virtual machine)
java HelloWorld from the console window runs out program! the JVM executes the main method of our program
5/7
Running hello world
/* Java hello world */ public class HelloWorld{ public static void main(String[] args){ System.out.println("hello, world!"); } } Java convention is that
class name is capitalized (use camel case if more than one word) class XXX must be in the le XXX.java so HellowWorld must be in the le HelloWorld.java
rst we need to compile the source code into Java bytecode
IDE will have a compile button javac HelloWorld.java from console window (shell) this creates HelloWorld.class, which is the Java bytecode
next, we run the bytecode with the JVM (Java virtual machine)
java HelloWorld from the console window runs out program! the JVM executes the main method of our program
5/7
Running Java programs
XXX.java
6/7
Running Java programs
XXX.java
6/7
Running Java programs
XXX.java
javac XXX.java
6/7
Running Java programs
XXX.java
javac XXX.java
6/7
Running Java programs
XXX.java
javac XXX.java
java.class
6/7
Running Java programs
XXX.java
javac XXX.java
java.class
6/7
Running Java programs
XXX.java
javac XXX.java
java.class
java XXX
6/7
Running Java programs
XXX.java
javac XXX.java
java.class
java XXX
6/7
Running Java programs
XXX.java
javac XXX.java
java.class
java XXX
Just about anything!
6/7
Running Java programs
HelloWorld command line arguments application programming interfaces (APIs) Math, textbook APIs
7/7