Class is a complicated topic and basically the basis for learning Object Oriented programming. A class represents a prototype or data type for an object. So, the answer to you question is yes and no. First, NOT everything can be a class (it has to end somewhere). And in fact, in Java there is a "root" class:
Object
ALL classes (implicitly) extend the Object class. So there IS a concrete datatype, Object, which EVERY class extends (although I doubt you'll use any of this at first). Now, everything CAN be an Object, but due to reasons dealing with Memory (for which I am NOT going to go into--it's a drawback of Java), there are also several primitive types--these include:
integer types: short, int, long (16, 32, 64 bits)
char: 16-bit, unsigned integer (represented unicode characters, hence why it's 16 bit)
byte: unsigned integer (8 bits, 1 byte long)
float: 32-bit floating point number
double: 64-bit floating point number
boolean: either true or false (should be represented by single bit, but likely is a full byte in length)
The only real difference in primitive types and Objects, is where they are stored. ALL objects are stored on the heap (including String's) while primitive types, declared inline, will be stored in the stack (i.e. they will NOT need to be garbage collected). Primitive types that appear as members to a class will be stored in the heap where the object is created.
Furthermore, EVERY Object in Java is a pointer and ALL functions use pass by value (which confuses people because Objects and primitives are different)--primitives contain the actual value, while Objects contain ONLY the pointer value (akin to C/C++). What this means is that a method in Java can modify a given Object (through object methods)--but if a method reassigns an Object (passed as a parameter) then this will have NO EFFECT on the Object that you used to call the function (when you run your program)--this is likely beyond the current grasp of your understanding.
OK, so classes have two main functions:
1) They represent Objects and thus are prototypes for Objects
2) They represent functionality and thus "general" methods or members can be declared static... (I'm not going to go into this part)
1) Let's focus on what an object is:
An Object is something that represents a datatype (i.e. it's "something") AND it represents a functional (or perhaps methodical) interface. That is to say, that you have a Dog object, and likely it will be under the control of the program, so likely there are several actions that a Dog might do:
A dog will bark, he will bite (say another dog), he will fight (with another dog), he has a color, a weight, a height, a look (i.e. fur pattern).
So the ATTRIBUTES (color, height, weight, fur pattern) are all going to be members of the class.
First are these attributes changeable or permanent? Surely the height and weight will change and possibly the color will change, but surely the pattern will remain the same! If we assume we have a FurPattern class, then we could do like this:
http://ideone.com/QqVrr
The point of Objects is that you have some actual object in mind (real thing you are trying to model), then you figure out what all components make up this object? Create those components--they could be THEMSELVES objects (like the FurPattern or Color object), but sooner or later you HAVE to reduce an object to primitive types (i.e. an integer, floating point, character, boolean, or String). So don't create objects for those variables...
...you are going to use so many bad habits depending who your teacher is, I pray for you.