Good way (but imperfect without a teacher) is immersion. Watching subs and stuff.
Mandarin is Northern Chinese, Cantonese is Southern. It's a minority language so the Chinese govt is trying to phase Cantonese out. Mandarin is highly tonal monosyllabic (ma with different pronunciations means different things), Japanese is more or less non-tonal (although there are some puns based on similar sounding words) multisyllabic language. Japanese is easier to speak, Chinese is easier to read.
This is because Japanese has about four written languages: Romaji (I know alot of this, because it's basically English alphabet with Japanese words), Kanji (Chinese alphabet, I know only a little of this), Katakana (based on syllables), Hiragana (I don't know this, but it's also a syllable). There's also Furigana (basically hiragana for pronunciations, either for foreign words, or for pronunciation guides or people's names).
This is a good program, if you can manage without getting bored or frustrated.
http://lrnj.com/download.html