您现在的位置是: 首页 > 个人博客 > 大家猜一猜运算结果? 个人博客
大家猜一猜运算结果?
2018-12-27 13:17:54
【问答】1978人已围观
简介 大家决定下面这段代码的运算结果是什么呢?public class Test { public static void main(String[] args) { int n = getNum(); System.out.println(n); } public static int getN......
大家决定下面这段代码的运算结果是什么呢?
public class Test {
public static void main(String[] args) {
int n = getNum();
System.out.println(n);
}
public static int getNum(){
int a = 10;
try {
a = 20;
throw new RuntimeException();
} catch (Exception e) {
a = 30;
return a;
}finally{
a = 40;
}
}
}略微思考,大家都应该知道结果,是30,分析一下:
首先,初始化变量a的值为10,继续执行,重新将a赋值为20,这时抛了一个异常,被catch捕获,这是a再次被重新赋值为30,这时候看到了return关键字,程序保存方法返回值(这个返回值将作为最后的运行结果,返回给外部调用),最后执行finally,执行完之后,再把前面运行得到的结果返回给程序调用。
Tags: java基础
上一篇: javaweb+mysql项目部署教程
下一篇: 有趣的Java字符串
相关文章
随机图文
jdk详细安装步骤图解
由于部分同学对jdk安装不是很熟悉,下面详细介绍jdk的安装步骤: jdk下载,包含jdk1.7和jdk1.8的32位(i586)和64位(x64),7u80就是1.7的jdk,8u191就是1.8的jdk;i586表示32位,x64表示64位。 请看清楚再下载,下载地址如下: 百度网盘下载链接:https://pan.baidu.com/s/1O2eHQ83LB4SmDI7ivTKApA 提取码:0cdj 或者官网下载: jdk1.7下载,下载需要登录oracle账户,地址如下: https://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html jdk1.8下载,地址如下 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 安装参考文档如下: jdk优先选择1.8,一般是最后一个(64位操作系统) 双击exe程序执行安装 点击下一步,开始安装 设置安装路径 正在安装jdk jdk安装完之后,还需要安装jre,设置jre的安装路径 jre安装中 安装完成 jdk安装完之后,还需要配置环境变量,步骤如下: 环境变量配置,一共需要配置3个系统变量:JAVA_HOME,CLASSPATH,PATH。这里注意是系统变量哦!Win+R组合键之后,弹出一个运行窗口,在输入框中输入sysdm.cpl命令,会弹出一个系统属性的窗口,点击【高级】菜单,就可以看到下面的【环境变量】按钮,点击就可以弹出下面的环境变量配置窗口。 1.新建JAVA_HOME系统变量,输入值为你的jdk目录,我的是C:\Program Files (x86)\Java\jdk1.7.0_80 2.新建CLASSPATH系统变量,值为【.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar】,中括号中红色的一串文本。 3.Path变量,Path变量是已经存在的,这里只作修改。这里注意,Win7和Win10系统操作有点不一样。(谨慎操作,不要把path删了哦!),win7系统直接双击Path,在后面编辑添加变量信息,加上【%JAVA_HOME%\bin】,括号中的红色文本,复制粘贴上去就好了,不要忘了分号。如图:下面是win7的,直接在path后面粘贴进去就好了。 win10双击Path之后,会弹出一个【编辑环境变量】窗口,在窗口右上角点击【新建】,然后把要加的变量加进去就好了。 如图:下面是win10的,点击new,然后直接把【%JAVA_HOME%\bin】,中括号中的红色一串复制粘贴进去就好了,这里没有分号。 以上操作都完成之后,在cmd控制台中输入java -version,如果有jdk版本信息输出,则说明安装成功。
sqlserver卸载详细步骤图解
sqlserver的安装过程还是稍微有点复杂的,同学们很容易在安装过程中,因为各种原因导致安装失败。 下面我们就针对sqlserver2008-r2,来详细介绍sqlserver的卸载步骤。 首先找到控制面板的卸载程序,在程序列表中找到我们此次的目标【Microsoft SQL Server 2008 R2】,右键选卸载。 点击“删除”按钮 按常理会出现如下图,如果“重新启动计算机”一栏显示未通过,则重启计算机,在重复上面的步骤。 如果全部显示已通过,则点击“确定”进入下一步。 接下来,点击下一步 全部勾选,接着点击“下一步” 下一步 点击“删除”按钮 等待删除卸载,过程大概20-30分钟 删除完成,点击关闭。 接着在继续卸载2008的其他组件--Native Client 卸载完成,界面会自动关闭 接着卸载Compact组件,卸载完成,界面也会自动消失。 到这里控制面板的卸载就已经完成了,接下来,我们还需要删除历史安装遗留目录,主要是以下两个目录。 C:\Program Files\Microsoft SQL Server C:\Program Files (x86)\Microsoft SQL Server 历史安装目录删除完毕之后,我们还需要删除注册表的一些东西,主要是以下几个地方。 删除所有sqlserver相关的注册表值。 Win+R,在搜索框中输入指令regedit,进去注册表。 1.HKEY_CURRENT_USER\ Software\ Microsoft\ Microsoft SQL Server 2.HKEY_LOCAL_MACHINE\SOFTWARE\ Microsoft\ Microsoft SQL Server(这个地方注意了,在这个附近,有可能有你安装的部分组件的注册嘛,名字前缀都是Microsoft SQL,一并删除了。) 3.HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ MSSQLServer 还有最后一个比较特殊的: 4.HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager中的PendingFileRenameOperations 全部清除干净之后,重新启动电脑,后面就可以再次进行过安装了。good luck!
据说是一道华为Java面试题
请问下面程序将会输出什么?程序如下:public class Test { class A{ private static final int m = 10; public A(){ change(); } public void change(){ System.out.println(m); } } class B extends A{ private static final int num = 20; public void change(){ System.out.println(num); } }}输出测试:public class Test2 { public static void main(String[] args) { new Test().new B(); }}结果公布,最终会输出:20,为什么?分析一下继承的初始化顺序。继承的初始化顺序一般如下:父类的静态变量-->父类的静态代码块-->子类的静态变量-->子类的静态代码快-->父类的非静态变量(父类的非静态代码块)-->父类的构造函数-->子类的非静态变量(子类的非静态代码块)-->子类的构造函数值得注意的是:父类的非静态变量(父类的非静态代码块)是同一级的,看哪个部分写在类的最前面谁就先被执行,子类的非静态变量(子类的非静态代码块)也是一样。所以这道题,实例化一个子类,首先会去执行父类的构造方法,执行构造方法中的函数change,但是由于change函数被子类重写了,所以执行的将是子类的change,所以会输出20;但是,如果我们把子类的中的private static final int num = 20;改为private int m = 20;那么结果又会输出什么呢?结果是0,因为在父类的构造方法中调用子类的change方法输出num的时候,num作为一个实例变量,这时候还没有被实例化赋值,所以取得是初始值0。
前端学习小笔记
ie9开始支持h5,ie9以下使用html5shiv静态资源包来兼容h5h5使用svg(xml描述2D图形)来构建矢量图像,使用Canvas(javascript脚本)来构建图形。
点击排行
javaweb+mysql项目部署教程
点赞排行
javaweb+mysql项目部署教程