A parameter is the variable name you put in the method definition. An argument is the actual value you pass when calling the method.
public static int square(int n) { // n is the parameter
return n * n;
}
int result = square(7); // 7 is the argument
When you call square(7), Java copies the value into the parameter n. Inside the method, n behaves like a local variable. It exists only while the method is running and disappears once the method returns.
If the types do not match, the compiler stops you. Passing a String where an int parameter is expected will not compile.