第一篇:java基本语法总结
一、标识符及字符集
Java语言规定标识符是以字母、下划线“_”或美元符号“$”开始,随后可跟数字、字母、下划线或美元符号的字符序列。Java标识符大小写敏感,没有长度限制,可以为标识符取任意长度的名字,但关键字不能作为标识符。为增强程序可读性,Java作如下的约定:
1.类、接口:通常使用名词,且每个单词的首字母要大写
2.方法:通常使用动词,首字母小写,其后用大写字母分隔每个单词 3.常量:全部大写,单词之间用下划线分隔
4.变量:通常使用名词,首字母小写,其后大写字母分隔每个单词,避免使用$符号。
Java语言使用国际字符集(Unicode)。Unicode字符集定义了一套国际标准字符集。通常的ASCII码是8位的,而Unicode字符集中的每个字符占16位,即2个字节,整个字符集共包括65336个字符,兼容ASCII,排在Unicode字符集最前面的256个字符就是ASCII码。Unicode除了可以表示256个ASCII码外,还可以表示汉字、拉丁语、希腊字母、朝鲜语等。
Java标识符总结:1.由字母、数字、_或$组成,不能以数字开头;2.严格区分大小写;3.长度不限
二、关键字
Java常用关键字列表如下: 关键字
含义
用在类的声明中来指明一个类是不能被Abstract
实例化的,但是可以被其它类继承。一个抽象类可以使用抽象方法,抽象方法不需要实现,但是需要在子类中被实现
Boolean Break
布尔类型,只有true或者false 停止,并跳出本层循环
8bit(位),也就是8个1/0表示,即二进制 Byte
用来定义一组分支选择,如果某个值和Case
switch中给出的值一样,就会从该分支开始执行。
用来声明当try语句块中发生运行时错误或非运行时异常时运行的一个块。用来定义一个字符类型 类
在Java中,const是作为保留字以备扩充,同样的保留字以备扩充还有goto.你Const
可以用final关键字.final也可以用于声明方法或类,被声明为final的方法或类不能被继承。一般C里是const 对应java用final
用来打断当前循环过程,从当前循环的最Continue
后重新开始执行,如果后面跟有一个标签,则从标签对应的地方开始执行。配合switch跟case使用,但case中没Default
有找到匹配时,则输出或者为default后面的语句。
用来声明一个循环,这个循环的结束条件可以通过while关键字设置 用来定义一个double类型的变量 如果if语句的条件不满足就会执行该语句。Catch
Char Class
Do
Double
Else
Extends
extends 继承 类X 通过extend 类Y来
添加功能,或者添加变量,或者添加方法,或者覆盖类Y的方法。一个接口extends另外一个接口来添加方法。
False
假的
一个Java语言的关键字。你只能定义一个实体一次,以后不能改变它或继承它。Final
更严格的讲:一个final修饰的类不能被子类化,一个final修饰的方法不能被重写,一个final修饰的变量不能改变其初始值。
用来执行一段代码不管在前面定义的try语句中是否有异常或运行时错误发生。用来定义一个浮点数变量
用来声明一个循环。程序员可以指定要循环的语句,推出条件和初始化变量。虽然为Java关键字,但是仅在C语言里面使用,Java不提供Goto语句
Java编程语言的一个关键字,用来生成一If
个条件测试,如果条件为真,就执行if下的语句。
Java(TM)编程语言的一个关键字,在类的Implements
声明中是可选的,用来指明当前类实现的接口。
Java(TM)编程语言的一个关键字,在源文Import
件的开始部分指明后面将要引用的一个类或整个包,这样就不必在使用的时候加Finally
Float
For
Goto
上包的名字。
一个二操作数的Java(TM)语言关键字,用Instaceof
来测试第一个参数的运行时类型是否和第二个参数兼容。
Java(TM)的一个关键字,用来定义一个整形变量
Java(TM)的一个关键字,用来定义一系列Interface 的方法和常量。它可以被类实现,通过implements关键字。
Long Native New
用来定义一个long类型的变量 本地方法。
用来创建一个新的方法
当String类型没赋值时,该变量的值为Null 包的意思
用在方法或变量的声中。它表示这个方法或变量只能被这个类的其它元素所访问。在方法和变量的声明中使用,它表示这个Protected
方法或变量只能被同一个类中的,子类中的或者同一个包中的类中的元素所访问。在方法和变量的声明中使用,它表示这个方法或变量能够被其它类中的元素访问。Int
Null
Package
Private
Public
Return
用来结束一个方法的执行。它后面可以跟
一个方法声明中要求的值。
Short
用来定义一个short类型的变量。用来定义一个变量为类变量。类只维护一个类变量的拷贝,不管该类当前有多少个Static
实例。“static” 同样能够用来定义一个方法为类方法。类方法通过类名调用而不是特定的实例,并且只能操作类变量。
Super
父类
是一个选择语句,与case,default,break一起使用。线程同步
用来代表它出现的类的一个实例。this可以用来访问类变量和类方法。
允许用户抛出一个exception对象或者任何实现throwable的对象
用在方法的声明中来说明哪些异常这个Throws
方法是不处理的,而是提交到程序的更高一层。
用来表示一个域不是该对象串行化的一部分。当一个对象被串行化的时候,Transient
transient型变量的值不包括在串行化的表示中,然而非transient型的变量是被包括进去的。Switch
Synchronized
This
Threadsafe
Throw True 真的
用来定义一个可能抛出异常语句块。如果一个异常被抛出,一个可选的catch语句Try 块会处理try语句块中抛出的异常。同时,一个finally语句块会被执行,无论一个异常是否被抛出。
用在Java语言的方法声明中说明这个方Void 法没有任何返回值。“void”也可以用来表示一句没有任何功能的语句。
用在变量的声明中表示这个变量是被同时运行的几个线程异步修改的。用来定义一段反复执行的循环语句。循环的退出条件是while语句的一部分。volatile
while
分类如下:
1.访问控制:private 私有的 protected 受保护的 public 公共的
2.类、方法和变量修饰符abstract 声明抽象 class 类 extends 扩允,继承 final 终极,不可改变的implements实现 interface 接口 native 本地 new 新,创建 static 静态 strictfp 严格,精准synchronized 线程,同步 transient 短暂 volatile 易失
3.程序控制语句 break 跳出循环 continue 继续 return 返回 do 运行 while 循环 if 如果 else 反之 for 循 instanceof 实例 switch 开关 case 返回开关里的结果 default 默认
4.错误处理 catch 处理异常 finally 有没有异常都执行 throw 抛出一个异常对象
throws 声明一个异常可能被抛出 try 捕获异常 5.包相关import 引入 package 包
6.基本类型 boolean 布尔型 byte 字节型 char 字符型 double 双精度 float 浮点 int 整型 long 长整型 short 短整型 null 空 true 真 false 假 7.变量引用 super 父类,超类 this 本类 void 无返回值
注意:
1、所有的java关键字都是小写的
2、goto 和const 是保留关键字,在java 中没使用
3、strictfp 和volatile 不常用; sizeof、then 不是关键字。4、true,false,null 不是严格意义上的关键字,而是literals
三、运算符
Java基 本 的 运 算 符 按功能分有 下 面 几 类 : 1.算 术 运 算 符(+,-,*,/,%,++,--)Java对 加 运 算 符 进 行 了 扩 展 ,使 它 能 够 进 行 字 符 串 的连 接,如 “abc”+“de”,得到 串 “abcde”。与 C、C++不 同 ,对 取 模 运 算 符 %来 说 ,其 操 作 数 可 以为浮点 数 , 如37.2%10=7.2。i++与 ++i的 区 别:i++在 使 用 i之 后 ,使 i的 值 加 1,因 此 执 行 完 i++后 ,整 个 表达式的 值 为 i,而 i的 值变 为 i+1;++i在 使 用 i之 前 ,使 i的 值 加 1,因 此 执 行 完 ++i后 ,整 个 表达式和 i的 值 均 为 i+1。
2.关 系 运 算 符(>,<,>=,<=,==,!=)该运算符的特点是:运算完的结果,要么是true,要么是false。Java中 ,任 何 数 据 类 型 的 数 据(包 括 基 本 类 型 和 组 合 类 型)都可 以 通 过 ==或!=来 比 较 是 否 相 等(这 与 C、C++不 同)。关 系 运 算 符 用 来 比 较 两 个 值 ,返 回 布 尔 类 型 的值true或 false,而不是C、C++中 的 1或 0。
3.布 尔 逻 辑 运 算 符(& | ^!&& ||)逻辑运算符除了!外都是用于连接两个boolean类型表达式。&: 只有两边都为true结果是true。否则就是false。|:只要两边都为false结果是false,否则就是true ^:异或:和或有点不一样。两边结果一样,就为false。两边结果不一样,就为true.& 和 &&区别: & :无论左边结果是什么,右边都参与运算。&&:短路与,如果左边为false,那么右边不参数与运算。| 和|| 区别:|:两边都运算。
||:短路或,如果左边为true,那么右边不参与运算。4.位 运 算 符(>>,<<,>>>,&,|,^,~)用于操作二进制位的运算符,如2*8 = 2<<3。>>>(无符号右移)5.赋 值 运 算 符(= +=-= *= /= %=)6.条 件 运 算 符(?:)7.其 它(包 括 分 量 运 算 符 · ,下 标 运 算 符 [],实 例 运 算 符 instanc eof,内 存 分 配运 算 符 new,强 制 类 型 转 换 运 算 符(类 型), 方 法调 用 运 算 符()等)例子:对两个变量的数据进行互换。不需要第三方变量。
int a = 3,b = 5;-->b = 3,a = 5;a = a + b;a = 8;b = ab;a = 5;a = a ^ b;//
b = a ^ b;//b = a ^ b ^ b = a a = a ^ b;//a = a ^ b ^ a = b;
Java 中共有 54 种运算符,按优先级可以分为 14 级:
优先级 操作符 含义 关联性 用法
--1 [ ] 数组下标 左 array_name[expr].成员选择 左 object.member
()方法参数 左 method_name(expr_list)()实例构造 左 class_name(expr_list)++ 后缀自增 左 lvalue++--后缀自减 左 lvalue--2 ++ 前缀自增 右 ++rvalue--前缀自减 右--lvalue ~ 按位取反 右 ~expr!逻辑非 右!expr + 一元加 右 +expr减 左 expr-expr
+ 字符串连接 左 strExpr + strExpr 6 >> 有符号右移 左 expr >> distance >>> 无符号右移 左 expr >>> distance 7 < 小于 左 expr < expr <= 小于等于 左 expr <= expr > 大于 左 expr > expr >= 大于等于 左 expr >= expr
instanceof 类型比较 左 ref instanceof refType == 等于 左 expr == expr!= 不等于 左 expr!= expr & 整数按位与 左 integralExpr & integralExpr & 布尔与 左 booleanExpr & booleanExpr 9 ^ 整数按位异或 左 integralExpr ^ integralExpr ^ 布尔异或 左 booleanExpr ^ booleanExpr 10 | 整数按位或 左 integralExpr | integralExpr | 布尔或 左 booleanExpr | booleanExpr 11 && 逻辑与 左 booleanExpr && booleanExpr 12 || 逻辑或 左 booleanExpr || booleanExpr 13 ? : 条件运算 右 booleanExpr ? expr : expr 14 = 赋值 右 lvalue = expr *= 乘赋值 右 lvalue *= expr /= 除赋值 右 lvalue /= expr %= 模赋值 右 lvalue %= expr += 加赋值 右 lvalue += expr += 字符串连接赋值 右 lvalue += expr-= 减赋值 右 lvalue-= expr <<= 左移赋值 右 lvalue <<= expr >>= 有符号右移赋值 右 lvalue >>= expr >>>= 无符号右移赋值 右 lvalue >>>= expr &= 整数按位与赋值 右 lvalue &= expr &= 布尔与赋值 右 lvalue &= expr |= 整数按位或赋值 右 lvalue |= expr |= 布尔或赋值 右 lvalue |= expr ^= 整数按位异或赋值 右 lvalue ^= expr ^= 布尔异或赋值 右 lvalue ^= expr
运算符不但有优先级,还有关联性。上表中关联性为“左”表示该表达式从左边开始进行运算;关联性为“右”表示该表达式从右边开始进行运算。
四、流程控制语句(If、switch、do while、while、for、break、continue)1.当判断数据范围,获取判断运算结果boolean类型时,需要使用if;当判断固定个数的值的时候,可以使用if,也可以使用switch。但是建议使用switch,效率相对较高。switch(变量){ case 值:要执行的语句;break;…
default:要执行的语句;} 工作原理:用小括号中的变量的值依次和case后面的值进行对比,和哪个case后面的值相同了就执行哪个case后面的语句,如果没有相同的则执行default后面的语句; 细节:1):break是可以省略的,如果省略了就一直执行到遇到break 为止; 2):switch 后面的小括号中的变量应该是byte,char,short,int四种类型中的一种; 3):default可以写在switch结构中的任意位置;如果将default语句放在了第一行,则不管expression与case中的value是否匹配,程序会从default开始执行直到第一个break出现。
2.当某些语句需要执行很多次时,就用循环结构。
while和for可以进行互换。区别在于:如果需要定义变量控制循环次数。建议使用for。因为for循环完毕,变量在内存中释放。
3.break:作用于switch,和循环语句,用于跳出,或者称为结束。break语句单独存在时,下面不要定义其他语句,因为执行不到,编译会失败。当循环嵌套时,break只跳出当前所在循环。要跳出嵌套中的外部循环,只要给循环起名字即可,这个名字称之为标号。4.continue:只作用于循环结构,继续循环用的。作用:结束本次循环,继续下次循环。该语句单独存在时,下面不可以定义语句,执行不到。
第二篇:Java基础语法总结2
Java基础语法总结2
三、运算符
Java基 本 的 运 算 符 按功能分有 下 面 几 类 : 1.算 术 运 算 符(+,-,*,/,%,++,--)Java对 加 运 算 符 进 行 了 扩 展 ,使 它 能 够 进 行 字 符 串 的连 接,如 “abc”+“de”,得到 串 “abcde”。与 C、C++不 同 ,对 取 模 运 算 符 %来 说 ,其 操 作 数 可 以为浮点 数 , 如37.2%10=7.2。i++与 ++i的 区 别:i++在 使 用 i之 后 ,使 i的 值 加 1,因 此 执 行 完 i++后 ,整 个 表达式的 值 为 i,而 i的 值变 为 i+1;++i在 使 用 i之 前 ,使 i的 值 加 1,因 此 执 行 完 ++i后 ,整 个 表达式和 i的 值 均 为 i+1。
2.关 系 运 算 符(>,<,>=,<=,==,!=)该运算符的特点是:运算完的结果,要么是true,要么是false。Java中 ,任 何 数 据 类 型 的 数 据(包 括 基 本 类 型 和 组 合 类 型)都可 以 通 过 ==或!=来 比 较 是 否 相 等(这 与 C、C++不 同)。关 系 运 算 符 用 来 比 较 两 个 值 ,返 回 布 尔 类 型 的值true或 false,而不是C、C++中 的 1或 0。
3.布 尔 逻 辑 运 算 符(& | ^!&& ||)逻辑运算符除了!外都是用于连接两个boolean类型表达式。&: 只有两边都为true结果是true。否则就是false。|:只要两边都为false结果是false,否则就是true ^:异或:和或有点不一样。两边结果一样,就为false。两边结果不一样,就为true.& 和 &&区别: & :无论左边结果是什么,右边都参与运算。&&:短路与,如果左边为false,那么右边不参数与运算。| 和|| 区别:|:两边都运算。
||:短路或,如果左边为true,那么右边不参与运算。
4.位 运 算 符(>>,<<,>>>,&,|,^,~)用于操作二进制位的运算符,如2*8 = 2<<3。>>>(无符号右移)5.赋 值 运 算 符(= +=-= *= /= %=)6.条 件 运 算 符(?:)7.其 它(包 括 分 量 运 算 符 · ,下 标 运 算 符 [],实 例 运 算 符 instanc eof,内 存 分 配运 算 符 new,强 制 类 型 转 换 运 算 符(类 型), 方 法调 用 运 算 符()等)例子:对两个变量的数据进行互换。不需要第三方变量。int a = 3,b = 5;-->b = 3,a = 5;a = a + b;a = 8;b = ab;a = 5;a = a ^ b;//
b = a ^ b;//b = a ^ b ^ b = a a = a ^ b;//a = a ^ b ^ a = b;
Java 中共有 54 种运算符,按优先级可以分为 14 级:
优先级 操作符 含义 关联性 用法
--1 [ ] 数组下标 左 array_name[expr].成员选择 左 object.member
()方法参数 左 method_name(expr_list)()实例构造 左 class_name(expr_list)++ 后缀自增 左 lvalue++--后缀自减 左 lvalue--2 ++ 前缀自增 右 ++rvalue--前缀自减 右--lvalue ~ 按位取反 右 ~expr!逻辑非 右!expr + 一元加 右 +expr 减 左 expr-expr
+ 字符串连接 左 strExpr + strExpr 6 >> 有符号右移 左 expr >> distance >>> 无符号右移 左 expr >>> distance 7 < 小于 左 expr < expr <= 小于等于 左 expr <= expr > 大于 左 expr > expr >= 大于等于 左 expr >= expr
instanceof 类型比较 左 ref instanceof refType == 等于 左 expr == expr!= 不等于 左 expr!= expr & 整数按位与 左 integralExpr & integralExpr & 布尔与 左 booleanExpr & booleanExpr 9 ^ 整数按位异或 左 integralExpr ^ integralExpr ^ 布尔异或 左 booleanExpr ^ booleanExpr 10 | 整数按位或 左 integralExpr | integralExpr | 布尔或 左 booleanExpr | booleanExpr 11 && 逻辑与 左 booleanExpr && booleanExpr 12 || 逻辑或 左 booleanExpr || booleanExpr 13 ? : 条件运算 右 booleanExpr ? expr : expr 14 = 赋值 右 lvalue = expr *= 乘赋值 右 lvalue *= expr /= 除赋值 右 lvalue /= expr %= 模赋值 右 lvalue %= expr += 加赋值 右 lvalue += expr += 字符串连接赋值 右 lvalue += expr-= 减赋值 右 lvalue-= expr <<= 左移赋值 右 lvalue <<= expr >>= 有符号右移赋值 右 lvalue >>= expr >>>= 无符号右移赋值 右 lvalue >>>= expr &= 整数按位与赋值 右 lvalue &= expr &= 布尔与赋值 右 lvalue &= expr |= 整数按位或赋值 右 lvalue |= expr |= 布尔或赋值 右 lvalue |= expr ^= 整数按位异或赋值 右 lvalue ^= expr ^= 布尔异或赋值 右 lvalue ^= expr
运算符不但有优先级,还有关联性。上表中关联性为“左”表示该表达式从左边开始进行运算;关联性为“右”表示该表达式从右边开始进行运算。
四、流程控制语句(If、switch、do while、while、for、break、continue)1.当判断数据范围,获取判断运算结果boolean类型时,需要使用if;当判断固定个数的值的时候,可以使用if,也可以使用switch。但是建议使用switch,效率相对较高。switch(变量){ case 值:要执行的语句;break;…
default:要执行的语句;} 工作原理:用小括号中的变量的值依次和case后面的值进行对比,和哪个case后面的值相同了就执行哪个case后面的语句,如果没有相同的则执行default后面的语句; 细节:1):break是可以省略的,如果省略了就一直执行到遇到break 为止; 2):switch 后面的小括号中的变量应该是byte,char,short,int四种类型中的一种; 3):default可以写在switch结构中的任意位置;如果将default语句放在了第一行,则不管expression与case中的value是否匹配,程序会从default开始执行直到第一个break出现。
2.当某些语句需要执行很多次时,就用循环结构。
while和for可以进行互换。区别在于:如果需要定义变量控制循环次数。建议使用for。因为for循环完毕,变量在内存中释放。
3.break:作用于switch,和循环语句,用于跳出,或者称为结束。break语句单独存在时,下面不要定义其他语句,因为执行不到,编译会失败。当循环嵌套时,break只跳出当前所在循环。要跳出嵌套中的外部循环,只要给循环起名字即可,这个名字称之为标号。4.continue:只作用于循环结构,继续循环用的。作用:结束本次循环,继续下次循环。该语句单独存在时,下面不可以定义语句,执行不到。
第三篇:JAVA四种基本排序的总结
JAVA四种基本排序,包括冒泡法,插入法,选择法,SHELL排序法.其中选择法是冒泡法的改进,SHELL排序法是 插入法的改进.所以从根本上来说可以归纳为两种不同的排序方法:即:插入法&冒泡法
一 插入法:遍历排序集合,每到一个元素时,都要将这个元素与所有它之前的元素遍历比较一遍,让符合排序顺序的元素挨个移动到当前范围内它最应该出现的位置。交换是相邻遍历移动,双重循环控制实现.这种排序法属于地头蛇类型,在我的地牌上我要把所有的东西按一定的顺序规整,过来一个,规整一个.处理代码如下: public void sort(int[] data){ int temp;
for(int i=1;i〈data.length;i++){ for(int j=i;(j〉0)&&(data[j]〉data[j-1]);j--){
temp=date[j];data[j]=data[j-1];data[j-1]=temp;} } } 二冒泡法:比较容易,它的内层循环保证遍历一次后,集合中最小(大)元素出现在它的正确位置,下一次就是次小元素。。该方法在集合分布的各种情况下交换移动的次数基本不变,属于最慢的一种排序。实现也是双重循环控制。这种排序法属于过江龙,就是要找到极端,但是过奖龙也有大哥,二哥等,所以他们只能是大哥挑了二哥挑.处理代码如下: public static int [] maopao(int[] data){ int temp;
for(int i=0;i〈data.length-1;i++){ for(int j=i+1;j〈data.length;j++〉{ if(data[i]〈data[j]〉{ temp=data[i];data[i]=data[j];data[j]=temp;} 〉 〉
return data;
三选择法:该方法只是通过遍历集合记录最小(大)元素的位置,一次遍历完后,再进行交换位置操作,类似冒泡,但在比较过程中,不进行交换操作,只记录元素位置。一次遍历只进行一次交换操作。这个对与交换次序比较费时的元素比较适合。这种排序法比冒泡法要城府要深的多,我先记住极端数据,待遍历数据完了之后,我再处理,不像冒泡法那样只要比自己极端一点的就要处理,选择法只处理本身范围内的最极端数据.public static void xuanze(int[] data){ int temp;
for(int i = 0;i 〈 data.length;i++〉 { int lowIndex = i;
for(int j = data.length-1;j)i;j--){ if(data[j])data[lowIndex]){ lowIndex = j;} } temp=data[i];
data[i]=data[lowIndex];data[lowIndex]=temp;} } 四 Shell排序:
它是对插入排序的一种改进,是考虑将集合元素按照一定的基数划分成组去排序,让每一组在局部范围内先排成基本有序,最后在进行一次所有元素的插入排序。public void sort(int[] data){ for(int i=data.length/2;i)2;i/=2){ for(int j=0;j〈i;j++〉{ insertSort(data,j,i);} 〉
insertSort(data,0,1);〉
private void insertSort(int[] data, int start, int inc){ int temp;
for(int i=start+inc;i〈data.length;i+=inc〉{ for(int j=i;(j)=inc)&&(data[j]〈data[j-inc]〉;j-=inc〉{ temp=data[j];data[j]=data[j-inc] data[j-inc]=temp;} 〉 〉
第四篇:现代汉语语法基本参考书目
现代汉语语法及语法教学基本参考书目
(带“• ”必读)
一、现代汉语语法(含现代汉语教材中的语法部分)
朱德熙(1982)《语法讲义》,北京:商务印书馆。黄伯荣、廖序东主编(2007)《现代汉语》(增订四版),北京:高等教育出版社。邵敬敏主编(2007)《现代汉语通论》(第二版),上海:上海教育出版社。
二、汉语作为第二语言教学语法
卢福波(2011)《对外汉语教学实用语法》(修订版),北京:北京语言文化大学出版社。杨玉玲(2011)国际汉语教师语法教学手册,高教出版社。杨德峰(2009)《对外汉语教学核心语法》,北京:北京大学出版社。施春宏编著(2009)《作为第二语言的汉语概说》,北京:北京大学出版社。孙德金(2002)《汉语语法教程》,北京:北京语言大学出版社。
三、汉语作为第二语言教学参考语法
陆庆和(2006)《实用对外汉语教学语法》,北京:北京大学出版社。施春宏编著(2010)《国际汉语教学语法教程》,北京:北京语言大学出版社。房玉清(1992)《实用汉语语法》,北京:北京语言学院出版社。李德津、程美珍(1988)《外国人实用汉语语法》,北京:华语教学出版社。刘月华、潘文娱、胡韡(2001)《实用现代汉语语法》(增订本),北京:商务印书馆。
四、汉语作为第二语言语法偏误
周小兵(2007)外国人学汉语语法偏误研究》,北京:北京语言大学出版社。肖奚强(2009)外国学生汉语句式学习难度及分级排序研究,高教出版社。彭小川(2004)《对外汉语教学语法释疑201例》,商务印书馆。
第五篇:日语基本语法—形容词
日语基础语法--形容词
形容词
1.1.1.词形特征
形容词由词干和词尾构成,词干不变化,词尾是变化部分,普通词尾为[い] 1.1.2.词尾变化
词尾变化通常称为“活用”,形容词共有五种活用形 1.1.2.1.连用形
即连接活用词的形式,形容词有两个连用形:[く]和[かっ]
[く] 后续否定形容词[ない],表示否定;后续其它各类词(万能形),后续用言,后续接续助词[て],中顿
[かっ] 后续过去完了动词[た],表示过去完了时态(单一形)
例: おいしい---> おいしくない(不好吃)---> おいしかった(真好吃)
すずしい---> すずしくなる(变凉爽)---> すずしかった(以前凉爽)
あつい---> あつくありません(不热)---> あつかった(以前热)
1.1.2.2.终止形
即终止句子的形式,终止形是不变化的形式,即原形。除终止句子外,终止形后面还可以跟某些助词、助动词,给句子增添某种意义。后续助词如[から][が],后续助动词如[でしょう]
例: きょうは暑いね。
今天好热呀!
夏が暑いです。
夏天炎热。
冬は寒いでしょう。
冬天大概很冷吧。1.1.2.3.连体形
即连接体言的形式,形容词的连体形与原形相同,用于修饰体言,做定语。此外,亦可后续某些助词,为句子增添某种意义。后续助词如[ので][のに]
例: 暖かい春/温暖的春天
甘いりんご/甜苹果 1.1.2.4.假定形
即表示假定条件的形式,词尾[い]变成[けれ],后续假定助词[ば],表示假定条件。
例: 寒い---> さむければ/如果冷的话
甘くない---> あまくなければ/如果不甜的话 1.1.2.5.推量形
即表示推测的形式。词尾[い]变成[かろ],后续推量助动词[う],表示推测
例: 涼しい---> すずしかろう/大概凉爽吧 よい---> よかろう/大概好吧
不过,现代日语中,除了少数约定俗成的惯用形式中还可见[かろう]形式外,表示推测时,已经改用了更简便的[终止形 + でしょう(.だろう)]方式了
例: 涼しい---> すずしいでしょう/大概凉爽吧 1.1.3.形容词的简体与敬体
在形容词原有活用形式后加上[です],形容词句就变为敬体了,这里的[です]在形容词后没有“是”的意思,仅仅是一个敬体标志,不参与任何活用变化。
例: きのうは暑かった。(简体)---> きのうは暑かったです。(敬体)
上海の冬は寒くない。(简体)---> 上海の冬は寒くないです。(敬体)