The first is a neutral pronoun; the other ones are colloquial ones used by boys and the latter is quite vulgar.

There are other possibilities like あたし used by girls, 私 (watakushi) used in a formal situation, わし (washi) used bu the old people.
Other words can be used, like 内 (uchi) meaning "inside", "home". Also, there is an interesting thing in Japanese: Kids (very often the girls) use their own name (often with suffixes like ～ちゃん (-chan)) as a first person ponoun.