名人名言
昨日翻译
It's the easiest thing in the world for a man to deceive himself.
世界上最简单的事情就是欺骗自己。
今日名言
The sting of a reproach,is the truth of it.
2019.03.26问题及解析
public class ExceptionTest {
public static void main(String[] args) {
try {
mod(new int[] {0,1,2,3,4,5});
}catch (Exception e) {
System.out.print("N");
}
}
private static void mod(int[] arr){
for(int i = 0; i < arr.length; i++){
try{
if(arr[i] % 2 == 0){
throw new NullPointerException();
}else {
System.out.print(i);
}
}finally {
System.out.print("n");
}
}
}
}
请问上述程序的输出结果是什么?为什么?
答案与解析
代码流程
首先看到我们的main函数,调用了mod方法,并且给它传递了一个新定义的数组参数,数组的内容为0~5的数字。捕获它可能发生的异常,并且打印“N”
在看mod方法的定义,它是一个没有返回值的方法,并且需要传递一个数组作为参数,因此我们这里对于方法的使用没有出现问题。
下面来看它具体做了什么,首先通过for循环遍历传递进来的数组参数,对每一个数组中的元素对2取余数,将得到的结果与0比较是否相等,如果为真,则抛出一个空指针异常,如果为假则打印出这个数组的索引值。最后输出“n”。
问题关键
首先是取余数与0判断的问题,其实就是判断这个数是否是2的倍数,0的余数还是0,那么就是说如果语句正常执行,这里for循环所起到的作用是将所有不是2的倍数的数的索引都输出出来。
那么应该会输出一个135,但是第一个判断之后发现0的余数为0直接抛出了一个空指针异常,那么我们的for循环也不会再继续执行下去了。
转而执行finally语句块,打印出“n”,异常抛出到外面之后,我们的main函数中对它进行了try catch捕获,捕获之后输出了“N”,程序结束。
因此程序最终的输出结果为:”nN“
2019.03.26问题
前几天我们完成了我们java对于数据库的一些基本操作,有的没学过得小伙伴就要问了,说是说javaweb,怎么我们搞来搞去还是在用控制台输出啊,啥时候我们才能看到网页的展现呀。
大家也许能猜到今天的问题了,我们就随着问题一点一点的来实现javaweb中页面的展现,今天的问题和我们的web息息相关:
1.任何的web应用的开发都离不开web服务器,我们想要进行javaweb的开发同样需要安装web服务器,请问目前java使用最广泛的web服务器是什么?我们之前就多次听说的spring-boot有使用web服务器吗?如果有,它用的是什么?
2.请安装java使用最广泛的web服务器,并且进入到它的相应的管理界面,显示出:
If you're seeing this, you've successfully installed xxx. Congratulations!
在留言中分享你安装过程中的经验与学习到的知识哦。