程序员思维学英语语法
单词-名词详解
1. 名词的定义
2. 名词的分类
2.1 专有名词
2.2 可数名词
2.3 不可数名词
3 名词所有格
3.1 有生命名词的所有格
3.2 无生命名词的所有格
3.3 双重所有格
本章主要目的:了解名词及其各种变形
名词:表示人、事物、地点以及抽象事物的名称
名词分专有,可数和不可数,顾名思义,可数与不可数之间的区别为是否可被计数。
比如水杯,可以是一个水杯,两个水杯,就是可数的。
比如水,就无法被计数,只能用量词来计数,比如一杯水,一桶水,所以属于不可数。
表示特定的人,物,机构或场所等的名词叫专有名词。专有名词的首字母一定要大写。
/**
* @Author: Wen-Xueliang
* @Date: Created in 2019/5/29 22:25
* @Description: 专有名词:表示特定的人,物,机构或场所等的名词
*/
public class ProperNoun extends Noun {
/**
* 人名及头衔
* @param text
*/
public void setNameAndTitle(String text) {
this.text = text;
}
/**
* 著作名称
* @param text
*/
public void setTitleOfWork(String text) {
this.text = text;
}
/**
* 月份
* @param text
*/
public void setMonth(String text) {
this.text = text;
}
/**
* 星期
* @param text
*/
public void setWeek(String text) {
this.text = text;
}
/**
* 四季
* @param text
*/
public void setSeason(String text) {
this.text = text;
}
/**
* 节日
* @param text
*/
public void setFestival(String text) {
this.text = text;
}
/**
* 地理名称
* @param text
*/
public void setGeographical(String text) {
this.text = text;
}
}
可数名词里,又可以分为单数和复数。用于区别是单个物品还是多个物品。
一本书叫a book,两本书就叫two books。
复数的形式一般有
/**
* @Author: Wen-Xueliang
* @Date: Created in 2019/5/29 23:19
* @Description: 可数名词
*/
public class CountableNoun extends Noun {
private Map irregularNoun;
private List peersNoun;
protected boolean isPlural = false;//是否为复数
/**
* 在后面加s,比如book-》books
* 以s、x、o、sh、ch结尾的则在后面加es,比如bus-》buses
* 以y结尾的在后面将y改为ies,比如story-》stories
* 以f、fe结尾的在后面将f改为ves,比如wolf-》wolves
* 单复数同行的名词不需要修改,比如fish-》fish
* 不规则名词,比如man-》men
* TODO:以O结尾的无生命单词和以元音字母+Y结尾的单词可以直接后面加s,比如piano-》pianos,boy-》boys
*/
private String toPlural(String text) {
isPlural = true;
if("s".equals(text.substring(text.length() - 1))
|| "x".equals(text.substring(text.length() - 1))
|| "o".equals(text.substring(text.length() - 1))
|| "sh".equals(text.substring(text.length() - 2))
|| "ch".equals(text.substring(text.length() - 2))
) {
return text + "es";
} else if("y".equals(text.substring(text.length() - 1))) {
return text.substring(0, text.length() - 1) + "ies";
} else if("f".equals(text.substring(text.length() - 1))) {
return text.substring(0, text.length() - 1) + "ves";
} else if("fe".equals(text.substring(text.length() - 2))) {
return text.substring(0, text.length() - 2) + "ves";
} else if(irregularNoun.keySet().contains(text)) {
return irregularNoun.get(text);
} else if(peersNoun.contains(text)) {
//数量才是单复数同行,种类还是要变形
//one fish/two fish a kind of fish/two kinds of fishes
return text;
} else {
return text + "s";
}
}
}
不可数名词的表现形式
/**
* @Author: Wen-Xueliang
* @Date: Created in 2019/5/29 23:19
* @Description: 不可数名词
*/
public class UnCountableNoun extends Noun {
/**
* some、any、little\a little、much+不可数名词, 比如some water(一些水)
* 数词+量词+of+不可数名词,比如A cup of water(一杯水)
*/
}
复合名词是否可数取决于后面的名词
English book(英语书),English为专有名词充当book的定语,因为book是可数名词,所以English book为可数名词。
Water is important for living things.(水对生物很重要),Water为不可数名词充当主语
名词作表语是说明主语的身份。I am happiness(我是幸福),这种是错误的,应该说I am happy
He is my friend.(他是我的朋友),friend为可数名词充当表语
I like pears.(我喜欢梨),pears为可数名词充当宾语
I call him Uncle Tom.(我叫他汤姆叔叔),Uncle Tom为专有名词充当宾语补足语
Ken,my teacher, is very busy now.(我的老师肯现在非常忙),teacher为名词充当同位语
名词所有格是用于表示名词之间的所属关系。比如Bill‘s father(比尔的父亲),属于限定词中的一种。
格式为of+名词。The gate of the school(学校的大门)
The gate of our school(我们学校的大门)
需注意被所有格修饰的名词,不关单复数还是可数、非可数,前面需加定冠词the。
格式为of+名词所有格/名词性物主代词。A friend of my father’s(我父亲的一个朋友) A friend of mine(我的一个朋友)
这个容易与A friend of my father(我父亲唯一的朋友)搞混。
A friend of my father’s是缩略形式,原文是A friend of my father’s friends。