JAVA SE,用数据类型表示性别年龄等信息后,输出时对 + 和"\t" '\t"的使用存在疑惑

问题遇到的现象和发生背景

输出时,为什么第二段直接输出了姓名,而不是输出name这个变量呢
第1段 和 第3段中,+号 和 '\t' "\t"分别代表的含义又是什么啊?

问题相关代码,请勿粘贴截图

public class homework04{
public static void main(String[]args){
/*
姓名 年龄 成绩 性别 爱好
XX XX XX XX XX
*/
String name = "Golder";
int age = 25;
double score = 99.99;
char gender = '男';
String hobby = "运动";
System.out.println("姓名\t年龄\t成绩\t性别\t爱好\n"+ name + "\t" + age + "\t" + score + "\t" + gender + "\t" + hobby);

            System.out.println("姓名\t年龄\t成绩\t性别\t爱好\nname\tage\tscore\tgender\thobby");

            System.out.println("姓名\t年龄\t成绩\t性别\t爱好\n" + name + '\t' + age + '\t' + score + '\t' +  gender + '\t' + hobby);
        }
    }
运行结果及报错内容

姓名 年龄 成绩 性别 爱好
Golder 25 99.99 男 运动
姓名 年龄 成绩 性别 爱好
name age score gender hobby
姓名 年龄 成绩 性别 爱好
Golder 25 99.99 男 运动

我的解答思路和尝试过的方法
我想要达到的结果

\t是TAB键啊

\t类似于按Tab键,字段之间添加4个空格分隔。
姓名就是name变量的值。