have lunch .have a coffee .have a sandwich .这三句中,为什么后两句要在have后加a?

问题描述:

have lunch .have a coffee .have a sandwich .这三句中,为什么后两句要在have后加a?
在某些时候为什么又可以直接说have coffee or drink coffee ,而不用加a
那对语意和语法有影响吗?

have a coffee 是口语,是have a cup of coffee的口语说法
口语里,尤其是在酒吧,常常听到,two beers的说法
其他的都是正式的说法