Presentation is loading. Please wait.

Presentation is loading. Please wait.

IDE (Integrated Development Environment)

Similar presentations


Presentation on theme: "IDE (Integrated Development Environment)"— Presentation transcript:

1 IDE (Integrated Development Environment)
5/6/2019 IDE (Integrated Development Environment) A customized plain text editor Compiler Loader Debugging tool vi (or emacs) javac hello.java java hello ...... JDK (Java Development Kit) = IDE+JRE Eclipse = IDE 5/6/2019 IT 179

2 ProblemsSolutions cycle
Customers System analyst, Project leader Problems Senior Programmers Syntax Semantics (human) Algorithms Programmers Programs in JAVA (or any high level Programming Language) compiler Assembly IDE (computers) VM Assembler Machine code linker Results 5/6/2019 IT 179

3 How much effort in solving a problem
After ITK 168 This is a basic requirement. We need to reduce this portion 6 month from now After ITK 179 This is more important and difficult; data structures, algorithm analysis 5/6/2019 IT 179

4 Procedure- v. Object- oriented
To solve a program is: To find a way to manipulate data -- We design procedures Procedure-Oriented Programming Statements + functions  programs To find objects to model the problem – We choose data (object) Object-Oriented Programming Classes + Objects  programs (interfaces, methods, attributes…) 5/6/2019 IT 179

5 Robot Class name Attributes Constructor Services, methods
int street int avenue Direction direction ThingBag backbag ... Robot(City aCity, int aStreet, int aAvenue, Direction aDir) void move() void turnLeft() void pickThing() void putThing() Class name Attributes Constructor Services, methods UML class diagram for Robot 5/6/2019 IT 179

6 Modeling what? Modeling Robots in a City with Software Classes. Robot
int street int avenue Direction direction ThingBag backbag ... Robot(City aCity, int aStreet, int aAvenue, Direction aDir) void move() void turnLeft() void pickThing() void putThing() City String name int stree_No int ave_No ... .... City( ) 5/6/2019 IT 179

7 class defined in the package
Anatomy of a Java Program class defined in the package import javax.swing.JOptionPane; public class time{ public static void main(String args[]){ int x,y,z; String X,Y; X = JOptionPane.showInputDialog("Input x"); Y = JOptionPane.showInputDialog("Input y"); x = Integer.parseInt(X); y = Integer.parseInt(Y); z = x*y; JOptionPane.showMessageDialog( null, x + " * " + y + " = " + z, "The product of " + x + " and " + y, JOptionPane.PLAIN_MESSAGE ); System.exit(0); } Variable declaration classes methods arguments 5/6/2019 IT 179

8 Task: deliver X from (1,2) to (3,1) and step away
import becker.robot.*; public class DeliverX{ public static void main(String args[]){ // set up Initial situation City A = new City(); Thing X = new Thing(A,1,2); Robot karel = new Robot(A,0,0, Direction.East); // direct the robot karel.move(); karel.turnLeft(); karel.turnLeft(); karel.turnLeft(); karel.pickThing(); karek.move(); karel.move(); karel.move(); karel.putThing(); } 1 2 3 4 X 1 2 3 4 named Karel 5/6/2019 IT 179

9 Anatomy of a Java Program
import becker.robot.*; public class DeliverX{ public static void main(String args[]){ // set up Initial situation City A = new City(); Thing X = new Thing(A,1,2); Robot karel = new Robot(A,0,0,Direction.East); // direct the robot karel.move(); karel.turnLeft(); karel.turnLeft(); karel.turnLeft(); karel.pickThing(); karek.move(); karel.move(); karel.move(); karel.putThing(); } 5/6/2019 IT 179

10 Package: collection of classes
// Java API: Java Application Programming Interface // (java., javax.) // GUI: Graphical User Interface // // using swing package, JOptionPane class // showMessageDialog method import javax.swing.JOptionPane; public class TestPane{ public static void main(String args[]){ JOptionPane.showMessageDialog( null, "Welcome\nTo\nswing\nPackage"); System.exit(0); } 5/6/2019 IT 179

11 A Java Program: // Text-printing program. public class Welcome1 {
// main method begins execution of Java application public static void main( String args[] ) { System.out.println( "Welcome to Java Programming!" ); } // end method main } // end class Welcome1 /********************************************************* *(C) Copyright by * * * **********************************************************/ 5/6/2019 IT 179

12 Reusing Codes Composition A class has another class, “has a” relation
Inheritance A class has another class, “has a” relation A car has an engine A class inherits another class, “is a” relation An SUV is a car 5/6/2019 IT 179

13 Composition: has a A DeliverX has a main,
The main has a City, Thing, and a Robot import becker.robot.*; public class DeliverX{ public static void main(String args[]){ // set up Initial situation City A = new City(); Thing X = new Thing(A,1,2); Robot karel = new Robot(A,0,0, Direction.East); ...... } 5/6/2019 IT 179

14 Composition: has a A BankAccount has a Client, has a List of BankTransaction public class BankAccount { private Client client; private List<BankTransaction> transactions; // other fields ... } 5/6/2019 IT 179

15 Classes: A class is a concept of something Vehicle
4 wheels, seats, engine, windows, color…… accelerate, start, stop, turn, lock, Truck ………… Sedan ………… Focus ………… Matrix ………… SUV ………… 5/6/2019 IT 179

16 Inheritance: From membership point of view
A SUV is a vehicle, but a vehicle may not be a SUV Any SUV is a Vehicle Vehicle SUV Base concept Honda Pilot Derived concept Java Object Number Base class Integer Double Derived class 5/6/2019 IT 179

17 Inheritance: From functionality point of view
All vehicle can do, SUV can too The SUV has every properties and function of the Vehicle SUV Vehicle Derived class Base class 5/6/2019 IT 179

18 UML (Unified Modeling Language) Diagram
Vehicle SUV Truck Sedan Honda Pilot Focus Matrix Matrix XRS 5/6/2019 IT 179

19 my_a is invisible to B = A - my_a: int +get_a():int B B - my_b: int
+get_b():int B - my_b: int +get_a():int +get_b():int = 5/6/2019 IT 179

20 Base class (superclass) & Derived class (extended subclass)
// A is a base class public class A { private int my_a; Public A(int a) { my_a = a; } public int get_a() { return my_a; // B is a derived class Public class B extends A { private int b; public B(int a, int b) { super(a); this.b = b; } public int get_b() { return b; A a = new A(2); B b = new B(3,7); I = a.get_a(); J = b.get_a(); K = b.get_b(); B inherits A’s functions and variables. 5/6/2019 IT 179

21 An enhanced robot = Robot ExperimentRobot ExperimentRobot int street
int avenue Direction direction ThingBag backback Robot(City aCity, int aStreet, int anAvenue, Direction aDir) void move() void turnLeft() void pickThing() void putThing() An enhanced robot ExperimentRobot int street int avenue Direction direction ThingBag backback ExperimentRobot(City aCity, int aStreet, int anAvenue, Direction aDir) void move() void turnLeft() void pickThing() void putThing() void turnAround(); void turnRight(); void move3(); ExperimentRobot ExperimentRobot(City aCity, int aStreet, int anAvenue, Direction aDir) void turnAround(); void turnRight(); void move3(); = 5/6/2019 IT 179

22 Selection sort algorithm in Java
public static class SelectionSort { public void sort(int a[]) { for (int i = 0; i<a.length-1; i++) { // select one for a[i] int j = min(a,i); exchange(a,i,j); } // select the minimum between a[s] to the end private int min(int a[], int s) {int m = s; for (int i=s; i<a.length;i++) if (a[i] < a[m]) m=i; return m; private void exchange(int[] a, int i, int j) { int temp = a[i]; a[i] = a[j]; a[j] = temp; } // end of SelectionSort 5/6/2019 IT 179


Download ppt "IDE (Integrated Development Environment)"

Similar presentations


Ads by Google