1 / 36

Java Programming

Java Programming. CIS 421 Web-Based Java Programming. Course Text. Text: Computing with Java: Programs, Objects, Graphics Alternate 2 nd Edition Art Gittleman Scott Jones Publishers ISBN: 1-57676-074-X. Prerequsites, Tests, Public area. Prerequisites:

tasya
Download Presentation

Java Programming

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. 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 <file1> <file2> .... • 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 2 Java Interpreter For Processor 1

  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/java:whatever_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 > 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 >

  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 <file>.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 <file>.java at the command line of a DOS or Unix window. • Run the program by giving the command java <file>

  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 instructor’s 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( <params>) { 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

More Related