java入门阶段总结一

1.for循环渊源

     对于for循环的理解,我就从刚开始学习java的时候,通过控制同一个字符的排列来打印出一个菱形来解说吧。

通过控制输出空格和字符来实现我们所想要的结果,既然如此,我们岂不是可以用那个最土的方法,在整个方法中都通过

System.out.print(" ");//输出空格

Sysem.out.print("*");//输出组成菱形的字符

何必要用for(int i=0;i<count;i++){.....}语句来输出呢?对,太对了!!

 

对于一个刚接触编程语言的初学者而言,用for循环来打印菱形的劣势在那里:1.逻辑混乱,为了想办法去控制输出自己想要的结果,常常想得头昏脑胀,老眼昏花。 2.不利于深入地理解for

 

我认为任何一个智慧的闪光都凝结着无数思维实践的积累,如果你不相信你把我上述说的第一中方法规规矩矩的实践一遍,即使编程语言中没有这样一个for循环,我想for循环大致的雏形也已经在你的脑子里啦

 

朋友,如果你对for循环的理解还不是很深入,请尝试用第一中方法去打印一个菱形,我想你一定会有意想不到的收获

 

 

 

 

 

 

2.NullPointerException(空指针异常)

 

空指针异常发生的原因:

 

由于一个空引用调用了类中的方法;

 

对于空指针异常,就这么一句话,是我对空指针异常所有情况的总结辞,但是真正遇到这种情况的时候,却令人眼花缭乱,头脑淤血,这引用搞来搞去的,一个引用名明明就引用了一个刚创建的对象,这怎么会空指针异常呢!

 

下面容我徐徐道来:

a.首先让我们来想这么一个场景:(写画板中的代码)

 

//如果不想看代码,请直接看代码之间的注释

 

 /**
  * 显示画板窗体的方法
  */
 public void showDrawUI(){
                                //设置标题
  this.setTitle("畫板窗口");
                                //设置大小
  this.setSize(600,600);
                                //设置
  this.setResizable(false);
  java.awt.FlowLayout fl=new java.awt.FlowLayout();
  this.setLayout(fl);
  
    
  //从窗体上得到一个画布对象

  //画布本身在JFrame里面已经有了
  java.awt.Graphics g = this.getGraphics();
 

 g.setColor(java.awt.Color.BLACK);



//设置关闭时推出进程
  this.setDefaultCloseOperation(3);
//设置窗体可见 

 this.setVisible(true);

  
  //给画板窗体加鼠标监听器
  DrawListener dl = new DrawListener(g);
  this.addMouseListener(dl);
 }

  那么对于上述的代码放到主函数中运行以后,在g.setColor();这一行会报空指针异常,无疑,在这一行中只有g这个引用变量调用了方法,那么说明g这个引用是空的,空指针异常的分析到此也就告一段落了,接下来我们要找到g到底是引用了什么东西,致使它是空的呢,答案就在上一行,g=this.getGraphics();这说明什么,说明了根本就没有得到这个画布对象。为什么没有得到画布对象呢?继续往上推,我们发现this.setVisible(true);这一行代码被放到之后,在窗体没有设置可见之前是得不到画布滴,同学,这个细节你知道吗?不知道的话赶快记在你的笔记里吧!!

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值