Java Programming - PowerPoint PPT Presentation

About This Presentation
Title:

Java Programming

Description:

Java Programming CIS 421 Web-Based Java Programming Course Text Text: Computing with Java: Programs, Objects, Graphics Alternate 2nd Edition Art Gittleman Scott ... – PowerPoint PPT presentation

Number of Views:140
Avg rating:3.0/5.0
Slides: 37
Provided by: HenryG5
Category:
Tags: java | programming

less

Transcript and Presenter's Notes

Title: Java Programming


1
Java Programming
  • CIS 421
  • Web-Based Java Programming

2
Course Text
  • Text
  • Computing with Java
  • Programs, Objects, Graphics
  • Alternate 2nd Edition
  • Art Gittleman
  • Scott Jones Publishers
  • ISBN 1-57676-074-X

3
Prerequsites, Tests, Public area
  • Prerequisites
  • Cis237, Mat 126, and QPA of 2.90
  • Tests Two midterms, one final.
  • Public directory
  • /export/home/public/spiegel/cis421

4
Turnin script
  • Programming Projects are submitted electronically
    using turnin script
  • See turnin handout
  • Must setup turnin once
  • To invoke
  • turnin421 ltfile1gt ltfile2gt ....
  • each item submitted separated by whitespace
  • no limit to items
  • You should receive a confirmation e-mail
    containing an
  • ls l listing of files submitted (can include
    files previously submitted)
  • Files submitted may be overwritten by subsequent
    turnin of files with same name

5
Overview of Java
  • Java Features
  • How Java Works
  • Applications vs Applets
  • Program-Driven vs Event Driven
  • Graphical User Interfaces (GUI)

6
Java Features
  • Simple, Object-Oriented, Familiar
  • Robust and Secure
  • Architecture Neutral and Portable
  • High Performance
  • Interpreted, Threaded, and Dynamic

7
Simple, OO, Familiar
  • Its simplicity comes from the fact that there are
    no pointers in Java. Therefore, the programmer
    does not have to manage pointers and the
    resultant problems that pointers bring.
  • All programs in Java are based on objects
  • Java uses the familiar syntax and fundamental
    control structures of C/C

8
Robust and Secure
  • Robust programs run without crashing due to
    programming errors, erroneous input, or failure
    of external devices. Java has many checks at
    compile-time and provides run-time exception
    handling to deal with unexpected events.
  • Security, especially across the internet,
    requires careful measures, which are implemented
    in Java

9
Architecture Neutral and Portable
  • Java programs run on a variety of processors
    using various operating systems
  • Portability depends not only on architecture but
    also on implementation. Java specifies the
    language carefully to reduce implementation
    dependencies.

10
High Performance
  • Java versions continually increase performance
    capabilities.
  • In network applications, communication delays
    usually far exceed performance delays.

11
Interpreted, Threaded, and Dynamic
  • Interpreted, not compiled.
  • Threaded capable of multi_tasking and
    concurrent processing, even across the internet
  • Dynamic linking to library code as it needs it.
  • Java is ideally suited for general, interactive,
    and network programming

12
How Java Works
Java Compiler
Java Source Code
Java Byte Code
Java Interpreter For Processor 1
Java Interpreter For Processor 2
13
Setting up Unix for Java
  • Make a directory called java in your home
    directory.
  • Put this java directory in your CLASSPATH in
    .cshrc with the command (this is one long line)
  • setenv CLASSPATH .home/javawhatever_is_there
    _already
  • this allows packages starting from your java
    subdirectory
  • Put the directory /usr/j2sdk1.4.0_03/bin in your
    path variable in the .login file.
  • Give the commands source .login and source .cshrc
    to make the changes effective.
  • These changes are applied automatically on
    subsequent logins

14
Testing Changes
  • acad gt java -version
  • java version "1.4.0_03"
  • Java(TM) 2 Runtime Environment, Standard Edition
    (build 1.4.0_03-b04)
  • Java HotSpot(TM) Client VM (build 1.4.0_03-b04,
    mixed mode)
  • acad gt

15
Applications vs Applets
  • Applications run like programs written in other
    languages. They usually are standalone, running
    at the command line.
  • Applets are usually small applications that are
    embedded in a web-page and run on the internet in
    a web browser.

16
Building an Application
  • Edit the source file either in your favorite
    editor, or IDE, and save it as ltfilegt.java
  • The file name must be the same as the one and
    only public class name in the file
  • Compile by giving the command
  • javac ltfilegt.java
  • at the command line of a DOS or Unix window.
  • Run the program by giving the command
  • java ltfilegt

17
hello.java
  • // File hello.java
  • // Compiler Sun javac
  • // Compile javac hello.java
  • // Executable hello.class
  • // Execute java hello
  • //
  • // Purpose Prints usual first
  • // program

18
hello.java
  • public class hello
  • public static void main(String args)
  • int x 3
  • System.out.println(Hello, World!
  • \nx (x) )

19
Application Programs
  • The file name must be the same as the one and
    only public class in the file.
  • This public class must have a static method
    called main (Why static??)
  • public static void main( String args)
  • local declarations and statements

20
Exercise
  • Setup your Unix account to compile and run a Java
    Application program. Test it with the HelloWorld
    program hello.java.
  • The example is in the java/hello subdirectory in
    the instructors public area

21
Basic Java Programming
  • The C/C component
  • Comments C/C style
  • Identifiers and keywords
  • Types, variables, expressions
  • Control structures
  • Functions
  • System output
  • Console input
  • Packages

22
Identifiers and Keywords
  • A Java identifier must start with a letter,
    followed by 0 or more letters and/or digits.
    Java is case-sensitive.
  • Keywords cannot be used as user-identifiers. See
    text for a list of keywords.
  • Style recommended preferred consistency is a
    must!
  • Class names begin with a capital letter
  • Variable names begin with a lower case letter
  • Function names begin with a verb which is
    lowercased.
  • Constants are all upper case.
  • Multiple word names are lower case except for the
    beginning of each word component.

23
Examples
  • Request would be a class name
  • myRequest would be a variable name
  • getRequest() would be a function (method) name
  • THE_REQUEST would be a constant.
  • The Java standard style convention should be
    followed in our programming.

24
Standard Types
  • char ascii or unicode
  • boolean true or false
  • Numerical types various sizes of numbers

25
Numerical Types
  • Standard numerical types in Java are
  • type size least value greatest value
  • ________________________________________
  • byte 8 -128 127
  • short 16 -32768 32767
  • int 32 -2147483648 2147483647
  • long 64 -263 263-1
  • float 32 -3.4 x 1038 3.4 x 1038
  • double 64 -1.7 x 10308 1.7 x 10308
  • 7 and 15 digit accuracy respectively

26
Variables and Expressions
  • Java follows the syntax of C/C for expressions
    and assignment.
  • The operators for the standard types are the same
    as those for C/C
  • Remember that is assignment and
  • is equal relational operator.
  • You should NOT use in a cascading manner.

27
Control Structures
  • The control structures are the same as C/C
  • if
  • switch
  • for
  • while
  • do while
  • Note unlike C/C, where the expression can
    evaluate to int, the test expression MUST be of
    type boolean

28
Functions (Methods)
  • In Java there are no independent functions
  • A function (method) is always a member function
    of some class.
  • The syntax is very similar.
  • modifier(s) resulttype name( ltparamsgt)
  • local declarations
  • and statements
  • // the modifier is public, private, or
    protected, and can also be prefaced static

29
System Output
  • Output is generated by using streams. The stream
    classes are defined in the standard Java package
    java.io.
  • The class System in the package java.lang
    contains three different streams for use in Java
    programs
  • System.in the keyboard
  • System.out the screen
  • System.err the screen
  • System.out.println( any string)

30
Examples of Output
  • To print an object, the object should have
    overloaded the method toString that is inherited
    from the Class Object.
  • Standard types have this method.
  • System.out.println(The value of x x )
  • The is the concatenation operator for strings.

31
System Input
  • System input is quite complicated, so many
    authors provide a package of IO functions for the
    standard types.
  • We prefer to avoid these. A class InputReader is
    in the public java directory for text input.
  • More fundamental IO will be discussed later
  • Java is made for GUIs, particularly components
    such as TextFields, Menus. etc

32
Examples of input
  • helloYou.java
  • helloInt.java
  • java/hello directory in public area

33
Things that are different
  • String concatenation is the operator
  • It takes two operands which are stringable,
    that is any operand that is a string or has the
    toString method overloaded for that type.
  • System.out.println(76 trombones)

34
Packages
  • Java organizes code into packages which
    correspond to directories in the file system.
  • Each Java class is contained in a package.
  • The default package is . (the current
    directory)
  • The System class is found in java.lang
  • The Applet class is found in java.applet

35
Comments
  • When calling methods of the same class, we do not
    need to use the class name as a prefix.
  • When calling methods of another class, we use the
    class name or object of that class as a prefix.

36
Objects
  • Still declared as a class
  • No separate sections
  • Each declaration specified with access
  • public, private, protected
  • static declarations part of class, but not object
  • non-static declarations part of instantiated
    objects only
Write a Comment
User Comments (0)
About PowerShow.com