Socket communication in Java enables communication between two endpoints over a network. There are two main types of sockets: TCP sockets and UDP sockets. Let's explain both types with examples: TCP Socket Communication: 1. **Server Side**: - The server creates a `ServerSocket` object to listen for incoming connections on a specific port. - When a client connects, the server accepts the connection and creates a `Socket` object to communicate with the client. - The server reads from and writes to the socket's input and output streams to communicate with the client. import java.io.*; import java.net.*; public class TCPServer { public static void main(String[] args) throws IOException { ServerSocket serverSocket = new ServerSocket(12345); System.out.println("Server started. Waiting for client..."); Socket clientSocket = serverSocket.accept(); ...
Operators in Java are symbols that perform operations on variables or values. Java provides a wide range of operators, categorized into several types based on their functionality.
1. Arithmetic Operators
Arithmetic operators are used for mathematical operations.
- + (Addition): Adds two operands.
- - (Subtraction): Subtracts the right operand from the left operand.
- * (Multiplication): Multiplies two operands.
- / (Division): Divides the left operand by the right operand.
- % (Modulus): Returns the remainder of the division.
- int sum = a + b; // 14
- int difference = a - b; // 6
- int product = a * b; // 40
- int quotient = a / b; // 2
- int remainder = a % b; // 2
2. Relational Operators
Relational operators are used to establish relationships between values.
- == (Equal to)
- != (Not equal to)
- > (Greater than)
- < (Less than)
- >= (Greater than or equal to)
- <= (Less than or equal to)
int x = 5, y = 10;
- boolean isEqual = x == y; // false
- boolean isNotEqual = x != y; // true
- boolean isGreaterThan = x > y; // false
3. Logical Operators
Logical operators are used for logical operations.
- && (Logical AND)
- || (Logical OR)
- ! (Logical NOT)
boolean condition1 = true, condition2 = false;
- boolean andResult = condition1 && condition2; // false
- boolean orResult = condition1 || condition2; // true
- boolean notResult = !condition1; // false
4. Assignment Operators
Assignment operators are used to assign values to variables.
- = (Assignment): Assigns the value on the right to the variable on the left.
- +=, -=, *=, /=, %= (Compound Assignment): Performs the operation and assigns the result to the left operand.
int num = 5;
- num += 3; // num = num + 3; // 8
- num -= 2; // num = num - 2; // 6
- num *= 4; // num = num * 4; // 24
- num /= 3; // num = num / 3; // 8
- num %= 5; // num = num % 5; // 3
5. Bitwise Operators
Bitwise operators perform operations at the bit level.
- & (Bitwise AND)
- | (Bitwise OR)
- ^ (Bitwise XOR)
- ~ (Bitwise NOT)
- << (Left shift)
- >> (Right shift)
int p = 5, q = 3;
- int bitwiseAnd = p & q; // 1
- int bitwiseOr = p | q; // 7
- int bitwiseXor = p ^ q; // 6
- int bitwiseNot = ~p; // -6
- int leftShift = p << 1; // 10
- int rightShift = p >> 1; // 2
These are some of the essential Java operators. Understanding their usage is fundamental for writing effective and efficient Java programs.
Comments
Post a Comment