9/12/2015it 2751 ide ( integrated development environment ) 1.a customized plain text editor...
TRANSCRIPT
![Page 1: 9/12/2015IT 2751 IDE ( Integrated Development Environment ) 1.A customized plain text editor 2.Compiler 3.Loader 4.Debugging tool JDK (Java Development](https://reader036.vdocuments.mx/reader036/viewer/2022062717/56649e3f5503460f94b30629/html5/thumbnails/1.jpg)
04/19/23 IT 275 1
IDE (Integrated Development Environment)1. A customized plain text editor2. Compiler3. Loader4. Debugging tool
JDK (Java Development Kit) = IDE+JRE
Eclipse = IDE
1. vi (or emacs)2. javac hello.java3. java hello4. ......
![Page 2: 9/12/2015IT 2751 IDE ( Integrated Development Environment ) 1.A customized plain text editor 2.Compiler 3.Loader 4.Debugging tool JDK (Java Development](https://reader036.vdocuments.mx/reader036/viewer/2022062717/56649e3f5503460f94b30629/html5/thumbnails/2.jpg)
04/19/23 IT 275 2
ProblemsSolutions cycle
Problems
System analyst, Project leader
Algorithms
Senior Programmers
Programs in JAVA (or any high level Programming Language)
compiler
AssemblyAssembler
Machine code
linkerResults
Customers
Programmers
SyntaxSemantics
(human)
IDE(computers)VM
![Page 3: 9/12/2015IT 2751 IDE ( Integrated Development Environment ) 1.A customized plain text editor 2.Compiler 3.Loader 4.Debugging tool JDK (Java Development](https://reader036.vdocuments.mx/reader036/viewer/2022062717/56649e3f5503460f94b30629/html5/thumbnails/3.jpg)
04/19/23 IT 275 3
Procedure- v. Object- orientedTo 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…)
![Page 4: 9/12/2015IT 2751 IDE ( Integrated Development Environment ) 1.A customized plain text editor 2.Compiler 3.Loader 4.Debugging tool JDK (Java Development](https://reader036.vdocuments.mx/reader036/viewer/2022062717/56649e3f5503460f94b30629/html5/thumbnails/4.jpg)
04/19/23 IT 275 4
Robotint street
int avenue
Direction direction
ThingBag backbag
...
...
Robot(City aCity, int aStreet, int aAvenue, Direction aDir)
void move()
void turnLeft()
void pickThing()
void putThing()
...
...
Services, methods
Attributes
UML class diagram for Robot
Class name
Constructor
![Page 5: 9/12/2015IT 2751 IDE ( Integrated Development Environment ) 1.A customized plain text editor 2.Compiler 3.Loader 4.Debugging tool JDK (Java Development](https://reader036.vdocuments.mx/reader036/viewer/2022062717/56649e3f5503460f94b30629/html5/thumbnails/5.jpg)
04/19/23 IT 275 5
Modeling what?
Modeling Robots in a City with Software Classes.
Robotint street
int avenue
Direction direction
ThingBag backbag
...
...
Robot(City aCity, int aStreet, int aAvenue, Direction aDir)
void move()
void turnLeft()
void pickThing()
void putThing()
...
CityString name
int stree_No
int ave_No
...
...
....
City(...........)
....
....
....
....
![Page 6: 9/12/2015IT 2751 IDE ( Integrated Development Environment ) 1.A customized plain text editor 2.Compiler 3.Loader 4.Debugging tool JDK (Java Development](https://reader036.vdocuments.mx/reader036/viewer/2022062717/56649e3f5503460f94b30629/html5/thumbnails/6.jpg)
6
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); }}
classes methods
package
arguments
Variable declaration
class defined in the package
04/19/23IT 275
Anatomy of a Java Program
![Page 7: 9/12/2015IT 2751 IDE ( Integrated Development Environment ) 1.A customized plain text editor 2.Compiler 3.Loader 4.Debugging tool JDK (Java Development](https://reader036.vdocuments.mx/reader036/viewer/2022062717/56649e3f5503460f94b30629/html5/thumbnails/7.jpg)
04/19/23 IT 275 7
Task: deliver X from (1,2) to (3,1) and step away
X0
1
2
3
4
0 1 2 3 4import 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.move();karel.turnLeft(); karel.turnLeft();
karel.turnLeft(); karel.move();karel.pickThing();
karek.move(); karel.move();karel.turnLeft(); karel.turnLeft();karel.turnLeft();karel.move(); karel.putThing();karel.move();
}}
named Karel
![Page 8: 9/12/2015IT 2751 IDE ( Integrated Development Environment ) 1.A customized plain text editor 2.Compiler 3.Loader 4.Debugging tool JDK (Java Development](https://reader036.vdocuments.mx/reader036/viewer/2022062717/56649e3f5503460f94b30629/html5/thumbnails/8.jpg)
04/19/23 IT 275 8
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.move();karel.turnLeft(); karel.turnLeft();
karel.turnLeft(); karel.move();karel.pickThing();
karek.move(); karel.move();karel.turnLeft(); karel.turnLeft();karel.turnLeft();karel.move(); karel.putThing();karel.move();
}}
Anatomy of a Java Program
![Page 9: 9/12/2015IT 2751 IDE ( Integrated Development Environment ) 1.A customized plain text editor 2.Compiler 3.Loader 4.Debugging tool JDK (Java Development](https://reader036.vdocuments.mx/reader036/viewer/2022062717/56649e3f5503460f94b30629/html5/thumbnails/9.jpg)
04/19/23 IT 275 9
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); }}
![Page 10: 9/12/2015IT 2751 IDE ( Integrated Development Environment ) 1.A customized plain text editor 2.Compiler 3.Loader 4.Debugging tool JDK (Java Development](https://reader036.vdocuments.mx/reader036/viewer/2022062717/56649e3f5503460f94b30629/html5/thumbnails/10.jpg)
04/19/23 IT 275 10
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 1992-2003 by ...... * * ***********************************************************/
![Page 11: 9/12/2015IT 2751 IDE ( Integrated Development Environment ) 1.A customized plain text editor 2.Compiler 3.Loader 4.Debugging tool JDK (Java Development](https://reader036.vdocuments.mx/reader036/viewer/2022062717/56649e3f5503460f94b30629/html5/thumbnails/11.jpg)
04/19/23 IT 275 11
Reusing Codes
1. Composition
2. Inheritance
A class has another class, “has a” relation
A class inherits another class, “is a” relation
A car has an engine
An SUV is a car
![Page 12: 9/12/2015IT 2751 IDE ( Integrated Development Environment ) 1.A customized plain text editor 2.Compiler 3.Loader 4.Debugging tool JDK (Java Development](https://reader036.vdocuments.mx/reader036/viewer/2022062717/56649e3f5503460f94b30629/html5/thumbnails/12.jpg)
04/19/23 IT 275 12
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); ...... }}
![Page 13: 9/12/2015IT 2751 IDE ( Integrated Development Environment ) 1.A customized plain text editor 2.Compiler 3.Loader 4.Debugging tool JDK (Java Development](https://reader036.vdocuments.mx/reader036/viewer/2022062717/56649e3f5503460f94b30629/html5/thumbnails/13.jpg)
04/19/23 IT 275 13
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 ...}
![Page 14: 9/12/2015IT 2751 IDE ( Integrated Development Environment ) 1.A customized plain text editor 2.Compiler 3.Loader 4.Debugging tool JDK (Java Development](https://reader036.vdocuments.mx/reader036/viewer/2022062717/56649e3f5503460f94b30629/html5/thumbnails/14.jpg)
04/19/23 IT 275 14
Classes:A class is a concept of something
Vehicle4 wheels, seats, engine, windows, color……
accelerate, start, stop, turn, lock, ...............
Truck…………
Sedan…………
SUV…………
Matrix…………
Focus…………
![Page 15: 9/12/2015IT 2751 IDE ( Integrated Development Environment ) 1.A customized plain text editor 2.Compiler 3.Loader 4.Debugging tool JDK (Java Development](https://reader036.vdocuments.mx/reader036/viewer/2022062717/56649e3f5503460f94b30629/html5/thumbnails/15.jpg)
04/19/23 IT 275 15
Inheritance: From membership point of view
Vehicle
SUV Honda Pilot
Object
Number
IntegerDouble
Base concept
Derived concept
Java
Base class
Derived class
A SUV is a vehicle, but a vehicle may not be a SUV
Any SUV is a Vehicle
![Page 16: 9/12/2015IT 2751 IDE ( Integrated Development Environment ) 1.A customized plain text editor 2.Compiler 3.Loader 4.Debugging tool JDK (Java Development](https://reader036.vdocuments.mx/reader036/viewer/2022062717/56649e3f5503460f94b30629/html5/thumbnails/16.jpg)
04/19/23 IT 275 16
Inheritance: From functionality point of view
SUV
Vehicle
Derived class
Base class
All vehicle can do, SUV can too
The SUV has every properties and function of the Vehicle
![Page 17: 9/12/2015IT 2751 IDE ( Integrated Development Environment ) 1.A customized plain text editor 2.Compiler 3.Loader 4.Debugging tool JDK (Java Development](https://reader036.vdocuments.mx/reader036/viewer/2022062717/56649e3f5503460f94b30629/html5/thumbnails/17.jpg)
04/19/23 IT 275 17
UML (Unified Modeling Language) Diagram
Vehicle
Truck SedanSUV
MatrixFocusHonda Pilot
Matrix XRS
![Page 18: 9/12/2015IT 2751 IDE ( Integrated Development Environment ) 1.A customized plain text editor 2.Compiler 3.Loader 4.Debugging tool JDK (Java Development](https://reader036.vdocuments.mx/reader036/viewer/2022062717/56649e3f5503460f94b30629/html5/thumbnails/18.jpg)
04/19/23 IT 275 18
A
- my_a: int
+get_a():int
B
- my_b: int
+get_b():int
B
- my_b: int
+get_a():int
+get_b():int
=
my_a is invisible to B
![Page 19: 9/12/2015IT 2751 IDE ( Integrated Development Environment ) 1.A customized plain text editor 2.Compiler 3.Loader 4.Debugging tool JDK (Java Development](https://reader036.vdocuments.mx/reader036/viewer/2022062717/56649e3f5503460f94b30629/html5/thumbnails/19.jpg)
04/19/23 IT 275 19
Base class (superclass) & Derived class (extended subclass)
// A is a base classpublic class A { private int my_a;
Public A(int a) { my_a = a; }
public int get_a() { return my_a; }}
// B is a derived classPublic 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 andvariables.
![Page 20: 9/12/2015IT 2751 IDE ( Integrated Development Environment ) 1.A customized plain text editor 2.Compiler 3.Loader 4.Debugging tool JDK (Java Development](https://reader036.vdocuments.mx/reader036/viewer/2022062717/56649e3f5503460f94b30629/html5/thumbnails/20.jpg)
04/19/23 IT 275 20
An enhanced robot
Robotint street
int avenue
Direction direction
ThingBag backback
Robot(City aCity, int aStreet, int anAvenue,
Direction aDir)
void move()
void turnLeft()
void pickThing()
void putThing()
ExperimentRobot
ExperimentRobot(City aCity, int aStreet,
int anAvenue, Direction aDir)
void turnAround();
void turnRight();
void move3();
=
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();
![Page 21: 9/12/2015IT 2751 IDE ( Integrated Development Environment ) 1.A customized plain text editor 2.Compiler 3.Loader 4.Debugging tool JDK (Java Development](https://reader036.vdocuments.mx/reader036/viewer/2022062717/56649e3f5503460f94b30629/html5/thumbnails/21.jpg)
04/19/23 IT 275 21
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