Data Structure: Java Programming 1 Min Chen School of Computer Science and Engineering Seoul National University
Content Overview of Java Integrated Development Environment (IDE) Install Java SE Introduction to Eclipse Setup your IDE in Windows Start a new Java Project Object-Oriented Programming Concept of Class Method in Class Class in Java Programming
Overview of Java Began as an internal project in 1990 Named “Oak” first Sun Microsystem Providing an alternative to the C++/C Re-target Java to Internet in 1994 Versions Java Card Java ME (Micro Edition) Java SE (Standard Edition) Java EE (Enterprise Edition)
Features of Java Object-Oriented Programming Language Write Once, Run Anywhere Java Virtual Machine (VM) Machine Code Java VM Java Binary Files (.class) Java Code (.java) Compiler Runtime Interpreting
Install Java SE JDK Website:
IDE: Eclipse A powerful IDE for Java development As Microsoft Visual C++ for C++/C Development Totally Free of Use !!! A large number of Plug-in Enable C++ development Enable Website Design … … Integrated Development Environment
Eclipse: Download Website:
Start Eclipse Steps 1. Extract the zip file into your hard disk 2. Double click to run “eclipse.exe” 3. Select your workspace directory
Start a new Java Project
Writing Code for HelloWorld public static void main(String args[]) { System.out.print("Hello World in Java!"); } public static void main(String args[]) { System.out.print("Hello World in Java!"); }
HelloWorld: Result
Object-Oriented Programming Process-Oriented Programming Focus on a flow process Separates the concerns of data structures and the concurrent processes that act upon them Object-Oriented Programming Uses "objects" – data structures consisting of datafields and methods together with their interactions – to design applications Feature Information hiding, Data abstraction, Encapsulation, Modularity, Polymorphism, Inheritance
Object-Oriented Programming Example: Gobang Game (five-in-a-row) Start Black Turn Draw chessboard Black Win ? End White Turn Draw chessboard White Win ? Y N Y N Process-Oriented Programming: Object-Oriented Programming: Chessboard System Judgment System White Player Black Player
Process-Oriented Programming Focus on the flow of the work The basis of programming if… else… Loop Function Recursion
Function Usually called “Method” in Java public int larger (int a, int b) { if(a>b) return a; else return b; } Type of Return Value Name of the method Parameters for the method Privilege of the method
Recursion Fibonacci Number 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, … The function calls itself Towers of Hanoi
Concept of Class Example 1 Name:Bill Gates Gender:Male Age:54 Born:U.S. Company:Microsoft Products:Windows, Office… Name:Steve Jobs Gender:Male Age:54 Born:U.S. Company:Apple Inc. Products:Mac, iPod, iPhone… CEOs Name Gender Age Place of Birth Company Products Attribute
Concept of Class (cont.) Example 2 Name: 박지성 Gender:Male Age:28 Born:Korea Employer:Man. United Sports:Football League:Premier Name:Yao Ming Gender:Male Age:29 Born:China Employer:Rockets Sports:Basketball League:NBA Sportsmen Name Gender Age Place of Birth Employer Sports League
Name: 이병헌 Gender:Male Age:39 Born:Korea School: 중앙대 Drama:All In, Iris Name: 김태희 Gender:Female Age:29 Born:Korea School: 서울대 Drama:Love Story in Harvard, Iris Concept of Class (cont.) Example 3 Stars Name Gender Age Place of Birth School Drama
Inheritance of Class Higher Abstract CEOs Name Gender Age Place of Birth Company Products Sportsmen Name Gender Age Place of Birth Employer Sports League Stars Name Gender Age Place of Birth School Drama CEOs Company Products Sportsmen Employer Sports League Stars School Drama People Name Gender Age Place of Birth Superclass Subclass Subclass will inherit most of the attributes of his superclass
Method in Class A class is not just a collection of data (we call it attribute), but also a collection of methods Method As the function in C++/C Define procedure with input and output Example: People Think() Eat() Sleep()
Method Inheritance Methods also can be inherited Think ( ) Talk ( ) Love ( ) Eat( ) Sleep( ) Survive( ) photosynthesis( ) Multiple Level Inheritance is allowed
Overwrite of Methods So how about the situation below ? Center Radius Draw( ) Describe( ) Draw( ) Circle c = new Circle(); c.Draw();
Overload of Methods Can we have two methods with the same name but different parameters in one class ? public void get() { System.out.print(“No parameters!”); } public void get(int par) { System.out.print(“Has parameter of ”+ par); } Overload ol= new Overload(); ol.get(); ol.get(32); Public Class Overload No parameters! Has parameter of 32
Summary of Class Consist of Attributes and Methods Represents a collection of data and functions which have relationship to each other Other features Information hiding Data abstraction Encapsulation Modularity Polymorphism Inheritance
Class in Java Programming Personally, I classify the Classes in Java Programming into two types: Entrance Class (Project Class) With main method in the Class The entrance and control center of the whole program Accessories Class Provide functional part Call in the main function to create instance HelloWorld.java is an Entrance Class The method in Accessories Class being called should be public!
Example CEO Class Constructed Function: Run when the object is initiated Define the attributes for Class CEO Set to be public so that the function in CEO can be called in other Class
Example (cont.) HelloWorld Class Create an instance (steve) of Class CEO Reset the name of the instance by the method setName in Class CEO Get the name of the instance by the method getName in Class CEO
Example Result The system print out: Hello World in Java! My name is Steve Jobs
Thank you