我们在生活中常常做假设

通常假设未来发生的事都不会有什么问题

但若是假设过去发生的事,那可能就头痛了

怎么有时用一般过去时,有时又用过去完成时?

到底用hadwouldwould have 还是 were 都搞不清楚

别烦恼!今天让你看一次就清楚明白IF怎么用

首先,你分得清楚这三句话吗?

1. If Tom has time, he will visit us.

2. If Tom had time, he would visit us.

3. If Tom had had time, he would have visited us.

分不清楚的话没关系,看完这篇你就清楚明白啰!

我们从基本的三种假设语气讲起:

一、现在与未来皆真实

if虚拟语气一次学会!


第一种用法代表你假设的句子是在现在与未来都可能发生的。如此就必须使用以下句型:

我们从例句来看

  • 句型一:If you want to get good scores, practice more!如果你想拿到好分数,多练习吧!

If条件句使用现在简单式,结果句使用原形动词,表示命令。

  • 句型二:If the sun shines all day, it gets hot.如果阳光普照一整天,天气会很热。

If条件句使用现在简单式,结果句也使用现在简单式,表示一种事实、真理,或习惯。而此例句是表示一个不变的事实,也就是说若阳光普照整天,天气就一定会很热,所以结果句使用现在简单式。

  • 句型三:If it rains tomorrow, I will stay inside the room.如果明天下雨,我会待在房间里。

前面if条件句使用现在简单式,结果句使用未来简单式,表示单一事件。并不一定每次明天下雨,我都会待在房内,这也不是一个不变的真理。这个句型是大家最常使用的假设句型。

*注意*

if 条件句没有未来式,所以即使是描述未来时间,也千万不要加 will 唷!只有结果句可以加 will。

当然 if 条件句不是一定要摆在前面,也可以先写结果句,再写条件句

  • I will stay inside the room if it rains tomorrow.

二、与现在事实相反

if虚拟语气一次学会!


第二种用法指你假设的句子跟现在的事实相反,例如假设自己是别人,假设自己很闲(但实际上现在很忙)。

*注意*

结果句必须用带有过去意思的情态助动词,也就是 wouldshouldcouldmight,不能用 will, can, may 唷

以上述例句解释:

  • 例句一:If Tom had time, he would visit us. Tom现在要是有空,他会来拜访我们的。

“If Tom had time” → 用过去简单式表达与现在事实相反的假设,现在的事实是Tom现在没空

“he would visit us” → 用助动词would+原V,表达与现在事实(他现在来拜访我们)相反的假设

此例句隐含的意思是“Tom现在没空,所以他现在无法来拜访我们”。

  • 例句比较:If Tom has time, he will visit us.如果Tom有空,他会来拜访我们

此例句使用上面第一种用法(现在与未来皆真实)的句型三,意思是如果Tom有空(他现在可能有空、可能没空),他(在有空的时间)会来拜访我们。很奇妙吧!中文听起来差不多,但英文时态用的不一样,就代表了不一样的意思!

  • 例句二:If I were you, I could marry a rich man.如果我是你,我就可以嫁给有钱人了

If条件句使用过去式Be动词,表示与现在事实相反,我现在不可能是你。

*注意*

这个句型的be动词只能用were,例如”if I were you”、”if she were me”、”if he were her”,不能用was哦

三、与过去事实相反

if虚拟语气一次学会!


第三种用法指你假设的句子与过去的事实相反,也就是对过去发生的事情做假设。

  • 例句一:If you had studied hard, you could have passed the test.如果当时你有认真读书,就已经通过考试了。

“If you had studied hard” → 用过去完成式代表你当时没有认真读书,

“you could have passed the test” → 用would+现在完成式代表你当时可以通过考试但却没通过

与过去事实相反的假设,英文句子里不会特别写出时间点,但从时态就可以知道它是要表达“当时”

  • 例句二:If he hadn’t jaywalked, the truck might not have hit him.如果当时他没有乱穿越马路,卡车可能就不会撞到他

“If he hadn’t jaywalked” → 用过去完成式假设他当时没有乱穿越马路,但事实上当时他有穿越马路

“the truck might not have hit him” → 用might+现在完成式隐含着他在过去已被卡车撞到的事实

if虚拟语气一次学会!


记住用法小口诀

If条件句:

现在与未来皆真实用现在式

与现在事实相反用过去式

与过去事实相反用过去完成式

三种基本假设语气句型整理

大家都学会基本的假设语气句型了吗?来检视一下自己有没有确实理解吧!


Exercise

1. If we _____ (take) MRT, we could arrive here earlier.如果搭地铁,我们就可以早点到这里了

2. Stacy _____ (be) angry if she knows that you broke her favorite vase.如果Stacy知道你打破了她最爱的花瓶,她会非常生气

3. Linda would have caught the train if it _____ (rain).如果没下雨,Linda就会赶上火车了

(答案在文章最下面唷)

现在你分得清楚这三句了吗?

If Tom has time, he will visit us. → 如果Tom有时间,他会来拜访我们

If Tom had time, he would visit us. → 如果Tom现在有时间,他(现在)会来拜访我们

If Tom had had time, he would have visited us. → 如果Tom当时有时间,他(当时)会来拜访我们

补充:混合用法

有时候If条件句与结果句的时间点会不一样,例如我们对过去的事做假设,但结果是现在发生,透过以下例句比较容易理解。

  • 例句一:If my uncle had worked hard, he would be a rich man now.如果我叔叔年轻时有认真工作的话,他现在就会是个有钱人了

If条件句“If my uncle had worked hard”与过去事实相反(即他过去不认真工作) →用过去完成式

结果句”he would be a rich man now”与现在事实相反(即他现在不有钱) →用助动词would+原形V

  • 例句二:If he were not a bad guy, he would not have cheated you of your money.如果他不是个坏人,他当时就不会骗你的钱

If条件句”If he were not a bad guy” 与现在事实(他是个坏人)相反→用过去简单式

结果句”he would not have cheated you of your money” 与过去事实(他骗你钱)相反→用would+现在完成式


进阶学习:条件句的简化

如果都会使用以上基本假设语气的句型后,进阶一点就可以来学条件句的简化啰!

规则:在条件句中有“助动词”或“Be动词”,可将其移至句首,再把if省略。

  • 例句一:If I were you, I would not skip the lecture. (如果我是你,我不会要翘课)

→ Were I you, I would not skip the lecture.与现在事实相反的假设,结果句用would+原V。

  • 例句二:If you had studied hard, you could have passed the test. (如果你当时有认真读书,就可以通过考试了)

→ Had you studied hard, you could have passed the test.这里的had是助动词,所以可以移到句首,如果是一般动词“有”的意思的话,就不是助动词啰,要注意。

希望大家看完都能够理解并正确运用假设语气!有时候中文的假设句子,可能需要上下文或特别提到时间点,才能判断它的假设是已经发生,还是未来可能发生,但是英文句子只要透过时态,就能够明白说话者假设的事情是否已发生,其实这很有趣呢!建议各位可以多看一些句子,或自己假设一些情境来熟悉假设语气的用法


Exercise答案:

1. took

2. will be

3. had not rained

if虚拟语气一次学会!