为啥long的变量有时可以加l,有时不用加?

和int有啥关系么?

没加l的话,java会自动转成int再装进long里(小数据向大数据自动转换),如果值的范围没超过int的最大范围的话,是没问题的,但是如果超过了就会报数值过大的错误。所以养成习惯加上L,数值过大的话就不会报这个错误了。希望能帮到你

long有时加l是表示强制转换,告诉编译器这个是long类型。
和int能有什么关系?

2个类型的范围不一样!
int是32
long是64