CSC 224 Java for Programmers - PowerPoint PPT Presentation

About This Presentation
Title:

CSC 224 Java for Programmers

Description:

Forte for Java Community Edition (for Microsoft Windows) Slides in PowerPoint 97 format ... Forte -- heavyweight IDE. forte_ce_2.exe on the CD ROM. Bluej ... – PowerPoint PPT presentation

Number of Views:36
Avg rating:3.0/5.0
Slides: 44
Provided by: valued54
Category:
Tags: csc | forte | java | javac | programmers

less

Transcript and Presenter's Notes

Title: CSC 224 Java for Programmers


1
CSC 224 Java for Programmers
  • Winter 2002 (2002/01/07 -- 2002/03/13)
    Monday/Wednesday 310 -- 440 pm
  • Instructor John PetlickiOffice hours Monday
    and Wednesday
  • 130 300 pm (CST Building) E-mail
    jpetlick_at_condor.depaul.edu Home 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
Characteristics of Java
  • Simple
  • Object-oriented
  • Strongly typed
  • Interpreted
  • Architecture neutral
  • Garbage collected
  • Multithreaded
  • Robust
  • Secure
  • Portable

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. import java.util.
public class Time public static void
main(String args) System.out.println("He
llo!) System.out.println("The time is "
new Date())
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 catc
h char class const continue
default do double else extends false final finally
float for future generic
goto if implements import inner instanceof int int
erface long native new null
operator outer package private protected public re
st 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, therefore Total and total
    are 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
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
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
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 final modifier 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
4
3
2
3
2
4
1
a / (b c) - d e
2
3
4
1
a / (b (c (d - e)))
4
1
2
3
Write a Comment
User Comments (0)
About PowerShow.com