第二章:变量与运算符
1.报错内容:错误: 未结束的字符文字
报错代码:
char c9 = '\n';
char c10 = '\t';
System.out.println('Hello' + c9 + 'World');
System.out.println('Hello' + c10 + 'World');
运行内容报错:
VariableTest2.java:27: 错误: 未结束的字符文字
System.out.println('Hello' + c9 + 'World');
解决办法:将' '改为" "
改正后代码:
char c9 = '\n';
char c10 = '\t';
System.out.println("Hello" + c9 + "World");
System.out.println("Hello" + c10 + "World");
2.报错内容:错误: 不兼容的类型: String无法转换为char
报错代码:
char c5 = "γ";
运行内容报错:
VariableTest2.java:15: 错误: 不兼容的类型: String无法转换为char
char c5 = "γ";
解决办法:将" "改为' '
改正后代码:
char c5 = 'γ';
总结,使用char声明时,当将一个字符和变量连接起来的时候,应该使用双引号,只有一个字符的时候使用单引号。
3.报错内容:错误: 不兼容的类型: 从int转换到short可能会有损失
报错代码:
short s1 = 123123123;
运行内容报错:
VariableTest2.java:16: 错误: 不兼容的类型: 从int转换到short可能会有损失
short s1 = 123123123;
解决办法:超出了short的范围,要么将short改为int,要么将数字改小。
改正后代码:
short s1 = 1231;
参考链接:链接
4.报错内容:错误: 编码 GBK 的不可映射字符 (0x9A)
解决办法:将文件另存为时,将UTF-8改为ANSI
第三章:流程控制
1. 报错内容:错误: 进行语法分析时已到达文件结尾
运行内容报错:
IfElseTest2.java:94: 错误: 进行语法分析时已到达文件结尾
}
解决办法:少一个},在结尾处填上。
参考文献:链接
2.报错内容:错误: 找不到符号
运行内容报错:
SwitchCaseExer1.java:8: 错误: 找不到符号
Scanner input = new Scanner(System.in);
解决办法:检测是否导入Scanner包(import java.util.Scanner)
参考文献:链接
第六章:面向对象
1.报错内容:错误:非法的表达式开始需要 class、interface、enum 或 record
public void info(){
System.out.println("Person info()");
}
非法的表达式开始
需要 class、interface、enum 或 record
解决办法:将该方法换行到前面重新写,在自己编写的时候会有提示啥的比如(public void),打一个首字母会提示 ,如果没有的话,大多数会报这个错,就是编译问题,不是语法问题。
public void info(){
System.out.println("Person info()");
}