For most of the classes in the standard
Java API that you use, you have to explicitly import them into your code. "Import" means telling the compiler what package they are in. So for BufferedReader, whose full name is "java.io.BufferedReader" because it's in the java.io package, you have to do this at the top of your class:
Then the compiler will be able to tell that your "BufferedReader" class is actually the "java.io.BufferedReader" and not, for example, the "com.walmart.BufferedReader" class. If typing all the required import statements gets to be too tedious, you can import an entire package at once, like this:
This tells the compiler that you might use anything from the java.io package, so it should look in that package when trying to find classes.
However, the java.lang package is automatically imported into every class, so you don't have to do that. So you can use
String without having to bother to import java.lang.String, for example.