For questions about when you can and cannot use は
, I generally find a good rule of thumb is to try translating any "(something) + は" to "as for (something)" or "regarding (something)" in English, and see how it sounds:
私{わたし}の名前{なまえ}はジョンです
As for my name, (it) is John.
Just as with は
, "as for ___" has similar implications about bringing up some subject that's already being discussed or already in the listeners' mind as a possible topic for discussion (the "universe of discourse"). In the above case, "as for" doesn't seem too out of place, and thus we can probably use は
, because my existence is already part of the conversation (I would hope) and it's assumed that everybody has a name, so the concept of my name is something that's already present in the potential realm of our discussion, and (particularly in Japanese), anyone who doesn't know my name is probably already wondering to themselves what it is, so it's going to be on their mind already.
On the other hand, if I were to say (out of the blue) "As for my dog, he likes to run around", your reaction might be more of "wait, what do you mean 'as for' your dog? Were we talking about that before and I missed it?". This is a case where が
is the more appropriate particle, because "my dog" isn't something that's already potentially on people's minds.
But if I were talking about my dog for a while, and then said "as for my dog, he can also fly", the fact that we're talking about a flying dog doesn't really change the fact that my dog is already in our realm of conversation, so saying "as for my dog" isn't particularly strange. Likewise, using は
in Japanese would be fine, since the dog has already been in people's minds in the conversation.
Also, similarly to "as for" in English, は
can sometimes have a contrastive sense in Japanese as well. If, for example, we were talking about your dog, I could then say "as for my dog (as opposed to yours), he can also fly", and using "as for" makes sense even though I'd never mentioned my dog before, because it's in the realm of dogs (which we were already discussing) and I'm contrasting mine with yours.
This actually leads into your question about food. If we're already discussing other types of foods, and you want to talk about a new one, then you can potentially use は
, but it will have a bit of a contrastive effect e.g.:
寿司{すし}が好{す}きじゃない -- "I don't like sushi"
寿司{すし}は好{す}きじゃない -- "As for sushi (as opposed to the other stuff we were talking about), I don't like it."
(Edit: I originally had something in here about general vs. specific statements, but as folks pointed out it was a bit misleading and my example was bad for a couple of reasons, so I've removed it. Also adding the following bit:)
It should be noted that one case where this rule of thumb doesn't always work, and Japanese does things differently than English, is when dealing with many negative statements, especially negative states of existence (saying something isn't there). For example, contrast the following statements:
犬{いぬ}がいます -- "There is a dog"
犬{いぬ}はいません -- "There isn't a dog"
When expressing the negative form, the が
changes to は
, even though according to the "as for" rule of thumb, this seems like it should be odd.
That is, what we're essentially saying is:
As for a dog, there isn't one
..even though we may never have made any prior mention of a dog. In English, this is weird, but in Japanese this is perfectly natural (and in fact, using が
here would be strange/unnatural in Japanese).
The way I generally think about this is that we tend to use は
here because of its contrastive effect. Essentially, if we're saying something isn't there (for example, in a room), the fact that we're stating it is already implying that there probably are some things there, or somebody was expecting there to be something there, it's just that that particular thing isn't one of them, so essentially what we're saying is:
As for a dog (as opposed to the other things around), there isn't one.
This makes some sense in the context of the contrastive は
in Japanese, but is really a bit of a stretch in English, so this difference with negatives is really just one of those things you have to keep in mind isn't quite the same when thinking of は
in this way.