Cats can be found anywhere.
If you would like to tame a Cat then you have to have Cooked Fish and a Medallion. You have to eject the cooked fish at the cat you want to tame; when the cat eats the fish (the fish will disappear and you will hear a nom-ing sound), you can then right click on the cat with a Medallion. A box that asks what you would like to name your Kitty will appear.
Kitty will not follow you. To have kitty move, you must manually right click the kitty (with an empty hand) to pick the Cat up. If you would like a cat that follows you then a Ocelot might be the thing for you. To get kitty off your shoulders right click and kitty will jump off.
You can put pet food or milk in a kitty bed.Edit
Taking care of Kitty
Kitty will need a Kitty bed, Litter box and Pet food. Not taking care of Kitty will result in kitty getting angry and attacking you once. Kitty will get thought bubbles above its head. These bubbles show if it wants to be near a tree, is angry, is sleeping, is happy or wants to play with the yarn ball in your hand (it will show as a question mark) or is doing it's business ("..."). Kitty will mostly sleep on the floor; the reason for a bed is that it holds Pet food. Pet food can and will heal your cats health. After eating, your cat will want to relieve itself. In order to do this, your cat needs a clean litter box. Your cat will freely go to the little box and a "..." will show above its head. When it is done, a stink will arise from the litter box and your cat will not use a stinky litter box (Also Mobs will be highly attracted to the smell). To clean a litter box right click with a sand block and it will be ready for use again.
Feed two different cats Cake. You have to wait a 5 min for 1/2 minecraft day for the new kitten. Mating is much like any other breedable mob.