小结。。。

1.数组的基本用法,数组排序.
数组有三种基本定义方式。
第一种为:类型[] 数组变量名=new 类型[长度];这样使内存空间创建数组对象,数组中每个位置的元素会是其默认值:如是原始类型,则为0,如是引用类型,则为null;
第二种是在创建数组时就给其中的元素赋值 ,如: int[] ia=new int[3]{1,2,3} 第三种是先定义一个数组变量名再为其赋值, 如
int[] ia=new int[3];
ia[1]=1;
ia[2]=2;
ia[3]=3;
由于Java中数组可以设定为任何基础类型,故而决定了多维数组的创建。如创建二维数组就是创建一个数组的数组
//定义一个二维数组并给其赋值
int[][] m=new int[3][3];
for(int i=0;m.length<3;i++){
for(int j=0;j<m[0].length;j++){
int value=i+j;
m[i][j]=value;
}
}


2.实现队列的思路,队列与数组的区别?
在自定义的队列类中,创建一个数组用于队列内部数据的保存,每次有新的数据要加入队列时就创建一个长度比原来数组大1的数组,这样便可以实现队列的自动增长;同理可以实现队列中元素的插入,删除。当然在队列类中还需要实现取出指定位置数据的方法,以及取得队列中元素个数的方法
//创建一个长度为0的数组用于队列内部数据的保存
String[] sz=new String[0];
//将字符串添加到队列末尾
public void add(String s){
//新建一个数组长度是原来数组的长度加1
String[] s1=new String[sz.length+1];
//把原来数组中的数据复制到新数组中
for(int i=0;i<sz.length;i++){
s1[i]=sz[i];
}
//把指定的字符串添加到队列末尾
s1[s1.length-1]=s;
//交换两个数组
sz=s1;

}
队列与数组的区别:数组的长度是固定的,数组一旦定义,其长度就已经确定下来;而随着往队列中不断增加新的元素,队列的长度可以无限增长;而且队列还可以插入或者删除元素


3.数组越界,空指针异常,什么情况下发生,如何处理?
数组越界发生在程序中取值时传入的索引大于原本定义的索引值,如
int[] ia=new int[5];
for(int i=0;i<ia.length;i++){
ia[i]=i*100;
}
ia[5]=5000; //越界取值,会出错
处理方法就是在编程时判断好,防止传入会引起越界的数据

空指针异常是指定义了变量的类型和变量的名字,但没有把这个变量指向一个具体存在的对象,那么这个变量的默认值是null,调用其方法或属性时,会抱错。
int[] ia=null;
for(int i=0;i<ia.length;i++){
ia[i]=i*100;
}//空指针异常,报错
解决方法就是把定义的变量指向一个具体的对象,如上例改成int[] ia=new int[5];即可




4.简单画板的基本流程
一、编写一个画板类,设置好绘画的方法(画板标题、大小、大小是否可变等等)
二、编写一个监听器类,通过构造器传参把画板类定义的画布对象传入监听器,并在画板类中创建监听器添加到窗体上
三、在监听器中实现绘画方法(如画直线,画矩形)
四、编写一个形状类,再定义一个用于保存形状对象的队列类
五、在画板类中定义一个队列对象用来保存已画的形状对象,通过构造器把其传入监听器
六、在监听器类的实现绘画的方法中新建一些形状对象,并把其加入到已定义的队列中
七、在画板类中重绘队列中保存的形状对象



5.五子棋游戏的基本流程
一、编写一个五子棋类,实现显示五子棋界面名称、大小等等的方法
二、编写一个棋子类,在五子棋类中定义一个棋子类型的数组用来保存棋子 ,在实现五子棋的方法中给数组放上空棋子
三、重写从父类继承来的方法,在窗体的画布对象上绘制好棋盘和空棋子
四、编写一个监听器类,把绘制棋盘和棋子的画布对象传入监听器,并把监听器添加到五子棋的窗体上
五、在监听器的方法中,实现根据点击的位置绘制两种不同颜色棋子的方法,编写横、竖、左斜、右斜各个方向上判断输赢的方法
六、在五子棋类的重绘方法中,把监听器中绘制的棋子重绘出来

6.学习经验,感受?
学习中感觉就是要学得踏实、一步一个脚印,每天如果只是看看老师的示例代码,自己随便添加或者抄写一下,就想当然地觉得自己
已经学会了,事实上却还有很多没有掌握,所以必须自己重新把所有的东西实现一遍才能看到自己哪些没学好,自己的缺陷在哪里。
另外自己在学习过程中的想法还是比较局限性,比较依赖老师的指导、说明自己在很多方面还很逊,需要多努力啊
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值