黑马程序员技术交流社区
标题:
有关类加载器的问题
[打印本页]
作者:
燕国庆
时间:
2013-3-31 21:39
标题:
有关类加载器的问题
本帖最后由 燕国庆 于 2013-4-1 12:52 编辑
public class ClassLoaderTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(ClassLoaderTest.class.getClassLoader().getClass()
.getName());
System.out
.println(System.class.getClassLoader());
//类加载器的继承树状关系
ClassLoader classloader=ClassLoaderTest.class.getClassLoader();
while(classloader!=null)
为什么在此处用if 和 while 所打印出来的结果会不一样
{
System.out.println(classloader.getClass().getName());
classloader=classloader.getParent();
}
System.out.println(classloader);
}
}
if:
sun.misc.Launcher$AppClassLoader
null
sun.misc.Launcher$AppClassLoader
sun.misc.Launcher$ExtClassLoader
while:
sun.misc.Launcher$AppClassLoader
null
sun.misc.Launcher$AppClassLoader
sun.misc.Launcher$ExtClassLoader
null
作者:
我手心里的宝
时间:
2013-3-31 21:48
while(classloader!=null) 为什么在此处用if 和 while 所打印出来的结果会不一样
{
System.out.println(classloader.getClass().getName());
classloader=classloader.getParent();
}
在这里,if()只会做一次判断
while()会做多层判断
因为while打印的过过会更多
作者:
刘胜寒
时间:
2013-3-31 21:48
哥们这个问的好...
if() 如果if语句中的表达式成立,那么将执行if语句里面的代码
否则不执行
while() 如果while()语句中的表达式不成立,则不执行while()y语句的东西,会结束while()语句,
如果whie()语句中的表达式成立则运行while()语句的东西,并且会继续判断while()语句的表达式是否成立,直到while()语句中的表达式不成立为止。
给你写个代码就懂了
int M = 10;
while(M>=1)
{
System.out.println(M);
M/=2;
}
输出结果为 10,5,2,1
作者:
燕国庆
时间:
2013-4-1 12:51
谢谢大家的解答!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2