My teacher says that when I try to access an instance variable within a method I should always use the this keyword, otherwise I would perform a double search.
Your teacher is correct that it will result in double search for compiler if you don't make use of this keyword. First the compiler will search at local scope and then the instance scope if the compiler is unable to find the variable at local scope.
Also, while the compiler is converting your code to bytecode, the compiler will prefix all the instance variables with this keyword. So, if you yourself make use of this keyword, you are actually reducing the burden to the compiler and the code will be compiled faster.