• Articles
  • Tutorials
  • Interview Questions

Java Fundamentals

Table of content

Show More

Basic Concepts

The previous topic cleared the compiler and interpreter doubt but still, there are questions such as “How to store different numbers in java?” or “What value you can store in java and how?”, etc.
To clear all such doubts we have prepared this “Language Fundamentals” topic which includes the basic concepts to write programs in Java.
Java1

Watch this Java video by Intellipaat:

Video Thumbnail

Keywords

  • Keywords are the reserved words which are having predefined meaning in Java.
  • All the keywords are defined in lower case and the meaning of these keywords can’t be modified.
  • We cannot use keywords as names for variables, classes, methods, or as any other identifiers.
  • const & goto are the keywords but no implementation available in Java. You cannot use in Java.

java

Identifiers

  • By the name, it is clear that identifiers are used for identification purpose.
  • Identifiers can be a class name, method name, variable name, or a label name. For Example:
class TestIntellipaat{
public static void main(String args[]){
int a=2;
}
}

In the above example,

    • TestIntellipaatis a class name.
    • main is a method name.
    • String is a predefinedclass name.
  • args and a is a variable name.

Rules for defining identifiers:

  • Identifier can contain alphabets [A-Z] & [a-z], Digits [0-9], underscore(_) and dollar($).
  • The first letter must be an alphabet, digit, underscore or dollar sign.
  • Space is not allowed in between the identifier name.
  • Keywords cannot be used as identifiers. For example:

Valid Identifiers:  ch, _integer, del123, deal_var, etc.
Invalid Identifiers: 12ch, @charm, My var, a+6, while, int, true, etc.

Data Types

Data types represent the type of data you want to use and memory required for that data.
There are two types of data:

  • Primitive Data Type
  • Non-Primitive Data Type

java

Primitive Data Types

These are predefined data types. There are eight types of primitive data types.

Primitive Data Types Default Values Range Default
Size
Example
boolean false true/ false N/D boolean b = true
char 0   or
\u0000
0   to   65535 (2^16-1)
\u0000 to \uffff
2byte char c=’A’
byte 0 -128(-2^7) to 127 (2^7 -1) 1byte byte b = 12
short 0 -32,768 (-2^15)  to  32,767(2^15 -1) 2byte short s=10
int 0 – 2,147,483,648 (-2^31)  to2147483647(2^31 -1) 2byte int I = 100
long 0 -2^63   to   2^63-1 8byte long l= 1000L
float 0.0 1.4E-45   to   3.40E+38 4byte float f = 25.9f
double 0.0 4.9E-324   to   1.79E+308 8byte double d = 152.3
Any
Reference
type
null Reference of the corresponding type object 8byte String str=null

Non-Primitive Data Types: 

These are the user-defined data types. There are four types of non-primitive data types:

  • Class type
  • Interface type
  • Enum type
  • Annotation type

Watch this Java Interview Questions video by Intellipaat:

Video Thumbnail

Variables

Variable holds the user data. The memory will be allocated for the variables according to the data type. Value of the variable can be changed any number of times during the program execution. Syntax: <data type><var name>; or <data type><var name>=<value>; 
Example: int a; int b=10; String s=”name”; String st; There are two types of variables based on the data types used to declare the variable:

  • Primitive variables
  • Reference Variable

Primitive Variables

Variables declared with primitive data types are called as primitive variables. Example: int a, char c, double b=10.0, etc.

Reference Variable

Variables declared with used defined data types are called as reference variables. Example:String str; String s=”Intellipaat”;There are following types of variables based on the scope of the variables:

  • Instance variables
  • Static variables
  • Local variables
public class IntellipaatClass{
int a; // Instance Variable
static int b; // static variable
void show(){
int c=10; // local variable
}
}

Instance Variables
Variables declared without using static keyword inside of a class but outside of method is called instance variables. Example: variable a in the above code. The Memory will be allocated to the instance variable only at the time of object creation. As many times as the object is created, the instance variable will get the memory.
Static Variables
Variables declared using static keyword inside of a class but outside of method are called static variables. Example: variable b in the above code. The Memory will be allocated to static variables at the time of object creation when the class loads. Static Variable will get the memory only once when the class loads.
Local Variables
Variables declared inside of a method are called as Local variables. Example: variable c in the above code.
Constants
Constants are the special variables whose value can’t be modified during the program execution. These are also called final variables. Example:final int a=99; final String s=”Intellipaat”;  final double d=10.1;

Get 100% Hike!

Master Most in Demand Skills Now!

Literals

Literals are the actual values that are assigned to variables or constants. There are six types of literals:

  • Boolean literals
  • Character literals
  • String literals
  • Integral literals
  • Floating literals
  • null literal

Escape Sequence                  
Escape Sequence is a special notation which is used to represent some special characters which can’t be represented as it is.

Escape Sequence Description
\t Tab space
\b backspace
\n newline
\r Carriage return
\f formfeed
\’ Single quote character
\” Double quote character
\\ backslash

ASCII Character Sets

  • ASCII stands for American Standard Code for Information Exchange.
  • Every character enclosed in a single quotation mark will have an integer equivalent value called as ASCII value. Range of ASCII value is 0-255.

UNICODE Character Sets

  • UNICODE is the Unicode Worldwide Character Standard. It contains many diverse characters. Each character must have a UNICODE value.
  • Syntax: \uXXXX, where X will be a hexadecimal number.
  • Range: 0 to 65535

Why UNICODE?
Every country has its own character representation in an integer value. United States has ASCII, Europe has ISO 8859-1, Russia has KOI-8, etc. So, it was thought to create a character set that contains all the characters. There UNICODE came into play.

OPERATORS

Operators are the symbols that perform the operation on values. These values are known as operands. There are three types of operators depending on the number of operands required:

  • Unary Operator: Only one operand is required.
  • Binary Operator: Two operands required.
  • Ternary Operator: Three operands required.

Following are the types of operator depending on the operation:

  • Arithmetic Operators
  • Relational Operators
  • Logical Operators
  • Assignment Operators
  • Bitwise Operators
  • Conditional Operator

Arithmetic Operator

  • Arithmetic Operators are used to performing an arithmetic operation on the operands.
  • Operands used in this can be of the numeric type or string type. Result of the arithmetic operator is always int or greater than int.

Operator

Operator Name Description

Example

+ Addition Adds two operands or do string concatenation. a=1, b= 2
a + b = 3
OR
String str=”Hello”;
str+10 = Hello10
Subtraction Subtracts a=1,b= 2
b – a = 1
* Multiplication Multiplies a=1,b= 2
a * b = 2
/ Divide Perform division operation a=1,b= 2
b / a = 2
% Modulus Returns remainder a=1,b= 3
b % a = 1
++ Increment First checks the condition, then Increase the operand value by 1 a=1
a++;
a value becomes 2
Decrement First checks the condition, Decrease the operand value by 1 a=2
a–;
a value becomes 1

Relational Operator

  • Relational operators are used to check the relation between the two operands.
  • Result of the relational operator is always Boolean value.

Here is the list of relational operators:

Operator Operator Name Description Example
== Equal to Returns true if two operands are equal, otherwise returns false a=2, b=2
if(a== b)
result= true
!=  Not Equal to Returns true if two operands are not equal, otherwise returns false a=2, b=2
if(a== b)
result=false
< Less than Checks the lesser value between the two operands. a=3, b=2
if(a<b)
result=false
> Greater than Checks the greater value between the two operands. a=3, b=2
if(a>b)
result= true
<= Less than or equal to If the value of left operand is less than or equal to the value of right operand then it returns true. a=23, b=2
if(a<= b)
result= false
>= Greater than or equal to If the value of left operand is greater than or equal to the value of right operand then it returns true. a=22, b=2
if(a>= b)
result= true

Certification in Bigdata Analytics

Logical Operator

  • Logical Operators are used to perform logical operations.
  • Result of this operator is always a Boolean value.
&& Logical AND When Both conditions are true, the result is true
otherwise false
|| Logical OR When at least one condition is true,
then the result is true otherwise false
! Logical NOT Reverse the condition
!true= false
!false= true

Assignment Operator

  • Assignment Operators are used to assign values to the operand.
Operator Operator Name Description Example
= Assignment It assigns value to left-hand side operand a = 2
It assigns 2 to a
+= Add then assign It performs addition and then result is assigned to left-hand operand a+=b means
a = a + b
-= Subtract then assign It performs subtraction and then result is assigned to left-hand operand a-=b means
a = a – b
*= Multiply then assign It performs multiplication and then result is assigned to left-hand operand. a*=b means a = a * b
/= Divide then assign It performs division and then result is assigned to left-hand operand a/=b means
a = a / b
%= Modulus then assign It performs modulus and then result is assigned to left-hand operand a%=b means
a = a % b

Bitwise Operators

  • Bitwise Operators are used to perform operations on individual bits.
<<= Left shift AND assignment operator It performs Binary left shift and then result is assigned to left-hand operand a=5; a>>=7 means 7 times left shift, then result to a
>>= Right shift AND assignment operator It performs Binary right shift and then result is assigned to left-hand operand a=5; a>>=7 means 7 times right shift, then result to a
&= Bitwise AND assignment operator It performs bitwise AND then result is assigned to left-hand operand a=5; a&=7 means bitwise AND operation, then result to a
^= bitwise exclusive OR
and assignment operator
It performs bitwise exclusive OR and then result is assigned to left-hand operand a=5; a^=7 means bitwise XOR operation, then result to a
<< Left shift operator It performs Binary left shift a<<1 means one bit is left-shifted
>> Right shiftoperator It performs Binary right shift a>>1 means one bit is right-shifted
& Bitwise AND It performs bitwise AND 5 & 7 means binary XOR of 5 and 7
^ bitwise exclusive OR It performs bitwise exclusive OR 5^7 means binary XOR operation on 5 and 7
| bitwise inclusive OR It performs bitwise inclusive OR 2|1 means 2 and 1 binary OR operation

Conditional Operator

  • It is a ternary operator.

Syntax: operand1? operand 2:operand3;

  • Both the operand must of Boolean type.
  • If true, returns operand2, otherwise returns operand3. Example

boolean I = 3>2?true:false;            ->returns true.
new Operator
new operator is used to create objects for class.
Example:

class Test{}
class IntellipaatLearn{
public static void main(String args[]){
Test t=new Test(); // t object is created
}
}

Here, t object will be created in the main memory so that we can access the members of the Test class.
instanceof Operator
It is used to check whether the given object belongs to a specified class or not. It is also called Type Comparision Operator. It returns a Boolean value.
Syntax: <reference variable>instanceof<classname>
Example:

Class Test{}
class IntellipaatLearn{
public static void main(String args[]){
Test t=new Tets(); // t object is createdSystem.out.println(t instanceof Object); // returns true
}
}

Output:
true

Operators Precedence
Operator precedence means the priorities of operators.
Say you have given an equation 10-2*2. How will you know whether to subtract first or multiply? To solve this confusion, operator precedence has provided.
First, 2*2 will be performed according to the below table then, the result will be multiplied by 10. The answer will be 6.

Category  Operator  Associativity 
Postfix () [] . (dot operator) Left to right
Unary ++ – – ! ~ Right to left
Multiplicative * / % Left to right
Additive + – Left to right
Shift >>>>><< Left to right
Relational >>= <<= Left to right
Equality == != Left to right
Bitwise AND & Left to right
Bitwise XOR ^ Left to right
Bitwise OR | Left to right
Logical AND && Left to right
Logical OR || Left to right
Conditional ?: Right to left
Assignment = += -= *= /= %=>>=<<= &= ^= |= Right to left
Comma , Left to right

 

Course Schedule

Name Date Details
Python Course 14 Dec 2024(Sat-Sun) Weekend Batch View Details
21 Dec 2024(Sat-Sun) Weekend Batch
28 Dec 2024(Sat-Sun) Weekend Batch

About the Author

Senior Consultant Analytics & Data Science

Sahil Mattoo, a Senior Software Engineer at Eli Lilly and Company, is an accomplished professional with 14 years of experience in languages such as Java, Python, and JavaScript. Sahil has a strong foundation in system architecture, database management, and API integration.