"Chinese people speak Chinese."
I was explained: 汉语 means Mandarin and 中文 means Chinese. Therefore, since Mandarin is the official Chinese language, they can be often used interchangeably, but 中文 also includes Cantonese, which is not the same thing as 汉语.
Therefore, the statement '中国人说汉语' is actually not true, as some people speak Cantonese and not Mandarin. pulls glasses up with middle finger
汉语means Chinese language (Han language, han is an Asian ethnic). 中文means Chinese culture, but is used as Chinese language. I think 中文is even more used than 汉语as Chinese language, but both are used. 我的中文老师uses both sentences: 我们学习中文and 我们学习汉语,a bit more often the first one.
汉 is the ethnic group that about 92% of people in the People's Republic of China belong to. The ethnic group is referred to as 汉族 (at least that's what it's called on this deck of playing cards I got in China that features each of China's 56 ethnicities). I suppose that a Han Chinese person would be called a 汉族人, but that's just a guess.