1 / 43

CSC 224 Java for Programmers

CSC 224 Java for Programmers. Winter 2002 (2002/01/07 -- 2002/03/13) Monday/Wednesday 3:10 -- 4:40 pm Instructor: John Petlicki Office hours: Monday and Wednesday 1:30 – 3:00 pm (CST Building) E-mail: jpetlick@condor.depaul.edu Home page: http://www.depaul.edu/~jpetlick. Review of Resources.

Download Presentation

CSC 224 Java for Programmers

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CSC 224 Java for Programmers Winter 2002 (2002/01/07 -- 2002/03/13)Monday/Wednesday 3:10 -- 4:40 pm Instructor: John PetlickiOffice hours: Monday and Wednesday 1:30 – 3:00 pm (CST Building)E-mail: jpetlick@condor.depaul.eduHome page: http://www.depaul.edu/~jpetlick

  2. Review of Resources • CD-ROM of "Java Software Solutions" contains: • Java(TM) 2 SDK, Standard Edition (for Microsoft Windows) • Forte for Java Community Edition (for Microsoft Windows) • Slides in PowerPoint 97 format • Keyboard materials • Example programs

  3. Simple Object-oriented Strongly typed Interpreted Architecture neutral Garbage collected Multithreaded Robust Secure Portable Characteristics of Java

  4. Simple • Many programmers are already familiar with Java syntax (borrowed from C and C++). • Difficult aspects of C++ are removed. • No header files • No pointer arithmetic (pointer Syntax) • No structures or unions • No operator overloading • No virtual base classes • Etc.

  5. Object-oriented • A technique of developing programs by creating entities that contain logically related • data and • methods that interface to the data

  6. Strongly typed • Every variable must have a declared type. • Java has eight primitive types • 4 types of integers • 2 types of floating numbers • 1 character type (for Unicode characters) • 1 boolean type for truth values

  7. Interpreted • The Java source code is compiled into Java bytecode. • The Java interpreter can execute Java bytecodes on any machine to which the interpreter has been ported.

  8. Architecture neutral • Java bytecode can be run on many different processors. • Bytecode • is not dependent on the machine code of any particular computer. • is designed to be easily translated into the native machine code of any machine.

  9. Garbage Collected • The programmer does not have to explicitly return allocated memory to the system. • Java performs automatic garbage collection when object references are lost.

  10. Multithreaded • A program can be designed as multithreaded in order to perform multiple tasks at the same time • Can take advantage of multiprocessor systems

  11. Robust • Emphasis on early checking of possible problems. • Dynamic run-time checking. • Eliminate situations that are error-prone • Pointer model eliminates possibility of overwriting memory and corrupting data

  12. Secure • Security features • Java will not corrupt memory outside its own process space. • Web browser can prevent Java applets from reading or writing local files • And more

  13. Portable • The size of primitive data types and the behavior of arithmetic on them is specified and constant. • The libraries have portable interfaces – the abstract Window class has implementations for UNIX, Windows and Macintosh.

  14. A Java Program /* * Example HelloWorld.java * Prints the message "Hello, World!“ */ public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, world.”); } }

  15. Java programming steps • Create a source code program with a text editor (HelloWorld.java) • Compile the source code into Java bytecode (javac HelloWorld.java) • Run the bytecode with a Java interpreter (java HelloWorld) • Java interpreters translate bytecode instruction to machine code • and then carry out the instruction. A compiler and interpreter are in the Java 2 SDK (Software Development Kit )

  16. Installing JDK 1.3 • For Microsoft Windows platform, run the executable j2sdk1_3 file on the CD • For other platforms other than Microsoft Windows, obtain the SDK directly from Sun, at www.java.sun.com

  17. Java Development Environments • DOS command line interface • basic with SDK 2. (javac, java) • Forte -- heavyweight IDE • forte_ce_2.exe on the CD ROM • Bluej – lightweight IDE • Download from www.bluej.org • And others

  18. Installing Bluej (optional) • Be sure the JDK is installed • Download from http://www.bluej.org/ • Download the Bluej tutorial • Follow the installation instructions

  19. Java Basics • Program structure • Naming conventions • Package • Identifiers • Reserved words • Data types • Type conversions • Arithmetic operators and expressions • Variable declaration and initialization • Assignments

  20. Packages • Java provides mechanisms to organize large-scale programs in a logical and maintainable fashion. • Class --- highly cohesive functionalities • File --- one class or more closely related classes • Package --- a collection of related classes or packages

  21. Java Class Library • The Java class library is organized into a number of packages: • java.lang --- general • java.awt --- GUI • java.io --- I/O • java.util --- utilities • java.applet --- applet • java.net --- networking

  22. Example using import // Example Time // Prints a greeting message with // the current time. importjava.util.*; public class Time { public static void main(String[] args) { System.out.println("Hello!”); System.out.println("The time is " + newDate()); } }

  23. Fully qualified class name public class Time1 { public static void main(String[] args) { System.out.println("Hello!"); System.out.println("The time is " + new java.util.Date()); } }

  24. Java Reserved Words abstract boolean break byte byvalue case cast catch char class const continue default do double else extends false final finally float for future generic goto if implements import inner instanceof int interface long native new null operator outer package private protected public rest return short static super switch synchronized this throw throws transient true try var void volatile while

  25. Identifiers • are the words a programmer creates in a program • made up of letters, digits, underscore character (_), and the dollar sign • cannot begin with a digit • Java is case sensitive, thereforeTotal andtotalare different identifiers

  26. White Space • Spaces, blank lines, and tabs are collectively called white space • White space is used to separate words and symbols in a program • Extra white space is ignored • A valid Java program can be formatted many different ways • Programs should be formatted to enhance readability, using consistent indentation

  27. data type variable name Variables • A variable is a name for a location in memory • A variable must be declared, specifying the variable's name and the type of information that will be held in it int total; int count, temp, result; Multiple variables can be created in one declaration

  28. Variables • A variable can be given an initial value in the declaration int sum = 0; int base = 32, max = 149; • When a variable is referenced in a program, its current value is used

  29. Type byte short int long float Double Storage 8 bits 16 bits 32 bits 64 bits 32 bits 64 bits Min Value -128 -32,768 -2,147,483,648 < -9 x 1018 +/- 3.4 x 1038 with 7 significant digits +/- 1.7 x 10308 with 15 significant digits Max Value 127 32,767 2,147,483,647 > 9 x 1018 Data Types

  30. Boolean Type • boolean • boolean constants: true false

  31. Character Type • char • 16-bit Unicode character. • ASCII is a subset of Unicode --- ISO-8859 (Latin-1) • Examples of character constants: 'A' 'y' '8' '*' ' ' (space) '\n' (new line).

  32. \b  backspace \f  form feed \n  new line (line feed) \r  carriage return \t  tab \"  double quote \'  single quote \\  backslash Escape Sequences \uhhhh: hex-decimal code, e.g. \u000A \ddd: octal code, e.g. \040

  33. Data Conversions Sometimes it is convenient to convert data from one type to another For example, we may want to treat an integer as a floating point value during a computation Conversions must be handled carefully to avoid losing information Widening conversions are safest because they tend to go from a small data type to a larger one (such as a short to an int) Narrowing conversions can lose information because they tend to go from a large data type to a smaller one (such as an int to a short)

  34. Data Conversions • In Java, data conversions can occur in three ways: • assignment conversion • arithmetic promotion • casting • Assignment conversion occurs when a value of one type is assigned to a variable of another • Only widening conversions can happen via assignment • Arithmetic promotion happens automatically when operators in expressions convert their operands

  35. Data Conversions Casting is the most powerful, and dangerous, technique for conversion Both widening and narrowing conversions can be accomplished by explicitly casting a value To cast, the type is put in parentheses in front of the value being converted For example, if total and count are integers, but we want a floating point result when dividing them, we can cast total: result = (float) total / count;

  36. Legal data conversion(No Information Loss)

  37. String -- a class type • Examples of string literals: "watermelon" "fig" "$%&*^%!!" "354" " " (space) "" (empty string) • Constructor String name = new String(“John”); • Concatenation operator + • methods: (page 75) • charAt(int i) • length()

  38. Arithmetic Operators and Expressions • +  addition • -  subtraction • *  multiplication • /  division • %  remainder • precedence and association

  39. Example Time2 import java.util.*; public class Time2 { public static void main(String[] args) { Calendar calendar = Calendar.getInstance(); int hour = calendar.get(Calendar.HOUR_OF_DAY); int minute = calendar.get(Calendar.MINUTE); int second = calendar.get(Calendar.SECOND); System.out.println("The time is " + hour + ":" + minute + ":" + second); System.out.println("The time is " + hour / 10 + hour % 10 + ":" + minute / 10 + minute % 10 + ":" + second / 10 + second % 10); } }

  40. Variable declaration / initialization int x, y, z; long count; char a, b; boolean flag; float massInKilos; short timeInSeconds = 245; char ch1 = 'K', ch2 = '$'; boolean isNew = true; double maxVal = 35.875;

  41. Assignments total = quantity * unitPrice; count = count + 1; count += 1; count++;

  42. Constants • an identifier that is similar to a variable except that it holds one value for its entire existence • The compiler will issue an error if you try to change a constant • In Java, we use the finalmodifier to declare a constant final int MIN_HEIGHT = 69; • Constants: • give names to otherwise unclear literal values • facilitate changes to the code • prevent inadvertent errors

  43. Operator Precedence What is the order of evaluation in the following expressions? a + b + c + d + e a + b * c - d / e 1 2 3 4 3 1 4 2 a / (b + c) - d % e 2 1 4 3 a / (b * (c + (d - e))) 4 3 2 1

More Related