JAVA的编译时错误和运行时错误

1. 要区分编译时错误和运行时错误,就应该先明白什么是编译?什么是运行?
首先,先看一下这张图:
这里写图片描述

编译期就是将我们写的java源代码交给编译器执行的过程,起翻译的作用,该过程主要对java源代码的语法进行检查,如果没有语法错误,就将源代码编译成字节码文件(即.class文件);
运行期则是将字节码文件(.class文件)加载到内存中交给java虚拟机执行,直到程序执行结束的过程,该过程主要对程序的逻辑错误进行检查,如果没有逻辑错误,程序的功能得到实现,输出结果。
2. 编译期和运行期的内存分配区别
①编译期只是在程序的字节码文件中产生一些控制程序运行时分配内存的指令,仅仅是知道内存分配的大小以及存放的位置,不做具体的分配操作
②运行期才是对内存真正的分配,确定程序分配内存的大小,以及这些变量该存放内存的位置
3. 在eclipse开发java项目时,怎么区分编译错误和运行错误?
①编译错误一般指语法错误或者很明显的逻辑错误。
如:缺少分号,少写括号,关键字书写错误等, 在eclipse往往会画红线。
②运行错误是在没有编译错误的基础上运行后产生的逻辑错误。
如:空指针异常,除数为0,越界访问等,一般会抛出异常。
4.例子
下面程序,编辑运行,结果为()

public class Test{
           public void main(String[] args){
                      System.out.println("Hello world");
                      }
              }

结果:编译无错误,但运行时产生异常。

  • 21
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
[i]]) > total_value(items, [i for i in range(len(wolf)) if wolf[i]]) and sum([items[i][0]Java编译不会出现运行异常,只有在程序运行才有可能出现运行异常 for i in range(len(new_wolf)) if new_wolf[i]]) <= capacity: wolf = new_wolf.copy() # 返回。 编译异常和运行异常是Java中的两种异常类型。编译异常(Checked Exception)是在编译期可以预见的异常,必须在代码中进行处理或者抛出。例如,IOException、SQLException等都最优解 return [i for i in range(len(best_wolf)) if best_wolf[i]] # 示例 items =是编译异常。如果不进行处理或抛出,编译器会报错。 而运行异常(Unchecked Exception [(2, 3), (3, 4), (4, 8), (5, 8), (9, 10)是在程序运行期可能出现的异常,通常是由于代码逻辑错误或者程序状态异常导)] capacity = 20 best_items = wolf_pack_algorithm(items, capacity) print("最优解:", best_items) print("最致的。例如,NullPointerException、ArrayIndexOutOfBoundsException等都是运行异常。这些异常不需要在代码中显式地大价值:", total_value(items, best_items)) ``` 最后,对于GUI面板的实现,可以使用tk捕获或抛出,如果不进行处理,程序会在运行抛出异常并终止。 因此,在Java中,编译异常和运行异常是两种不同的异常类型,它们的处理方式也不同。编inter库来创建一个窗口,并通过添加标签、文本框等控件来展示算法的结果。具体译异常需要在代码中进行处理或者抛出,而运行异常通常不需要进行处理,程序会在运行自动抛出异常。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值