Presentation is loading. Please wait.

Presentation is loading. Please wait.

Java Programming A Brief Intro. Overview of Java  Java Features  How Java Works  Program-Driven vs Event Driven  Graphical User Interfaces (GUI)

Similar presentations


Presentation on theme: "Java Programming A Brief Intro. Overview of Java  Java Features  How Java Works  Program-Driven vs Event Driven  Graphical User Interfaces (GUI)"— Presentation transcript:

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


Download ppt "Java Programming A Brief Intro. Overview of Java  Java Features  How Java Works  Program-Driven vs Event Driven  Graphical User Interfaces (GUI)"

Similar presentations


Ads by Google