int myInt = 100; long myLong = myInt; // int to long (widening) float myFloat = myLong; // long to float (widening) double myDouble = myFloat; // float to double (widening)
byte â short â int â long â float â double â char
double myDouble = 9.78; int myInt = (int) myDouble; // narrowing â need explicit cast
returnType methodName(Type... parameterName)
public class VarargsExample { // Method with varargs public static void printNumbers(int... numbers) { System.out.println("Number of arguments: " + numbers.length); for (int num : numbers) { System.out.println(num); } } public static void main(String[] args) { printNumbers(); // No arguments printNumbers(1, 2, 3); // Three arguments printNumbers(10, 20, 30, 40); // Four arguments } }
Number of arguments: 0 Number of arguments: 3 1 2 3 Number of arguments: 4 10 20 30 40
void method(int... a, String... b)
is invalid.void method(int... a, String b)
is invalid, but void method(String b, int... a)
is valid.int[] arr = {1, 2, 3}; printNumbers(arr); // Works fine