JAVA输出制表符问题???

UTF-8下:
System.out.println("主主"+"\t"+1111+"\t");//主主 1111
System.out.println("主主 "+"\t"+1111+"\t");//主主 1111

//这里1之前有7个空格
System.out.println(" 1"); // 1

为什么上边输出结果是这样??
问题1:一个制表符是8个空格的位置?

问题2:不是一个汉字占三个字符吗?
第二行"主主 "比第一行"主主"多了一个空格,为什么就跑到下一个制表符的位置了?

能否帮小弟解惑,感谢大家

一个制表符是8个空格的位置
不一定,这是一些控制台默认的,但是可以也是4个字符,或者别的
一个汉字占2个字符,当然,这个是控制台等宽字体的前提下,别的界面就不一定了