【语法错误】在语法分析阶段, 将出现此类错误。在执行程序期间发现语法错误。
一些语法错误可能是:
- 结构错误
- 缺少操作符
- 括号不平衡
例如1:当需要“ ==”时使用“ =”。
16if (number=200)
17count <
<
"number is equal to 20";
18else
19count <
<
"number is not equal to 200"
许多编译器将显示以下警告消息:
语法警告:赋值运算符在程序firstprog.cpp的if表达式行16中使用
在此代码中, 如果expression使用等号实际上是一个赋值运算符, 而不是测试相等性的关系运算符。
由于赋值运算符, 数字设置为200, 并且表达式number = 200始终为true, 因为表达式的值实际上是200。在此示例中, 正确的代码为:
16if (number==200)
示例2:缺少分号:
int a = 5
// semicolon is missing
编译器消息:
ab.java:20: ';
' expected
int a = 5
示例3:表达式中的错误:
x = (3 + 5;
// missing closing parenthesis ')'
y = 3 + * 5;
// missing argument between '+' and '*'