When pass a primitive, Java makes a copy of the actual data value. Any changes you make inside the method stay inside the method

When pass an object, Java copies the reference variable (the pointer to the memory location on the heap)

No falsy values