have / has + 過去分詞は過去と現在のつながりを表す
要点使い分け
現在完了の3つの用法
一緒に使う語で経験・継続・完了/結果を見分けます。
ever / never / before — I have been to Paris.
継続for / since / How long — She has lived here for years.
完了・結果just / already / yet — I have finished my homework.
過去形との使い分け
いつ起きたか明確なら過去形、現在とのつながりを表すなら現在完了。
明確な過去の時点 — yesterday / last week など
現在完了現在とのつながり — ever / before / for / since など
been to と gone to の違い
同じ「行く」でも、経験か結果かで使い分けます。
行ったことがある(経験)— She has been to London.
have gone to行ってしまって今いない(結果)— She has gone to London.
文法の形
have / has の後ろは過去分詞。用法によって一緒に使う語が変わります。
I have seen that movie.
Have you ever eaten sushi?
She has lived here for 10 years.
I have just finished my homework.
文法のルール
have / has の後ろは過去分詞。原形や過去形は使わない。
I have see that movie.
I have seen that movie.
現在完了は have / has + 過去分詞で作ります。原形(see)や過去形(went)ではなく、過去分詞(seen / gone)を使います。
三人称単数は has。
She have finished her work.
She has finished her work.
She は三人称単数なので has を使います。have は I / you / we / they のときに使います。
yesterday など明確な過去時点があるときは過去形を使う。
I have visited Tokyo yesterday.
I visited Tokyo yesterday.
yesterday のような明確な過去の時点を表す語があるときは、現在完了ではなく過去形を使います。
過去から今まで続くことは現在完了で表す。
I live here for 5 years.
I have lived here for 5 years.
for 5 years は「5年前から今まで」という期間です。過去から今まで続いていることは、現在完了 have lived で表します。
yet は否定文・疑問文で文末に置く。肯定文の「もう」は already。
I have yet finished my homework.
I haven't finished my homework yet.
yet は否定文・疑問文で「まだ / もう」を表す副詞で、文末に置きます。肯定文の「もう〜した」は already を使います。
経験は have been to、結果は have gone to。
He has gone to Paris.(パリに行ったことがあると伝えたいとき)
He has been to Paris.
「〜に行ったことがある」と経験を伝えたいときは have been to を使います。have gone to は「〜に行ってしまって今ここにいない」という結果を表します。