Data Structure: Java Programming 1 Min Chen School of Computer Science and Engineering Seoul National University.

Slides:



Advertisements
Similar presentations
Lab Information Security Using Java (Review) Lab#0 Omaima Al-Matrafi.
Advertisements

Object Oriented Programming in Java George Mason University Fall 2011
Introduction to Java Programming, 4E
Data Structure: Java Programming 1 Min Chen School of Computer Science and Engineering Seoul National University.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. ETC - 1 What comes next? Recursion (Chapter 15) Recursive Data Structures.
Introduction to Java Lab CS110A – Lab Section 004 Instructor: Duo Wei.
HST 952 Computing for Biomedical Scientists Lecture 2.
CS-341 Dick Steflik Introduction. C++ General purpose programming language A superset of C (except for minor details) provides new flexible ways for defining.
For more Lectures and Notes Visit
Introduction to Java. What is Java? A computer programming language that can be run as either an application or an applet. –What is the difference? It.
JAVA: An Introduction to Problem Solving & Programming, 6 th Ed. By Walter Savitch ISBN © 2012 Pearson Education, Inc., Upper Saddle River,
A Short Introduction to JAVA
CSE 1301 J Lecture 2 Intro to Java Programming Richard Gesick.
01 Introduction to Java Technology. 2 Contents History of Java What is Java? Java Platforms Java Virtual Machine (JVM) Java Development Kit (JDK) Benefits.
Java Course Outline Kumar Harshit, USW. Course Description Teaches students to program using the Java programming language with the help of the Netbeans.
BASIC JAVA PROGRAMMING TUTORIAL. History  James Gosling and Sun Microsystems  Oak  Java, May 20, 1995, Sun World  Hot Java –The first Java-enabled.
Introduction to Java Tonga Institute of Higher Education.
Introduction to Python Dr. Bernard Chen Ph.D. University of Central Arkansas July 9 th 2012
Introduction to Java Programming with JBuilder 4
Programming Languages and Paradigms Object-Oriented Programming.
CMSC 202 Computer Science II for Majors Object-Oriented Programming.
An intro to programming. The purpose of writing a program is to solve a problem or take advantage of an opportunity Consists of multiple steps:  Understanding.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Programming Languages Machine.
Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved Chapter 1 Introduction to Computers,
Introduction to Programming Languages. Problem Solving in Programming.
Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved Chapter 1 Introduction to Programs,
Unified Modeling Language, Version 2.0
MT311 Java Application Development and Programming Languages Li Tak Sing( 李德成 )
Introduction to Computers and Java Chapter 1.3. A Sip of Java: Outline History of the Java Language Applets A First Java Program Compiling a Java Program.
1.  At the end of this slide, student can:  Explore tools, features, properties and interface of the Textpad.  Creating a new project.  Open and run.
Session One Introduction. Personal Introduction Role of programmers Robot Examination HUD & HID Uploading Code.
Programming for Beginners Martin Nelson Elizabeth FitzGerald Lecture 13: An Introduction to C++
1 Module Objective & Outline Module Objective: After completing this Module, you will be able to, appreciate java as a programming language, write java.
Введение в JAVA. Java Java – язык программирования: объектно-ориентированный кроссплатформенный строго-типизированный.
CSCE 2013L: Lab 1 Overview  Java Basics The JVM Anatomy of a Java Program  Object-Oriented Programming Overview  Example: Payroll.java JDK Tools and.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Chapter 1 Introduction to.
© 2012 Pearson Education, Inc. All rights reserved. 1-1 Why Java? Needed program portability – Program written in a language that would run on various.
Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved Chapter 1 Introduction to Programs.
Java Programming, Second Edition Chapter One Creating Your First Java Program.
Introduction to Java Programming with Forte Y. Daniel Liang.
Aspect Oriented Programming Sumathie Sundaresan CS590 :: Summer 2007 June 30, 2007.
Lecture 1 Introduction Figures from Lewis, “C# Software Solutions”, Addison Wesley Richard Gesick.
Chapter 1: Introduction Java Programming Language How the Java Virtual Machine Works (compiling, etc…) Update by: Dan Fleck Coming up: The Java Programming.
National Taiwan University Department of Computer Science and Information Engineering National Taiwan University Department of Computer Science and Information.
O AK R IDGE N ATIONAL L ABORATORY U. S. D EPARTMENT OF E NERGY 1 Java Pros and Cons − Roundtable American Nuclear Society Annual Meeting June 16, 2004.
Preliminaries CS 310: Object-oriented Programming Java API.
4-Nov-15 Air Force Institute of Technology Electrical and Computer Engineering Object-Oriented Programming Design Topic 1: The Java Environment Maj Joel.
 Instructor: Dr. Jason Nichols –  Office Hours: – 9:30-10:30 M/W/F or by appointment – Business Building.
JAVA Programming “When you are willing to make sacrifices for a great cause, you will never be alone.” Instructor: รัฐภูมิ เถื่อนถนอม
1 Unified Modeling Language, Version 2.0 Chapter 2.
Application Architecture Using Java Hong Li. Introduction Developed by a team led by James Gosling at Sun Microsystem. Originally called Oak, designed.
CSc 201 Introduction to Java George Wells Room 007, Hamilton Building
© 2012 Pearson Education, Inc. All rights reserved types of Java programs Application – Stand-alone program (run without a web browser) – Relaxed.
Introduction to OOP CPS235: Introduction.
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. CSC 110 – INTRO TO COMPUTING - PROGRAMMING Overview of Programming.
Computer Science A 1. Course plan Introduction to programming Basic concepts of typical programming languages. Tools: compiler, editor, integrated editor,
ITP 109 Week 2 Trina Gregory Introduction to Java.
COMPUTER SCIENCE & TECHNOLOGY DEGREE PROGRAMME FACULTY OF SCIENCE & TECHNOLOGY UNIVERSITY OF UVA WELLASSA ‏ Properties of Object Oriented Programming.
Liang, Introduction to Java Programming, Ninth Edition, (c) 2013 Pearson Education, Inc. All rights reserved. 1 Chapter 1 Introduction.
Learning Plan 6 Java Programming Intro to Object Oriented Programming.
Introduction to Java Programming, 4E Y. Daniel Liang.
Sung-Dong Kim, Dept. of Computer Engineering, Hansung University Java - Introduction.
Introduction CMSC 202 Fall Instructors Mr. Ryan Bergeron – Lecture Section 01 Tues/Thu 1:00 – 2:15 am, Sondheim 111 – Lecture Section 04 Tues/Thu.
Concepts of Object Oriented Programming
Chapter 1 Introduction to Computers, Programs, and Java
Chapter No. : 1 Introduction to Java.
Getting Started ARCS Lab..
Introduction to Java.
Outcome of the Lecture Upon completion of this lecture you will be able to understand Fundamentals and Characteristics of Java Language Basic Terminology.
Presentation transcript:

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