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);这一行代码被放到之后,在窗体没有设置可见之前是得不到画布滴,同学,这个细节你知道吗?不知道的话赶快记在你的笔记里吧!!
分享到:
相关推荐
首先,Java入门阶段,你会了解到Java的历史、特点以及它与C++等其他语言的对比。Java以其“一次编写,到处运行”的跨平台特性,吸引了众多开发者。此外,还会介绍Java的开发环境搭建,包括JDK的安装和配置,以及集成...
1. **Java基础知识**:在入门阶段,你会学习到Java的基础语法,如变量、数据类型、运算符、控制流(条件语句、循环)、数组等。这些基本概念构成了程序的基础框架,理解和熟练运用它们是成为Java程序员的第一步。 2...
#### 一、JAVA入门书籍推荐 - **《Java语言》**:适合初学者,全面覆盖Java基础语法及面向对象的基本概念。 - **《Thinking in Java》**:虽然内容深入且广泛,但不建议初学者直接使用此书进行学习。 #### 二、...
Java大学教程的学习笔记主要涵盖了Java语言的基础知识,包括关键字、数据类型、...总结来说,这个Java大学教程的学习笔记涵盖了语言基础、编程实践和软件工程的原则,是学习Java编程和理解软件开发过程的重要参考资料。
### Java线程入门知识点详解 #### 一、Java线程基础知识概述 **1.1 什么是线程?** 线程是程序执行流的最小单元,是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。在Java中...
第1章 对象入门 1.1 抽象的进步 1.2 对象的接口 1.3 实现方案的隐藏 1.4 方案的重复使用 1.5 继承:重新使用接口 1.5.1 改善基础类 1.5.2 等价和类似关系 1.6 多形对象的互换使用 1.6.1 动态绑定 1.6.2 抽象的基础类...
综上所述,这个"任亮java资源第一阶段4"是一个全面的Java入门学习包,旨在帮助初学者从零开始掌握Java编程基础,通过笔记和代码实践巩固理论知识,利用资料深化理解,通过PPT清晰梳理学习脉络。这样的资源对于自学...
总结来说,《Java入门经典 光盘资料》是一套系统且实用的Java学习资源,无论你是零基础的新手,还是希望进一步提升技能的开发者,都能从中受益匪浅。通过详细学习并实践光盘中的内容,你将能够熟练掌握Java编程,并...
### Java核心知识点详解 #### 一、Java学习路径...以上总结了Java入门阶段的关键知识点,涵盖了从基本语法到良好编码实践,再到高级特性,如包管理和输入处理。深入理解并熟练运用这些知识,是成为Java开发者的基石。
总结来说,"Java入门一套搞定"这套视频指导全面覆盖了Java学习的各个阶段,无论你是编程新手还是寻求转型的专业人士,都能从中受益。通过系统的学习和实践,你将具备独立开发Java应用程序的能力,为未来的职业发展...
本书从Java的起源、特点入手,逐步深入到语法细节、面向对象编程的核心概念,直至用户界面设计的基本原理,覆盖了Java学习者在入门阶段所需的关键知识点。 ### Java的诞生与发展 Java由Sun Microsystems于1995年...
第1章 对象入门 1.1 抽象的进步 1.2 对象的接口 1.3 实现方案的隐藏 1.4 方案的重复使用 1.5 继承:重新使用接口 1.5.1 改善基础类 1.5.2 等价和类似关系 1.6 多形对象的互换使用 1.6.1 动态绑定 1.6.2 抽象的基础类...
### Java入门学习笔记 #### 一、Java特点与运行原理 **1.1 Java特点** - **简单性:** Java的设计使得它易于学习且避免了许多传统编程语言中存在的复杂性。 - **面向对象:** Java是一种纯面向对象的语言,支持...
软件开发的过程包括需求分析、设计、编码、测试和维护等多个阶段,Java平台提供了一整套工具来辅助完成这些工作。 进一步地,Java还是一个软件运行平台,提供运行环境。软件运行需要依赖特定的外部环境,称为运行...