Wednesday, 16 January 2013

Java Separators

Separators in Java

Separators used in Java Programming Lanuage

Separators help define the structure of a program. The separators used in HelloWorld are parentheses, ( ), braces, { }, the period, ., and the semicolon, ;. The table lists the six Java separators (nine if you count opening and closing separators as two). Following are the some characters which are generally used as the separators in Java.

Separator
Name
Use
.
Period
It is used to separate the package name from sub-package name & class name. It is also used to separate variable or method from its object or instance.
,
Comma
It is used to separate the consecutive parameters in the method definition. It is also used to separate the consecutive variables of same type while declaration.
;
Semicolon
It is used to terminate the statement in Java.
()
Parenthesis
This holds the list of parameters in method definition. Also used in control statements & type casting.
{}
Braces
This is used to define the block/scope of code, class, methods.
[]
Brackets
It is used in array declaration.
Separators in Java

Monday, 14 January 2013

Java Operators

Operators in Java

Operators Supported by Java Language


Operators are special symbols that perform specific operations on one, two, or three operands, and then return a result. Java supports a rich set of operators. Some of them are =, +, -, *. An Operator is a symbol that tells the computer to perform certain mathematical or logical manipulations. Operators are used in programs to manipulate data and variables. They usually form a part of mathematical or logical expressions. 
Java operators can be classified into a number of related categories as below:

Arithmetic Operators
+      Additive operator (also used for String concatenation)
-       Subtraction operator
*       Multiplication operator
/       Division operator
%     Remainder operator


Relational Operators
==    Equal to
!=     Not equal to
>      Greater than
>=    Greater than or equal to
<      Less than
<=    Less than or equal to


Logical Operators
&&   Logical AND
||       Logical OR
!       Logical NOT


Assignment Operators
=      Assignment

Increment and decrement Operators
++   Adds 1 to the Operand
--     Subtracts 1 from the Operand

Conditional Operators
?:    Ternary (shorthand for if-then-else statement)

Bitwise Operators
~     Unary bitwise complement
<<   Signed left shift
>>   Signed right shift
>>> Unsigned right shift
&     Bitwise AND
^      Bitwise exclusive OR
|       Bitwise inclusive OR

Special Operators
. (Dot Operator)   - To access instance variables
instanceof             - Object reference Operator

As we explore the operators of the Java programming language, it may be helpful for you to know ahead of time which operators have the highest precedence. The operators in the following table are listed according to precedence order. The closer to the top of the table an operator appears, the higher its precedence. Operators with higher precedence are evaluated before operators with relatively lower precedence. Operators on the same line have equal precedence. When operators of equal precedence appear in the same expression, a rule must govern which is evaluated first. All binary operators except for the assignment operators are evaluated from left to right; assignment operators are evaluated right to left.

Operator Precedence
Operators Precedence
postfix expr++ expr--
unary ++expr --expr +expr -expr ~ !
multiplicative * / %
additive + -
shift << >> >>>
relational < > <= >= instanceof
equality == !=
bitwise AND &
bitwise exclusive OR ^
bitwise inclusive OR |
logical AND &&
logical OR ||
ternary ? :
assignment = += -= *= /= %= &= ^= |= <<= >>= >>>=

The basic evaluation procedure includes two left-to-right passes through the expression. During the first pass, the high priority operators (if any) are applied as they are encountered. During the second pass, the low priority operators (if any) are applied as they are encountered.

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.
Examples:

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. 

Example
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. 
              Example: 
                       average
                       sum
  • When more than one word are used in a name, the second and subsequent words are marked with a leading uppercase letters. 
              Example: 
                       dayTemperature
                       firstDayOfMonth
                       totalMarks
  • All private and local variables use only lowercase letters combined with underscores.
              Example: 
                       length
                       Batch_strength
  • All classes and interfaces start with a leading uppercase letter(and each subsequent word with a leading uppercase letter).
Example: 
                       Student
                       HelloJava
                       Vehicle
                       MotorCycle
  • Variables that represent constant values use all uppercase letters and underscores between words.
Example: 
                       TOTAL
                       F_MAX
                       PRINCIPAL_AMOUNT
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:

Valid
Invalid
HelloWorld
Hello World (uses a space)
Hi_JAVA
Hi JAVA! (uses a space and punctuation mark)
value3
3value(begins with a number)
Tall
short (this is a Java keyword)
$age
#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.


abstract
double
int
switch
assert
else
interface
synchronized
boolean
extends
long
this
break
false
native
throw
byte
final
new
transient
case
finally
package
true
catch
float
private
try
char
for
protected
void
class
goto
public
volatile
const
if
return
while
continue
implements
short
default
import
static
do
instanceof
super


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.

Integer:

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

Floating:

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

Characters:

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

Boolean:

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