Java Basics

Refer to CSCI 1111 Lecture Notes for additional references

Terminology

  • Object - Objects have states and behaviors. Example: A dog has states-color, name, breed as well as behaviors -wagging, barking, eating. An object is an instance of a class.
  • Class - A class can be defined as a template/ blue print that describe the behaviors/states that object of its type support.
  • Methods - A method is basically a behavior. A class can contain many methods. It is in methods where the logics are written, data is manipulated and all the actions are executed.
  • Instant Variables - Each object has its unique set of instant variables. An object's state is created by the values assigned to these instant variables.

Syntax

  • Case Sensitivity - Java is case sensitive which means identifier Hello and hello would have different meaning in Java.
  • Class Names - For all class names the first letter should be in Upper Case. If several words are used to form a name of the class, use camel case. Example :
    public class HelloWorld
  • Method Names - All method names should start with a Lower Case letter. If several words are used to form the name of the method, then each inner word's first letter should be in Upper Case. Example :
    public void myMethodName()
  • Program File Name - Name of the program file should exactly match the class name. When saving the file you should save it using the class name (Remember java is case sensitive) and append '.java' to the end of the name. (if the file name and the class name do not match your program will not compile). Example : Assume 'MyFirstJavaProgram' is the class name. Then the file should be saved as 'MyFirstJavaProgram.java'
  • public static void main(String args[]) - java program processing starts from the main() method which is a mandatory part of every java program..

Java Variables

We would see following type of variables in Java:
  • Local Variables
  • Class Variables (Static Variables)
  • Instance Variables (Non static variables)

Data Types in Java

There are two data types available in Java:
  • Primitive Data Types: int, double, boolean, char, ect.
  • Reference/Object Data Types: Created using defined constructors. Class objects, Strings, ect.

Java Arrays

Arrays are objects that store multiple variables of the same type. However an Array itself is an object on the heap. We will look into how to declare, construct and initialize in the upcoming chapters.

The Arithmetic Operators

Operator Description Example
+ Addition A+B
- Subtraction A-B
* Multiplication A*B
/ Division A/B
% Modulus - Divides left hand operand by right hand operand and returns remainder A%B
++ Increment - Increase the value of operand by 1 B++
-- Decrement - Decrease the value of operand by 1 A--
== Checks if the value of two operands are equal or not, if yes then condition becomes true (A == B)
!= Checks if the value of two operands are equal or not, if values are not equal then condition becomes true (A != B)
< Checks if the value of left operand is greater than the value of right operand, if yes then condition becomes true (A > B)
> Checks if the value of left operand is less than the value of right operand, if yes then condition becomes true (A < B)
<= Checks if the value of left operand is greater than or equal to the value of right operand, if yes then condition becomes true (A >= B)
>= Checks if the value of left operand is less than or equal to the value of right operand, if yes then condition becomes true (A <= B)
&& Called Logical AND operator. If both the operands are non zero then then condition becomes true (A && B)
|| Called Logical OR Operator. If any of the two operands are non zero then then condition becomes true (A || B)
! Called Logical NOT Operator. Use to reverses the logical state of its operand. If a condition is true then Logical NOT operator will make false !(A && B)
&& Called Logical AND operator. If both the operands are non zero then then condition becomes true (A && B)

Loops

The while Loop
A while loop is a control structure that allows you to repeat a task a certain number of times. Syntax: The syntax of a while loop is:
while(Boolean_expression){
//Statements
}
The do...while Loop
A do...while loop is similar to a while loop, except that a do...while loop is guaranteed to execute at least one time. Syntax: The syntax of a do...while loop is:
do{
//Statements
}while(Boolean_expression);
The for Loop
A for loop is a repetition control structure that allows you to efficiently write a loop that needs to execute a specific number of times. A for loop is useful when you know how many times a task is to be repeated. Syntax: The syntax of a for loop is:
for(initialization; Boolean_expression; update){
//Statements
}	
The if Statement
An if statement consists of a Boolean expression followed by one or more statements. Syntax: The syntax of an if statement is:
if(Boolean_expression){
//Statements will execute if the Boolean expression is true
}
The if...else Statement
An if statement can be followed by an optional else statement, which executes when the Boolean expression is false. Syntax: The syntax of a if...else is:
if(Boolean_expression){
  //Executes when the Boolean expression is true
}else{
  //Executes when the Boolean expression is false
}
The if...else if...else Statement
An if statement can be followed by an optional else if...else statement, which is very usefull to test various conditions using single if...else if statement. Syntax: The syntax of a if...else is:
if(Boolean_expression 1){
  //Executes when the Boolean expression 1 is true
  }else if(Boolean_expression 2){
  //Executes when the Boolean expression 2 is true
  }else if(Boolean_expression 3){
  //Executes when the Boolean expression 3 is true
  }else {
  //Executes when the one of the above condition is true.
}
Nested if...else Statement
It is always legal to nest if-else statements. When using if , else if , else statements there are few points to keep in mind. An if can have zero or one else's and it must come after any else if's. An if can have zero to many else if's and they must come before the else. Once an else if succeeds, none of he remaining else if's or else's will be tested. Syntax: The syntax for a nested if...else is as follows:
if(Boolean_expression 1){
  //Executes when the Boolean expression 1 is true
  if(Boolean_expression 2){
  //Executes when the Boolean expression 2 is true
  } 
}
The switch Statement
A switch statement allows a variable to be tested for equality against a list of values. Each value is called a case, and the variable being switched on is checked for each case. Syntax: The syntax of enhanced for loop is:
switch(expression){
case value :
//Statements
break; //optional
case value :
//Statements
break; //optional
//You can have any number of case statements.
default : //Optional
	//Statements
}

Java Methods

A Java method is a collection of statements that are grouped together to perform an operation. When you call the System.out.println method, for example, the system actually executes several statements in order to display a message on the console. In general, a method has the following syntax:
modifier returnValueType methodName(list of parameters) {
// Method body;
}
A method definition consists of a method header and a method body. Here are all the parts of a method: Modifiers: The modifier, which is optional, tells the compiler how to call the method. This defines the access type of the method. Return Type: A method may return a value. The returnValueType is the data type of the value the method returns. Some methods perform the desired operations without returning a value. In this case, the returnValueType is the keyword void. Method Name: This is the actual name of the method. The method name and the parameter list together constitute the method signature. Parameters: A parameter is like a placeholder. When a method is invoked, you pass a value to the parameter. This value is referred to as actual parameter or argument. The parameter list refers to the type, order, and number of the parameters of a method. Parameters are optional; that is, a method may contain no parameters. Method Body: The method body contains a collection of statements that define what the method does.


Reference: http://www.tutorialspoint.com/java/java_quick_guide.htm