Showing posts with label Java basics. Show all posts
Showing posts with label Java basics. Show all posts

Sunday, 13 January 2013

Java Literals

Literals in Java

A literal is the source code representation of a fixed value.

Literals in Java are a sequence of characters (digits, letters, and other characters) that represent constant values to be stored in variables. Java language specifies five major types of literals. Literals can be any number, text, or other information that represents a value. This means what you type is what you get. We will use literals in addition to variables in Java statement. While writing a source code as a character sequence, we can specify any value as a literal such as an integer.
They are:

  • Integer literals

  • Floating literals

  • Character literals

  • String literals

  • Boolean literals
Each of them has a type associated with it. The type describes how the values behave and how they are stored. 

Integer literals:

Integer data types consist of the following primitive data types: int,long, byte, and short. byte, int, long, and short can be expressed in decimal(base 
10), hexadecimal(base 16) or octal(base 8) number systems as well. 
Prefix 0 is used to indicate octal and prefix 0x indicates hexadecimal when using these number systems for literals.

int decimal = 100;
int octal = 0144;
int hexa =  0x64;

Floating-point literals:

Floating-point numbers are like real numbers in mathematics, for example, 4.13179, -0.000001. Java has two kinds of floating-point numbers: float and double. The default type when you write a floating-point literal is double, but you can designate it explicitly by appending the D (or d) suffix. However, the suffix F (or f) is appended to designate the data type of a floating-point literal as float. We can also specify a floating-point literal in scientific notation using Exponent (short E ore), for instance: the double literal 0.0314E2 is interpreted as:

0.0314 *10² (i.e 3.14).
6.5E+32 (or 6.5E32) Double-precision floating-point literal
7D Double-precision floating-point literal
.01f Floating-point literal

Character literals:

char data type is a single 16-bit Unicode character. We can specify a character literal as a single printable character in a pair of single quote characters such as 'a', '#', and '3'. You must know about the ASCII character set. The ASCII character set includes 128 characters including letters, numerals, punctuation etc. Below table shows a set of these special characters.

 Escape  Meaning
 \n  New line
 \t  Tab
 \b  Backspace
 \r  Carriage return
 \f  Formfeed
 \\  Backslash
 \'  Single quotation mark
 \"  Double quotation mark
 \d  Octal
 \xd  Hexadecimal
 \ud  Unicode character

If we want to specify a single quote, a backslash, or a non-printable character as a character literal use an escape sequence.  An escape sequence uses a special syntax to represents a character. The syntax begins with a single backslash character. You can see the below table to view the character literals use Unicode escape sequence to represent printable and non-printable characters.

 'u0041'  Capital letter A
 '\u0030'  Digit 0
 '\u0022'  Double quote "
 '\u003b'  Punctuation ;
 '\u0020'  Space
 '\u0009'  Horizontal Tab 

String Literals:

The set of characters in represented as String literals in Java. Always use "double quotes" for String literals. There are few methods provided in Java to combine strings, modify strings and to know whether to strings have the same values.

 ""  The empty string
 "\""  A string containing
 "This is a string"  A string containing 16 characters
 "This is a " + "two-line string"  actually a string-valued constant expression, formed from two string literals

Null Literals

The final literal that we can use in Java programming is a Null literal. We specify the Null literal in the source code as 'null'. To reduce the number of references to an object, use null literal. The type of the null literal is always null. We typically assign null literals to object reference variables. For instance
s = null;

Boolean Literals:

The values true and false are treated as literals in Java programming. When we assign a value to a boolean variable, we can only use these two values. Unlike C, we can't presume that the value of 1 is equivalent to true and 0 is equivalent to false in Java. We have to use the values true and false to represent a Boolean value. 

boolean chosen = true;

Remember that the literal true is not represented by the quotation marks around it. The Java compiler will take it as a string of characters, if its in quotation marks.

Friday, 11 January 2013

Java Identifiers

Identifiers in Java

Basics in using Identifiers in Java Programming

Identifiers are programmer-designed tokens. They are used for naming classes, methods, variables, objects, labels, packages and interfaces in a program. Java identifier’s basic rules are as follows:
  1. They can have alphabets, digits, and the underscore and dollar sign characters.
  2. They must not begin with a digit.
  3. Uppercase and lowercase letters are distinct.
  4. They can be of any length.
Identifier must be meaningful, short enough to be quickly and easily typed and long enough to be descriptive and easily read. Java developers have followed some naming conventions.
  • Names of all public methods and instance variables start with a leading lowercase letter. 
  • When more than one word are used in a name, the second and subsequent words are marked with a leading uppercase letters. 
  • All private and local variables use only lowercase letters combined with underscores.
  • All classes and interfaces start with a leading uppercase letter(and each subsequent word with a leading uppercase letter).
  • Variables that represent constant values use all uppercase letters and underscores between words.
We may follow our own conventions as long as we do not break the basic rules of naming identifiers. 
The following table shows some valid and invalid identifiers:

Hello World (uses a space)
Hi JAVA! (uses a space and punctuation mark)
3value(begins with a number)
short (this is a Java keyword)
#age (does not begin with any other symbol except _ $ )

It is standard Java practice to name multiple-word identifiers in lowercase except for the beginning letter of words in the middle of the name.

Java Keywords

Keywords in Java

Java language has reserved 49 words as keywords.

Java Keywords also called a reserved word. Keywords are identifiers that Java reserves for its own use. These identifiers have built-in meanings that cannot change. Thus, programmers cannot use these identifiers for anything other than their built-in meanings. Technically, Java classifies identifiers and keywords as separate categories of tokens. Keywords are an essential part of a language definition. There are 49 reserved keywords currently defined in the Java language and they are shown in the below table.


The keywords const and goto are reserved but not used. In the early days of Java,several other keywords were reserved for possible future use. 

Thursday, 10 January 2013

Java Tokens

Tokens used in Java Programs

Reserved Keywords, Identifiers, Literals, Operators, Separators

A Java program is basically a collection of classes. A class is defined by a set of declaration statements and methods containing executable statements. Most statements contain expressions, which describe the actions carried out on data. Smallest individual unit in a program are known as tokens. The compiler recognizes them for building up expressions and statements. 

Java Character Set

The smallest units of Java language are the characters used to write Java tokens. These characters are defined by the Unicode character set, and emerging standard that tries to create characters for a large number of scripts world wide.
The Unicode is a 16-bit character coding system and currently supports more than 34,000 defined characters derived from 24 languages from America, Europe, Middle East, Africa and Asia. However, most of us use only  the basic ASCII characters, which include letters, digits and punctuation marks, used in normal English. We therefore, have used only ASCII character character set (a subset of UNICODE character set) in developing the programs. 

Java language includes five types of tokens and they are:

Monday, 7 January 2013

Data Types in Java

Different Data Types used in Java

Data type defines a set of permitted values on which the legal operations can be performed.

There are two data types available in Java:

  • Primitive Data Types
  • Reference/Object Data Types

Primitive Data Types

     Primitive Data Types defines 8 simple types of data: byte, short, int, long, char, float, double, and boolean. These can be put in four groups.


This groups include byte, short, int, and long which are for whole valued signed number. 


This group includes float and double, which represents numbers with fractional precision. 


This group includes char, which respresents symbls in a character set like letters and numbers. 


This group includes boolean, which is a special type for representing true/false.

Data Type Default Value (for fields) Size (in bits) Minimum Range Maximum Range
 byte  0 8 bits  -128  +127
 short  0 16 bits  -32768  +32767
 int  0 32 bits  -2147483648  +2147483647
 long  0L 64 bits  -9223372036854775808  +9223372036854775807
 float  0.0f 32-bit 1.40129846432481707e-45  3.40282346638528860e+38
 double  0.0d 64-bit  4.94065645841246544e-324d  1.79769313486231570e+308d
 char  '\u0000' 16-bit  0 to 65,535
 boolean  false 1- bit  NA  NA

Reference Data Types

     Reference variables are created using defined constructors of the classes. They are used to access objects. Class objects, and various type of array variables come under reference data type. Default value of any reference variable is null. These non-primitive types are often called "reference types" because they are handled "by reference"--in other words, the address of the object or array is stored in a variable, passed to methods, and so on. By comparison, primitive types are handled "by value"--the actual primitive values are stored in variables and passed to methods. The reference data types are arrays, classes and interfaces that are made and handle according to a programmer in a java program  which can hold the three kind of values as:

    • Array Type
    • class type
    • Interface Type

        Saturday, 5 January 2013

        Creating First Java Application

        Java Simple Hello World! Program

        A program to print the Hello World! message on the Computer screen.

        You can use the notepad as an editor to write your first program. Read the below codes and carefully write on your editor as Java is case sensitive.

        Hello World! code

        class HelloWorld {
            public static void main (String args[]) {
        System.out.println(“Hello World!”);

        This is the simple base program of Java. I will explain you line by line to get an idea about the unique features that constitute a Java Program. 

        Class Declaration: class HelloWorld

        This line declares a class, which is an object oriented construct. We must place all codes inside a class in Java. class is a keyword and declares that a new class definition follows. HelloWorld is the Java identifier that specifies the name of the class to be defined. 

        Opening and Closing Braces :{  }

        Every class definition in Java begins wih an opening brace "{" and ends with a matching closing brace "}", appearing in the last line in the example.

        The Main Line: public static void main (String args[])

        This line defines a method named main. Conceptually, this is similar to the main() fuctnion in C and C++; Every Java application program must include main() method. This is the starting point for the interpreter to begin the execution of the program. 

        public : The keyword public is an access specifier that declares the main method as unprotected and therefore making it accessible to all other classes.
        static:  Static declares this method as one that belongs to the entire class and not a part of any objects of the class. The main method must always be declared as static since the interpreter uses this method before any objects are created. 
        void: The type modifier void states that the main method does not return any value.

        The Output Line: System.out.println(“Hello World!”);

        This is similar to a printf() statement in C++. Since Java is Object Oriented, every method must be part of an object. The println() method is member of the out object, which is a static data member of System class. 

        Every Java statement must end with a semicolon.

        Note: We must save this program in a file called ensuring that the file name contains class name properly. This file is called the source file. If the program contains multiple classes, the file name must be the class name of the class containing the main method. 

        Compiling the Program

        To compile the Program, we should run the Java Compiler javac with the name of then source file on the command line as shown below:

        Running the Program

        We need to use the Java interpreter to run stand alone program. See the below line. 

        java Helloworld




        Friday, 4 January 2013

        Changing the PATH Environment Variable

        Setting up PATH for Java Program

        We may have to set the PATH for environment variables for the easier execution of the Java Program. 

        We can run the JDK without setting the Environment variable. However, it is easy to compile and run the codes written in java after setting the PATH. If you do not set the PATH variable, you need to specify the full path to the executable file every time you run it. 

        Eg: C:\> "C:\Program Files\Java\jdk1.7.0\bin\javac"

        To set the PATH variable permanently, add the full path of the jdk1.7.0\bin directory to the PATH variable. Typically, this full path looks something like C:\Program Files\Java\jdk1.7.0\bin. Set the PATH variable as follows on Microsoft Windows:

        1. Click Start, then Control Panel, then System.
        2. Select Advanced, then Environment Variables.
        3. Add the location of the bin folder of the JDK installation for the PATH variable in System Variables. The following is a typical value for the PATH variable:
        C:\WINDOWS\system32;C:\WINDOWS;C:\Program Files\Java\jdk1.7.0\bin

        Notes: You can add multiple directories separated with semicolons(;).
              PATH Environment variables are Not Case Sensitive. 

        Installing Java

        How to Install Java on a Windows Computer

        The following instructions show how to install Java jdk to run your first Java Program

        1. Click here to open a page where you can download Java directly from Oracle. 
        2. Find the latest version, by the time I write this, the latest available on the page is "Java SE7u10". 
        3. Click on the download tab and save a known location in your Computer. 
        4. Make sure that that its byte size provided on the download page. After the download has completed, verify that you have downloaded the full, uncorrupted software file.
        5. Double Click the downloaded file to start the installer. 
        6. Follow the instructions on the Installer Wizard to complete the installation. 
        Note: The JDK installer will automatically set path for the environmental variable. No need to worry about the path as of now.

        Thursday, 3 January 2013

        Object Oriented Programming Vs Procedure Oriented Programming

        Difference between Object Oriented Programming and Procedure Oriented Programming

        What is the difference between object oriented programming and procedure oriented programming?

        Procedural Oriented Programming(POP)

        Procedural Oriented Programming creates a step by step program that guides the application through a sequence of instructions. Each instruction is executed in order. The program is divided into small parts called functions. Full importance is not given to data but to functions as well as sequence of actions to be done. It follows Top Down approach and it does not have any access specifier. When using Procedure Oriented Programming, data can move freely from function to function in the system. However, it is difficult to add data and function on a later point of time. The functions in the Procedure Oriented Programming uses Global data for sharing that can be accessed freely from function to function in the system. Hence the system does not have an option to hide the data and it leads to insecurity.

        Object Oriented Programming (OOPs)

        Object Oriented Programming is made up of many entities called objects. Objects become the fundamental units and have behavior, or a specific purpose, associated with them. Importance is given to the data rather than procedures or functions because it works as a real world. It follows Bottom Up approach and has access specifiers named Public, Private, Protected, etc. In Object Oriented Programming, objects can move and communicate with each other through member functions. This design provides easy way to add new functions. Data cannot move easily from function to function, it can be kept public or private so we can control the access of data which provides higher data security. There are so many other features available in Object Oriented Programming compared to traditional Procedure Oriented Programming; some of them are as follows. 

        The ability to create GUI (Graphical User Interface) programs

        Through inheritance, we can eliminate redundant code and extend the use of existing classes.

        We can build programs from standard working modules that communicate with one another rather than, having to start writing the code from scratch. This leads to saving of development time and higher productivity.

        Software complexity can be easily managed.

        Tuesday, 1 January 2013

        Characteristics of Java

        Java Characteristics and Features

        Java is simple

        Java was designed to be easy for the professional programmer to learn and use effectively.

        Java is object-oriented

        Java is true Object Oriented Language. Almost everything in Java is an object. All program code and data reside within objects and classes. 

        Java is distributed

        Java is designed as a distributed language for creating applications on networks. It has the ability to share both data and programs. Java applications can open and access remote objects on Internet easily as they can do in a local system. 

        Java is Compiled and interpreted

        Java combines both Compiled and Interpreted approaches thus making Java two stage-system. First, Java Compiler translates source code into what is known as bytecode instructions. Bytecodes are not machine instructions and therefore, in the second stage, Java Interpreter generates machine code that can be directly executed by the Machine. 

        Java is robust

        Java is robust language. It provides many safeguards to ensure reliable code. It has strict compile time and run time checking for data types. 

        Java is secure

        Security becomes an important issue for a language that is used for programming in Internet. Java Systems not only verify all memory access but also ensure that no viruses are communicated with an applet. 

        Java is architecture-neutral

        Operating system upgrades, processor upgrades, and changes in core system resources can all combine to make a program malfunction. The Java designers made several hard decisions in the Java language and the Java Virtual Machine in an attempt to alter this situation. Their goal was “write once; run anywhere, any time, forever.” To a great extent, this goal was accomplished.

        Java is portable

        Java ensures portability in two ways. First, Java Compiler generates bytecode instructions that can  e implemented on any machine. Secondly, the size of the prmitive data types are machine independent. 

        Java is multithreaded

        We can listen to an audio clip while scrolling a page and at the same time download an applet from a distant computer. This feature greatly improves the interactive performance of graphical applications. 

        Java is dynamic

        Java is capable for dynamically linking in new class libraries, methods, and objects.