introduction is 313 4.1.2003. outline goals of the course course organization java command line ...

Post on 17-Jan-2016

214 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Introduction

IS 3134.1.2003

Outline Goals of the course Course organization Java command line Object-oriented programming File I/O

Business Application Development Business process analysis Systems analysis Systems integration Change management Information systems planning COTS procurement Project management Programming

Goals of course Increase breadth of Java exposure Increase depth of programming

experience

Breadth Collections JDBC GUI Threads Networking Distributed computing XML

Characteristics of business applications Need for adaptability Part of larger systems Large and complex

Emphasis Good program design Good programming style Building flexibility and maintainability into

the code Vectors of change!

Resources Office hours

CST 453 12 noon – 3 pm Tuesday

COL web site http://dlweb.cti.depaul.edu/

Course resource site http://josquin.cti.depaul.edu/~rburke/s03/is313/

Syllabus Alternating

Quizzes Assignments

Pre-test “homework #0”

Final 6/11

Grading rubric Knowledge

Program shows that you know the important Java concepts

Reasoning Program shows good design decisions

Communication Program is readable

Homework #0 Pre-test Simple Java class Main method that tests it New?

jar

Java command line Running DOS command shell Navigating to the location of your files Running JDK programs

JDK programs javac

java compiler .java -> .class

java java virtual machine class name

jar java archive

jar Create an archive

jar cvf jar-file files

Issues “current” directory

in DOS shell classpath

-classpath for javac -cp for java

wildcards multiple files

Object-oriented programming Class

template for an object associates data structure with data

manipulation Object

instance of a class Methods

“program” part of the object Constructor

special method called at creation time

Method signature Consists of

method name parameter types return type

Example public Baz toBaz (Bar b, Foo f)

Signature Baz toBaz (Bar, Foo)

Inheritance Class is a subclass of another class

All (non-private) methods and instance variables from superclass belong to subclass

programmer gets computational power for “free”

Overriding Supply subclass method with same signature

as superclass method

Interfaces Collection of method signatures

no implementation Use

establish how objects will interact without specifying what they do

A class “implements” an interface Interfaces can inherit from others

Why use interfaces? Single inheritance

but multiple interfaces Efficiency

inheritance is expensive “Loose coupling”

Example class C1 implements I1 class C2 extends C1 implements I2 Which are legal?

C1 o1;o1 = new I1 (); o1 = new C1 ();o1 = new I2 ();o1 = new C2 ();I1 o2;o2 = new C1 ();o2 = new C2 ();C2 o3;o3 = new C1 ();o3 = new C2 ();I2 o4;o4 = new C1 ();o4 = new C2 ();

Input and Output Sources

files network strings keyboard

Streams input output

Text input Reading from the keyboard

String s = new BufferedReader (new InputStreamReader(System.in)).readLine();

Reading from a fileString s = new BufferedReader (

new FileReader(“data.txt”)).readLine();

Text output Writer Output to file

BufferedWriter w = new BufferedWriter (

new FileWriter (“output.txt”));

w.println (“foo”);

Actual examplepublic void load (String filename){ BufferedReader in = null; try { in = new BufferedReader (new FileReader (filename)); } catch (IOException e) { System.err.println ("Error opening file: " + filename + " Exiting."); System.exit(-2); } String line; try { while ((line = in.readLine()) != null) { try { ... do something with the line ...; } catch (java.text.ParseException e) { System.err.println("Couldn't parse date: " + line); } } } catch (IOException e) { System.err.println ("Error reading file " + filename + "."); }}

StringTokenizer Takes a string apart

String text = “Whatever you want, you’ll get it.”;

StringTokenizer st = new StringTokenizer (text);

while (st.hasMoreTokens())

{

String word = st.nextToken ();

... process token ...

}

top related