- 浏览: 2678228 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
80后的童年2:
深入浅出MongoDB应用实战开发网盘地址:https://p ...
MongoDB入门教程 -
shliujing:
楼主在不是精通java和php的前提下,请不要妄下结论。
PHP、CakePHP哪凉快哪呆着去 -
安静听歌:
希望可以一给一点点注释
MySQL存储过程之代码块、条件控制、迭代 -
qq287767957:
PHP是全宇宙最强的语言!
PHP、CakePHP哪凉快哪呆着去 -
rryymmoK:
深入浅出MongoDB应用实战开发百度网盘下载:链接:http ...
MongoDB入门教程
很高兴花周五晚上2个小时的时间来阅读这样一本实用的书 -- 《Java 5.0 Tiger》
很多我面试过的朋友,工作经验两年以上,到今天都只用过JDK1.4,中WebSphere/WebLogic的毒不浅
智,日日知新也
一、新的类库
1, java.util.Arrays
提供对数组的一大堆实用的static方法:
binarySearch([], key): 使用二分搜索法来在指定数组中搜索指定值,返回搜索值的索引
toString([]): 打印数组内容
deepToString([]): 深层打印数组内容,适用于多维数组
equals([], []): 数组比较
deepEquals([], []): 深层比较,适用于多维数组
fill([], val): 给数组的每个元素赋值
sort([]): 对数组升序排序
2, java.util.Queue<E>
FIFO(先进先出)的必需品:
offer(E): 进
poll(): 出
Queue是接口,Queue q = new LinkedList();
3, java.util.Comparator<T>
结合java.util.Priority<E>构造自己排序的Queue:
compare(t1, t2): 实现自己的compare方法来排序
4, Override返回类型
Tiger让方法覆盖时连返回类型也可以Override:
Test2运行结果为: Test2
返回类型可以为superclass返回类型的extension
5, Unicode
Tiger前的Java版本支持Unicode 3.0,所有Unicode字符容于16位(一个char)
而Tiger改为支持Unicode4.0,它定义了不能容于16位的字符,这些字符不能容于一个char
这时我们用int类型的codePoint来表示该字符
codepoint是一个代表特定字符的数字,如0x3C0是π这个符号的codepoint
我们需要关注Character类的新方法
6, StringBuilder
不担心thread安全的情况下使用StringBuilder代替StringBuffer是最好的方式
Where possible, it is recommended that this class be used in preference to StringBuffer as it will be faster under most implementations.
仔细的看了一下日期 就怕看错了 Tiger刚推出的时候发这个帖子绝对要精华
可现在。。。。
JDK1.5其实对编译器的改动非常小,很多新特性都是用了预编译或解释时的一些Hacks,所以说一些表面功能的背后可能还会隐藏着深层问题。
不过annotation确实令人兴奋,终于可以有个优雅的方式能得到代码的元信息了
有的东西确实还不错,例如concurrent部分,有的东西没有什么大用处,例如静态import(远不能达到在开发中提高生产力的效果)和for语法,还有些东西是看起来很美,实际上一用就麻烦不断。
EasyMock2,JUnit4中不用静态import写出的代码会丑陋无比,谁说不能提高生产力了
很多我面试过的朋友,工作经验两年以上,到今天都只用过JDK1.4,中WebSphere/WebLogic的毒不浅
智,日日知新也
一、新的类库
1, java.util.Arrays
提供对数组的一大堆实用的static方法:
binarySearch([], key): 使用二分搜索法来在指定数组中搜索指定值,返回搜索值的索引
toString([]): 打印数组内容
deepToString([]): 深层打印数组内容,适用于多维数组
equals([], []): 数组比较
deepEquals([], []): 深层比较,适用于多维数组
fill([], val): 给数组的每个元素赋值
sort([]): 对数组升序排序
2, java.util.Queue<E>
FIFO(先进先出)的必需品:
offer(E): 进
poll(): 出
Queue是接口,Queue q = new LinkedList();
3, java.util.Comparator<T>
结合java.util.Priority<E>构造自己排序的Queue:
compare(t1, t2): 实现自己的compare方法来排序
4, Override返回类型
Tiger让方法覆盖时连返回类型也可以Override:
public class Test1 { protected Test1 returnSomething() { return new Test1(); } } public class Test2 extends Test1 { @Override protected Test2 returnSomething() { return new Test2(); } public static void main(String... args) { System.out.println(new Test2().returnSomething().getClass().getName()); } }
Test2运行结果为: Test2
返回类型可以为superclass返回类型的extension
5, Unicode
Tiger前的Java版本支持Unicode 3.0,所有Unicode字符容于16位(一个char)
而Tiger改为支持Unicode4.0,它定义了不能容于16位的字符,这些字符不能容于一个char
这时我们用int类型的codePoint来表示该字符
codepoint是一个代表特定字符的数字,如0x3C0是π这个符号的codepoint
我们需要关注Character类的新方法
6, StringBuilder
不担心thread安全的情况下使用StringBuilder代替StringBuffer是最好的方式
引用
Where possible, it is recommended that this class be used in preference to StringBuffer as it will be faster under most implementations.
评论
16 楼
fhjxp
2007-12-17
使用了Anotation之后,请问能不能在Anotation里面编码实现对被Anotation方法的拦截?
15 楼
dalang81
2007-08-31
现在写Tiger有点晚了,都准备换Java6了。
Annotation确实是Java语言的一大进步。另外,Generic 和for循环也能使Java代码简洁很多。Autoboxing与Unboxing用起来方便,但感觉不是很好,不小心容易出问题。
==================
Annotation进步了?
这个是很有争议的话题,他把java推向了破坏结构,依赖实现的境地了。
Annotation确实是Java语言的一大进步。另外,Generic 和for循环也能使Java代码简洁很多。Autoboxing与Unboxing用起来方便,但感觉不是很好,不小心容易出问题。
==================
Annotation进步了?
这个是很有争议的话题,他把java推向了破坏结构,依赖实现的境地了。
14 楼
万里有那么一点云
2007-08-01
恩那,我们现在的项目据说还有可能要用jdk1.4呢,老古董啊,=。 =
13 楼
bromon
2007-07-28
我就是中了was毒,1.5的东西只能看不能用
12 楼
xly_971223
2007-07-27
kjhot 写道
这种文章也能评为精华,呵呵
仔细的看了一下日期 就怕看错了 Tiger刚推出的时候发这个帖子绝对要精华
可现在。。。。
11 楼
Garriot
2007-07-27
simohayha 写道
Generic 我觉得就是个空壳子,类型擦除真是很不好的说。不过貌似这个是为了兼容原来的代码,才这样做的。
不过5里面最吸引人的就是线程部分的改动了。
不过5里面最吸引人的就是线程部分的改动了。
JDK1.5其实对编译器的改动非常小,很多新特性都是用了预编译或解释时的一些Hacks,所以说一些表面功能的背后可能还会隐藏着深层问题。
不过annotation确实令人兴奋,终于可以有个优雅的方式能得到代码的元信息了
10 楼
kjhot
2007-07-20
这种文章也能评为精华,呵呵
9 楼
Tin
2007-07-20
hideto看看Generic的背后会哭的……擦拭法造成的不一致。
还有Generic超级晦涩的语法……
经常被人用来攻击Java
还有Generic超级晦涩的语法……
经常被人用来攻击Java
8 楼
simohayha
2007-07-18
Generic 我觉得就是个空壳子,类型擦除真是很不好的说。不过貌似这个是为了兼容原来的代码,才这样做的。
不过5里面最吸引人的就是线程部分的改动了。
不过5里面最吸引人的就是线程部分的改动了。
7 楼
dunsword
2007-07-18
现在写Tiger有点晚了,都准备换Java6了。
Annotation确实是Java语言的一大进步。另外,Generic 和for循环也能使Java代码简洁很多。Autoboxing与Unboxing用起来方便,但感觉不是很好,不小心容易出问题。
Annotation确实是Java语言的一大进步。另外,Generic 和for循环也能使Java代码简洁很多。Autoboxing与Unboxing用起来方便,但感觉不是很好,不小心容易出问题。
6 楼
yfmine
2007-07-15
fsword 写道
有的东西确实还不错,例如concurrent部分,有的东西没有什么大用处,例如静态import(远不能达到在开发中提高生产力的效果)和for语法,还有些东西是看起来很美,实际上一用就麻烦不断。
EasyMock2,JUnit4中不用静态import写出的代码会丑陋无比,谁说不能提高生产力了
5 楼
hideto
2007-07-14
罪过啊罪过,我本将心照Tiger,无奈Tiger照沟渠
其实Tiger的Generic和Annotation算是为Java撑了点脸面了
其实Tiger的Generic和Annotation算是为Java撑了点脸面了
4 楼
fsword
2007-07-14
楼主写的rails系列很好阿,怎么又捡起tiger这条破船了?
有的东西确实还不错,例如concurrent部分,有的东西没有什么大用处,例如静态import(远不能达到在开发中提高生产力的效果)和for语法,还有些东西是看起来很美,实际上一用就麻烦不断。
例如范型,它鼓励的是一种严格类型化的开发模式,当初刚出来的时候还是很吸引我的,但是用一用就觉得确实有问题,关键是缺少runtime的类型,而且语法也很不方便,实际上是个鸡肋。
那个covariant return感觉虽好,但是似乎更多的意义在于把java完善了一下(印象中用tiger开发的时候压根就没有考虑这个地方)。
至于anotation,没怎么用过元编程的东西,倒是希望其他人谈谈。
有的东西确实还不错,例如concurrent部分,有的东西没有什么大用处,例如静态import(远不能达到在开发中提高生产力的效果)和for语法,还有些东西是看起来很美,实际上一用就麻烦不断。
例如范型,它鼓励的是一种严格类型化的开发模式,当初刚出来的时候还是很吸引我的,但是用一用就觉得确实有问题,关键是缺少runtime的类型,而且语法也很不方便,实际上是个鸡肋。
那个covariant return感觉虽好,但是似乎更多的意义在于把java完善了一下(印象中用tiger开发的时候压根就没有考虑这个地方)。
至于anotation,没怎么用过元编程的东西,倒是希望其他人谈谈。
3 楼
hideto
2007-07-14
七、for/in
抛弃Iterator吧
自定义实现Iterable接口或继承现有Collection的类来让你的类可以使用for/in
八、静态Import
Tiger中静态方法也可以import了,enum元素也可以import
九、java.util.Formatter
让你拥有C的printf()风格的字符串格式化
十、线程
Tiger引进大量全新的并发性功能,更好的支持mutilthread
HashMap的替代者ConcurrentHashMap和ArrayList的替代者CopyOnWriteArrayList让我们用的放心、舒心、省心
在大并发量读取时采用java.util.concurrent包里的一些类会让大家满意
BlockingQueue、Callable、Executor、Semaphore...
抛弃Iterator吧
for(int n : numbes) { println(n); } for(String s : stringList) { println(s); }
自定义实现Iterable接口或继承现有Collection的类来让你的类可以使用for/in
八、静态Import
Tiger中静态方法也可以import了,enum元素也可以import
import static java.lang.System.out; import static java.lang.Math.*; import static xx.xx.xx.SomeEnum.*;
九、java.util.Formatter
让你拥有C的printf()风格的字符串格式化
formatter.format("Remaining account balance: $%.2f", balance);
十、线程
Tiger引进大量全新的并发性功能,更好的支持mutilthread
HashMap的替代者ConcurrentHashMap和ArrayList的替代者CopyOnWriteArrayList让我们用的放心、舒心、省心
在大并发量读取时采用java.util.concurrent包里的一些类会让大家满意
BlockingQueue、Callable、Executor、Semaphore...
2 楼
hideto
2007-07-14
六、Annotation
Annotation是Java中的metadata
1, Tiger中预定义的三种标准annotation
a, Override
指出某个method覆盖了superclass的method
当你要覆盖的方法名拼写出错时编译不通过
b, Deprecated
指出某个method或element类型的使用是被阻止的
子类将不能覆盖该方法
c, SupressWarnings
关闭class、method、field/variable初始化的编译期警告
比如没有List没有使用Generic,则@SuppressWarnings("unchecked")将去掉编译期警告,这对将程序移植到JDK1.4有意义
2, 自定义annotation
public @interface Marked {}
3, meta-annotation
或者说annotation的annotation
四种标准的meta-annotation全部定义在java.lang.annotaion包中:
a, Target
指定所定义的annotation可以用在哪些程序单元上
如果Target没有指定,则表示该annotation可以使用在任意程序单元上
b, Retention
指出Java编译期如何对待annotation
annotation可以被编译期丢掉,或者保留在编译过的class文件中
在annotation被保留时,它也指定是否会在JVM加载class时读取该annotation
c, Documented
指出被定义的annotation被视为所熟悉的程序单元的公开API之一
被@Documented标注的annotation会在javadoc中显示,这在annotation对它标注的元素被客户端使用时有影响时起作用
d, Inherited
该meta-annotation应用于目标为class的annotation类型上,被此annotattion标注的class会自动继承父类的annotation
4, Annotation的反射
我们发现java.lang.Class有许多与Annotation的反射相关的方法,如getAnnotations、isAnnotationpresent
我们可以利用Annotation反射来做许多事情,比如自定义Annotation来做Model对象验证
使用@RejectEmpty和@AcceptInt标注我们的Model的field,然后利用反射来做Model验证
Annotation是Java中的metadata
1, Tiger中预定义的三种标准annotation
a, Override
指出某个method覆盖了superclass的method
当你要覆盖的方法名拼写出错时编译不通过
b, Deprecated
指出某个method或element类型的使用是被阻止的
子类将不能覆盖该方法
c, SupressWarnings
关闭class、method、field/variable初始化的编译期警告
比如没有List没有使用Generic,则@SuppressWarnings("unchecked")将去掉编译期警告,这对将程序移植到JDK1.4有意义
2, 自定义annotation
public @interface Marked {}
3, meta-annotation
或者说annotation的annotation
四种标准的meta-annotation全部定义在java.lang.annotaion包中:
a, Target
指定所定义的annotation可以用在哪些程序单元上
如果Target没有指定,则表示该annotation可以使用在任意程序单元上
@Target({ElementType.ANNOTATION_TYPE, ElementType.CONSTRUCTOR, ElementType.FIELD, ElementType.LOCAL_VARIABLE, ElementType.METHOD, ElementType.PACKAGE, ElementType.PARAMETER, ElementType.TYPE}) public @interface TODO {}
b, Retention
指出Java编译期如何对待annotation
annotation可以被编译期丢掉,或者保留在编译过的class文件中
在annotation被保留时,它也指定是否会在JVM加载class时读取该annotation
@Retention(RetentionPolicy.SOURCE) // Annotation会被编译期丢弃 public @interface TODO1 {} @Retention(RetentionPolicy.CLASS) // Annotation保留在class文件中,但会被JVM忽略 public @interface TODO2 {} @Retention(RetentionPolicy.RUNTIME) // Annotation保留在class文件中且会被JVM读取 public @interface TODO3 {}
c, Documented
指出被定义的annotation被视为所熟悉的程序单元的公开API之一
被@Documented标注的annotation会在javadoc中显示,这在annotation对它标注的元素被客户端使用时有影响时起作用
d, Inherited
该meta-annotation应用于目标为class的annotation类型上,被此annotattion标注的class会自动继承父类的annotation
4, Annotation的反射
我们发现java.lang.Class有许多与Annotation的反射相关的方法,如getAnnotations、isAnnotationpresent
我们可以利用Annotation反射来做许多事情,比如自定义Annotation来做Model对象验证
@Retention(RetentionPolicy.RUNTIME) @Target({ ElementType.FIELD, ElementType.METHOD }) public @interface RejectEmpty { /** hint title used in error message */ String value() default ""; } @Retention(RetentionPolicy.RUNTIME) @Target( { ElementType.FIELD, ElementType.METHOD }) public @interface AcceptInt { int min() default Integer.MIN_VALUE; int max() default Integer.MAX_VALUE; String hint() default ""; }
使用@RejectEmpty和@AcceptInt标注我们的Model的field,然后利用反射来做Model验证
1 楼
hideto
2007-07-14
二、Generic
不光是类型安全,Parameterized Type作为参数和返回值,Generic是vararg、annotation、enumeration、collection等功能的基石
1, 类型安全
抛弃List、Map,使用List<String>、Map<Integer, String>
给List、Map添加元素或者使用Iterator<T>遍历时,编译期就可以给你检查出类型错误
2, 方法参数和返回值统统加上Type
抛弃List getStringListFromIntegerList(List list)
使用List<String> getgetStringListFromIntegerList(List<Integer> list)
3, 不再需要类型转换
List<String> l = new ArrayList<String>()
String s = l.get(i)
4, 类型通配符
假设一个打印List<T>中元素的方法printList,我们希望任何类型T的List<T>都可以被打印:
类型通配符"?"让我们的printList方法更通用
5, 限制类型参数
如果通配符?让我们的参数类型过于广泛,我们还可以限制一下它:
三、Enumerated类型
Tiger加入了枚举类型,而且是enum是类型安全的
枚举类型入门
四、Autoboxing与Unboxing
Primitive与Wrapper类型可以自动互转了
int、short、char与Integer、Short、Char一视同仁
五、vararg
变长参数让我们的方法更灵活更重用:
不光是类型安全,Parameterized Type作为参数和返回值,Generic是vararg、annotation、enumeration、collection等功能的基石
1, 类型安全
抛弃List、Map,使用List<String>、Map<Integer, String>
给List、Map添加元素或者使用Iterator<T>遍历时,编译期就可以给你检查出类型错误
2, 方法参数和返回值统统加上Type
抛弃List getStringListFromIntegerList(List list)
使用List<String> getgetStringListFromIntegerList(List<Integer> list)
3, 不再需要类型转换
List<String> l = new ArrayList<String>()
String s = l.get(i)
4, 类型通配符
假设一个打印List<T>中元素的方法printList,我们希望任何类型T的List<T>都可以被打印:
public void printList(List<?> list, PrintStream out) throws IOException { for (Iterator<?> i = list.iterator(); i.hasNext(); ) { out.println(i.next().toString()); } }
类型通配符"?"让我们的printList方法更通用
5, 限制类型参数
如果通配符?让我们的参数类型过于广泛,我们还可以限制一下它:
public void printList(List<? extends Number> list, PrintStream out) throws IOException { for (Iterator<? extends Number> i = list.iterator(); i.hasNext(); ) { out.println(i.next().toString()); } }
三、Enumerated类型
Tiger加入了枚举类型,而且是enum是类型安全的
枚举类型入门
四、Autoboxing与Unboxing
Primitive与Wrapper类型可以自动互转了
int、short、char与Integer、Short、Char一视同仁
五、vararg
变长参数让我们的方法更灵活更重用:
public Guitar(String... features) public static void main(String... args)
发表评论
-
Ubuntu 11.10 安装Java、JIRA/Confluence/FishEye、Nginx
2012-03-01 22:26 46221. 替换Ubuntu源 编辑/etc/apt/source. ... -
Android开发WeatherForecast程序
2009-03-28 13:38 62841,使用Googel API http://www.googl ... -
Android程序开发入门
2009-03-26 14:26 30251, 安装软件 1) JDK 2) Eclipse 3) AD ... -
Spring与ThreadLocal的讨论
2007-07-31 12:27 3910Singleton是不能使用非Singleton的实例的 比如 ... -
Spring基础培训ppt
2007-07-30 19:34 6237做ppt还真是累 更新了一下ppt. -
使用Jetty和DWR创建伸缩性Comet程序
2007-07-28 21:11 7510Ajax for Java developers: Write ... -
Java代码规范
2007-07-19 01:12 3444http://java.sun.com/docs/codeco ... -
Spring JavaConfig参考文档
2007-07-14 18:37 12829Spring JavaConfig参考文档 Spring Ja ... -
深入了解Java ClassLoader、Bytecode 、ASM、cglib
2007-07-05 16:50 19439一、Java ClassLoader 1,什么是ClassL ... -
Java里判断Image文件信息格式(GIF/PNG/JPG)/Size/Height/Width?
2007-06-05 18:01 92751,判断Image格式 用UE打开GIF/PNG/JPG格式的 ... -
推荐轻量级面向服务Web开发库Objot
2007-05-27 22:17 3204Objot是我们公司Aragon Consulting Gro ... -
实战Mule:利用Mule调用XFire发布的文件上传服务
2007-03-27 15:17 5939配置Mule和XFire环境 参考前面的文章实战Mule:利用 ... -
实战Mule:利用Mule调用XFire发布的Web服务
2007-03-26 17:26 9396下载和安装XFire和Mule 参考http://hideto ... -
开源ESB引擎Mule初印象
2007-03-22 18:13 10663Mule is the leading open source ... -
XFire快速上手
2007-03-14 11:53 6707下载XFrie 首先,去http://xfire.codeha ... -
学习Eclipse RCP之Hello World
2007-03-12 17:57 4250创建插件项目 打开Eclipse并选择File->New ... -
Google Web Toolkit上手指南
2007-03-12 16:07 4782目录 安装Google Web Toolkit 构建一个简单的 ... -
5分钟学习Maven2
2007-03-12 01:12 5947安装 Maven是一个Java工具,所以你必须安装Java环境 ... -
在UDDI注册中心里使用WSDL
2007-03-09 15:55 7313原文链接:http://www.oasis-open.org/ ... -
Axis2快速上手指南
2007-03-01 23:22 74351原文链接:http://ws.apache.org/axis2 ...
相关推荐
通过列举的例子,如 "There is a tiger in the house."(房子里有一只老虎。),我们可以理解 "In" 用于表示在某个空间内。 对于位置关系,PPT还介绍了 "Beside"(在...旁边)、"In front of"(在...前面)、...
1. 表示"一"的概念,例如:"There is a tiger in the zoo."(动物园里有一只老虎。) 2. 表示一类人或事物,如:"A tiger can be dangerous."(老虎可能有危害性。) 3. 表示"每一"的意思,如"We go swimming four ...
Once upon a time, there lived a tiger in the forest." - 否定句构造:如"我书包里什么也没有。There was nothing in my bag." - 一般疑问句及肯定回答:如"你昨天给父母打电话了吗?—是的。Did you call your ...
2. 它可以表示"一个"的概念,如"There is a tiger in the zoo."(动物园里有一只老虎)。 3. 表示一类人或事物,比如"A tiger can be dangerous."(老虎可能有危害性)。 4. 表示"某一个",例如"A gentleman wants ...
对于"Is there a tiger in the garden?",否定回答是"No, there isn't.";对于"Are there any oranges on the table?",肯定回答是"Yes, there are.";对于"Are there any boys in the zoo?",否定回答是"No, there ...
例如:“I was terrified of the tiger when I first saw it.” 和 “He is terrified of speaking English in class.” 这里的 `terrified` 比 `afraid` 表达的恐惧感更强烈。 3. **Practice**: - 作为动词,`...
例如:"There is a bed and three bears in the house."(房子里有一张床和三只熊。) 5. 一般疑问句:用 "Be there..." 开头。例如:"Is there a library in our school?"(我们学校有一个图书馆吗?) 6. 特殊...
可以使用"be terrified of sth./ doing sth.",比如"I was terrified of the tiger when I first saw it."(我第一次看见老虎时吓坏了)和"He is terrified of speaking English in class."(他害怕在课堂上讲英语)...
- the + 形容词的复数形式,表示一家人或夫妇,如 The Browns have lived in this house for many years.(布朗一家在这个房子里住了许多年。) - the + 形容词(部分)表示一类人,如 the rich(富人),the poor...
1. "在森林里" 是 "in the forest"; 2. "一座漂亮的房子" 对应 "a beautiful house"; 3. "正合适" 翻译为 "just right"; 4. "在她的前面" 是 "in front of her"; 5. "在书桌旁边" 为 "beside the desk"; 6. "太...
3. **Many people who had seen the film were afraid to go to the forest when they remembered the scenes _______ people were eaten by the tiger.** - 答案:**D. in which** - 解析:此处scenes作为先行词...
例如,听句子选择句中含有的信息,涉及了after class, after school, after dinner等时间表达,以及The Line King, The Monkey King, The Tiger King等专有名词,还有Tree Planting Day, Mother's Day, Spring ...
动词"aim"可以表示瞄准,如"He aimed his gun at the tiger",也可以表示计划或立志做某事,如"Harry aims at being a doctor."。形容词"aimless"则表示无目标的。 6. **Evident**:"evident"意为明显的或明白的,...
此外,还有一些了解词汇,如特殊疑问词what, where,动词swim, fly等,以及农场相关的单词如farmhouse, chicken等。 二、核心句型 本单元强调了几个关键句型的运用: 1. 询问物体是什么的句型:"What’s this?",...
9. "We () in the same house when we were students in Britain." 此题考察固定搭配。选项C "used to live" 表示过去常常住在同一所房子里。 10. "We have ____ with the company for 10 tons of steel." 此题考察...
post office, pay phone, across from, next to, in front of, on the right等短语,以及指路用语,如take a walk, have fun, take a taxi, turn left, go straight, between...and..., the way to my house。...
- on holiday in the UK:在英国度假 - 好习惯:good habits - the man next to me:我旁边的那位男士 - 端午节:Dragon Boat Festival - eat lots of delicious food:吃很多美味的食物 - 赏月:enjoy the ...
- 冠词和介词:涉及到了不定冠词a/an(如“I'm the winner.”)和介词的使用(如“next to the house”)。 4. **单项选择**: - 考察了动词的形式(如cooking vegetables),情态动词的回答(如No, I can't.),...
In the film, a wealthy doctor was found dead in his house. - 直到最后一刻,你才会找到答案。You will not find the answer until the very end. - 如果你喜欢破解疑案,你可能会喜欢这部电影。If you enjoy ...
The strongest power in the world:该短文讲述了人类的潜力和能力,帮助学生了解人生的价值和意义。 Passage 54. Who is the God:该短文讲述了宗教和信仰的重要性,帮助学生了解文化和宗教的多样性。 Passage...