How is an argument passed in Java methods? What is the difference between class variable, member variable and automatic(local) variable? When are static and non static variables of a class initialized? Can shift operators be applied to float types?