Download presentation
Presentation is loading. Please wait.
Published byHelen Kennedy Modified over 9 years ago
1
Java Programming A Brief Intro
2
Overview of Java Java Features How Java Works Program-Driven vs Event Driven Graphical User Interfaces (GUI)
3
Java Features Simple, Object-Oriented, Familiar Robust and Secure Architecture Neutral and Portable High Performance Interpreted, Threaded, and Dynamic
4
Simple, OO, Familiar Its simplicity comes from the fact that there are no explicit pointers in Java. The programmer does not have to manage pointers and the resultant problems resulting from their use All programs in Java are based on objects Java uses the familiar syntax and the same fundamental control structures of C/C++ Complex, nuts and bolts Unix operations are encapsulated in objects that provide easy to use interfaces e.g. Sockets
5
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
6
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. Not perfectly independent, but better than most Java API includes just about everything
7
High Performance Java versions continually increase performance capabilities. In network applications, communication delays usually far exceed performance delays.
8
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
9
How Java Works JavaSourceCode JavaCompiler JavaByteCode Java Interpreter For Processor 1 Java Interpreter For Processor 2
10
Setting up Linux/Unix for Java Make a directory called java somewhere. Put this java directory in your CLASSPATH in your environment (.cshrc on Unix) setenv CLASSPATH “.:$home/java:whatever_is_there_already“ this allows packages starting from your java subdirectory Put your JDK’s bin directory in your path variable (in the.login file?) Give commands to make the changes effective. These changes should be applied automatically on subsequent logins
11
Testing Changes prompt > java -version java version "1.5.0_01" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_01-b08) Java HotSpot(TM) Client VM (build 1.5.0_01-b08, mixed mode, sharing) prompt >
12
Building an Application Edit the source file either in your favorite editor, or IDE, and save it as.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.java at the command line of a DOS or Unix window. Run the program by giving the command java
13
hello.java // File: hello.java // Compiler: Sun javac // Compile: javac hello.java // Executable: hello.class // Execute: java hello // // Purpose: Prints usual first // program
14
hello.java public class hello { public static void main(String[] args) { int x = 3; System.out.println(“Hello, World!” + “\nx = “ + (x) ); }
15
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 }
16
Exercise Setup your machine to compile and run a Java Application program. Test it with the HelloWorld program hello.java. The example is in the java/hello subdirectory on the instructor’s website
17
Basic Java Programming The C/C++ component Comments – C/C++ style Identifiers and keywords Types, variables, expressions Control structures Functions System output Console input Java is not accommodating to non-GUI input äread() method only for characters Packages
18
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.
19
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.
20
Standard Types char – ascii or unicode boolean – true or false Numerical types – various sizes of numbers
21
Numerical Types Standard numerical types in Java are typesizeleast valuegreatest value ________________________________________ byte8-128127 short16-3276832767 int32-21474836482147483647 long64-2 63 2 63 -1 float*32~ -3.4 x 10 38 ~ 3.4 x 10 38 double* 64~ -1.7 x 10 308 ~ 1.7 x 10 308 * 7 and 15 digit accuracy respectively
22
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.
23
Control Structures The control structures are the same as C/C++ if switch for while do – while Note: unlike C/C++, where a test expression can evaluate to int, a test expression MUST be of type boolean
24
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( ) { local declarations and statements } // the modifier is public, private, or protected, and can also be prefaced static
25
Methods: Parameters Different rules than C++ technically, all pass is by value objects not passed, their address is äpassing address means in method, there are two references to same object effect is same as pass by reference, as change to object inside method changes caller’s (same) object äsimple types can’t be passed by reference must be wrapped in an object problem of immutability in java.lang objects
26
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.inthe keyboard System.outthe screen System.errthe screen System.out.println( any string)
27
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.
28
System Input System input is quite complicated, so many authors provide a package of IO functions for the standard types. Dependence on anything proprietary defeats the purpose of Java. A class InputReader is in the public java directory for text input. it uses only pure Java to perform input More fundamental IO will be discussed later Java is made for GUIs, particularly components such as TextFields, Menus. etc;
29
Examples of input helloYou.java helloInt.java java/hello directory on web
30
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”); Beware: System.out.println(23+45) äWhat is output? 2345, or 68?
31
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) Is. In your classpath???? The System class is found in java.lang The Applet class is found in java.applet
32
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 an object of that class as a prefix.
33
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.