Java Programming
Java Basics
Incheon Paik
Java
1
Computer Industry Lab.
Contents ? ? ? ? ? ? ? ? ? ? ? ? ?
Java
Background Java Virtual Machine Application & Applet Class & Object 3 Principles of Object Oriented Programming Start up Java Variables & Assign String & Character Arithmetic Operator & Expression Type Conversion Comment Array Keywords 2
Computer Industry Lab.
Background / History ?
Sun Microsystems Inc. ? James Gosling
?
1990, “Green Project” 1991, Develop the Language for Household Products => To General Developing Language
?
?
? ?
Java
Java ? James Gosling, Arthur Van Hoff, Andy Bechtolsheim ? Coffee Materials in Indonesia Write once, Run everywhere Spread Rapidly through WWW and Internet
3
Computer Industry Lab.
Byte Code and Java Virtual Machine ?
Existing Development Environment
Binary File Compiler(Pentium)
Source Code
Binary File Compiler(PowerPC)
Run Java
PowerPC Binary File
%cc Hello.c –o Hello % Hello
Pentium
Compiler(SPARC)
SPARC
Binary Code 4
Computer Industry Lab.
Byte Code and Java Virtual Machine ?
Java Development Environment
Java Interpreter Java Compiler
(Pentium)
Pentium
Java Code
Java ByteCode
(Independent on Platform)
Java Compiler
(PowerPC)
Java Interpreter
PowerPC Java Interpreter
%javac Hello.java Hello.class created
Run Java
JVM
SPARC
Java Compiler
% java Hello
(SPARC) Byte Code 5
Computer Industry Lab.
Java Program ?
Java Application Program ? Application ? Program written in general programming language ?
Java
Applet ? Program running in Web Browser Environment ? Can be viewed by appletviewer or Web browser with JVM
6
Computer Industry Lab.
Class and Object
Java
?
Object ? Memory Space to Define State and Operation ? Instance of Class
?
Class ? Template of Creating Object
7
Computer Industry Lab.
3 Principles of Object Oriented Programming ?
?
?
Encapsulation ? Control Access the data and method in program code Inheritance ? Inherit the data and methods of parent class Polymorphism Shape
getArea()
Shape Obj = new Ellipse(); Obj.getArea();
Ellipse
Rectangle
Triangle Which Area?
getArea()
Java
getArea()
getArea()
8
Computer Industry Lab.
Java Class Library ? ? ? ? ? ? ? ? ?
Java
java.applet : Applet related java.awt : Abstract Window Toolkit java.awt.event : Event process from awt component java.awt.image : Image processing java.beans : JavaBeans Component java.io : File or Network I/O Support java.lang : Java Language Support java.net : Network related functions java.util : Utility function
9
Computer Industry Lab.
Java 2 SDK ?
Java 2 Software Development Kit (Java 2 SDK) ? Java Application or Applet Development and Running Environment
?
Java 2 Runtime Environment (JRE) ? Java Running Environment
?
Java 2 Standard Edition Java 2 Micro Edition Java 2 Enterprise Edition
? ?
Java
10
Computer Industry Lab.
Java 2 SDK ?
Java 2 Software Development Kit (Java 2 SDK) ? Java Application or Applet Development and Running Environment
?
Java 2 Runtime Environment (JRE) ? Java Running Environment
?
Java 2 Standard Edition Java 2 Micro Edition Java 2 Enterprise Edition
? ?
Java
10
Computer Industry Lab.
Start Java Application Java
C
Class Name
Main Function
“Hello.java” Main method class Hello { public static void main(String args[]) { System.out.println(“Hello World”); }
% javac Hello.java
Run
% java Hello
Result
Java
Compile
“hello.c” void main() { printf(“Hello World\n”); }
% cc hello.c –o hello
% hello
Hello World
11
Computer Industry Lab.
Variable and Assign ? ?
Java
Variable Type ? char ? boolean ? byte ? short ? int ? long ? float ? double
16bits Unicode character data Boolean Variable 8 bits signed integer 16 bits signed integer 32 bits signed integer 64 bits signed integer 32 bits signed floating point number 64 bits signed floating point number
12
Computer Industry Lab.
Variable and Assign Variable Declaration type varName;
float x, y, x;
Value assign varName = value; int num = 100; long m = 21234234L double type : .5 0.8 9e-2 -9.3e-5 float type : 1.5e-3f;
Java
13
Computer Industry Lab.
String and Character ?
String : sequence of character String s = “Enter an integer value: ” ; Char c = ‘A’; Unicode
?
Concatenation Operator ‘+’
String s = “Lincoln said: ” + “\” Four score and seven years ago\”” ;
Result : Lincoln said: “Four score and seven years ago”
Java
14
Computer Industry Lab.
Arithmetic Operator ?
Java
Operators ? + - * / % ? += -= *= /= %= ? ++ -5/2 ? 2 Why isn’t it 2.5 ? 5%2 ? 1 4/2 ? 2 4%2 ? 0 ? count * num + 88 / val – 19 % count ? j += 6; ? j = j + 6;
15
Computer Industry Lab.
Type Conversion in Expression char ch; int i; float f; double outcome; ch = ‘0’; i = 10; f = 10.2f; outcome = ch * i / f; int float double
double
Yes
No
double
float Yes
No
float
long Yes
long
Java
16
No
int
Computer Industry Lab.
Type Conversion in Assignment Widening Conversion byte b = 127; int i; i = b; ? Narrowing Conversion byte b; int i = 258; b = (byte) i; ? Wrong Conversion byte b; int i = 127; b = i; ? Right Conversion (But data may be lost) byte b; int i = 127; b = (byte) i; ?
Type Casting
Java
17
Computer Industry Lab.
Comment ?
?
?
Java
Single Line Comment ? int i = 10 ; // i is counter Multiple Line Comment /* Some comments */ Documentation Comment /** Documentation Comment */
18
Using “javadoc� Tool, make document
Computer Industry Lab.
Arrays ( One Dimensional) Definition of One Dimensional Array type VarName[] int ia[];
Assign Range to One Dimensional Array varName = new type[size] ia = new int[10];
Declaration of One Dimensional Array with Range type varName[] = new type[size] int ia[] = new int[10];
Java
19
Computer Industry Lab.
Arrays ( One Dimensional) Number of elements in Array varName.length
Initialization of One Dimensional Array Type varName[] = {e0, ‌ , en}; int j[] = {0, 1, 2, 3, 4, 5}; int k[]; K = j;
Example 1.15
Java
20
Computer Industry Lab.
Arrays ( Multi-Dimensional) Definition of Two Dimensional Array type VarName[][]; float fa[][];
Assign Range to Two Dimensional Array varName = new type[size1][size2]; fa = new float[2][3];
Declaration of Two Dimensional Array with Range type varName[][] = new type[size1][size2]; float fa[] = new float[2][3];
Java
21
Computer Industry Lab.
Arrays ( Two Dimensional) Number of elements in Multi-Dimensional Array varName.length
Number of Raw
Number of elements in Each elements of Multi-Dimensional Array varName[index].length
Initialization of Multi-Dimensional Array Type varName[][] = {{e00, … , e0n}, {e10,… ,e1y}, {e20, … , e2z}};
Example 1.16
Java
22
Computer Industry Lab.
Java Keywords ?
Java
47 Java Keywords abstract boolean break byte case catch char class const* continue default do
double else extends final finally float for goto* if implements import instanceof
int interface long native new package private protected public return short static
23
super switch synchronized this throw throws transient* try void volatile while
Computer Industry Lab.
Exercise ?
?
Step 1 ? Refer this lecture slide #11 Step 2 (How to make & run Applet) ?
(1) Make Applet Program import java.awt.Graphics; public class HelloWorldApplet extends java.applet.Applet { public void paint (Graphics g) { g.drawString(“Hello World!�,5,25); } } // end of Applet
? ?
(2) Compile(using javac) to create HelloWorldApplet.class (3) Create HTML file (ex; HelloWorld.html) to include applet <applet code="HelloWorldApplet.class" width="150" height="25">
?
Java
(4) Run Applet using Appletviewer or Applet enabling Web browser % appletviewer HelloWorld.html
24
Computer Industry Lab.
Exercise ?
?
Java
Step 3 (Type Conversion) ? Refer this lecture slide #16,17 Step 4 (Array) ? Refer this lecture slide #22
25
Computer Industry Lab.