曹阳的博客 仅用于学习和分享

学习Java遇到的问题

2019-10-16

学习Java过程中遇到的错误

学习Java过程中遇到的错误

  1. HelloWorld.java:1: 错误: 编码GBK的不可映射字符

    解决方法一:在编译源程序的时候,添加命令:-encoding utf-8

     如:javac -encoding utf-8 HelloWorld.java
    

    解决方法2: 用记事本打开,字符集另存为ANSI格式

     ANSI:美国国家标准协会,系统预设的标准文字储存格式。简体中文编码GB2312,实际上它是ANSI的一个代码页936
     UTF-8:通用字集转换格式,这是为传输而设计的编码,2进制,以8位为单元对Unicode进行编码,如果使用只能在同类位元组内支持8个位元的重要资料一类的旧式传输媒体,可选择UTF-8格式
    
  2. 需要class,interface或enum

    通常都是class单词错误

  3. 找不到符号

    通常都是单词错误或没有这个单词(没声明)

  4. 在第n行需要”;”

    加上英文分号

  5. 非法字符:’\ufflb’

    标点符号需要改成英文版

  6. 找不到main方法

    main错写成了mian

  7. 可能尚未初始化xxx

    声明变量时没有给值

  8. 不兼容的类型:从int转换到byte可能会有损失

    在Java程序中直接写出的整数数值叫直接量/字面值/常量,该数据默认为int类型,超过127不能用byte声明

  9. 过大的整数

    直接量过大超过了int的范围,若希望表达更大的直接量则需要在直接量的后面加上l或者L表示long类型的直接量,并把数据类型改为long类型

  10. 编译OK,运行发生ArithmeticException算数异常

    0和0.0不能做除数

  11. 编译OK,运行产生ArrayIndexOutOfBoundsException数组下标越界异常

    数组没有那个下标

  12. 推博客时不报错,GitHub有小红叉

    小红叉右键可以查看错误原因,如二维数组时不能连写两个大括号

  13. 编译OK,运行发生NullPointerException空指针异常

    当某个引用类型变量为null时无法对对象实施访问(因为它没有指向任何对象),此时,如果通过引用访问成员变量或调用方法,会产生NullPointerException空指针异常,如: Point p = null; p.point();

  14. 编译OK,运行发生ClassCastException类型转换异常

    若目标类型不是引用变量指向的对象类型,则编译通过运行发生类型转换异常。

  15. 编译OK,运行发生NumberFormatException数字格式异常

    Interger it2 = new Interger(“20a”);

  16. 编译OK,运行时发生StringIndexOutOfBoundsException字符串下标越界异常

    字符串没那么长,charAt()获取不到

  17. Collection c1 = new Collection();标红报错接口不能创建对象: 接口不能new接口的对象,但是可以new实现类的对象

  18. ConcurrentModificationException并发修改异常

    集合中删除元素


Content