java入门

a) 操作系统中配置java环境变量?

PATH=%PATH%; c:\java\bin;
CLASSPATH = .;c:\java\lib\classes.zip
b) 对类名、属性名、方法名以及常量名命名的时候需要注意什么?

标识符以字母,数字,美元符号"$",下划线"_"组成,第一个字符不可用数字
类名:首字母必须大写;之后每个单词的首字母也大写
类名首字母只能是下划线与字母,后面可以再加数字
属性名:首字母小写,之后每个单词首字母也大写,不可以与关键字重名。
方法名:首字母小写,之后每个单词首字母也大写。
常量名:所有字母都需大写,不同单词之间用下划线区分
c) 定义类名必须要和什么相同?

类名必须与创建的java文件相同;
d) Java编译和运行的命令与格式?

编译:javac 类名.java
运行:java 类名
e) Java中的基本数据类型 ?

byte char short int float long double Boolean
f) Java中有哪几种数据类型?

基本数据类型、
引用类型(类类型)
g) String的常用方法有哪些?

valueOf():将其他的基本数据类型转换为字符串
trim(): 返回字符串的副本,去掉空白
toUpperCase():将字符大写化
toLowerCase():讲字符小写化
toCharArray():将此字符串转换为一个新的字符数组。
substring(int beginIndex, int endIndex):返回一个新字符串,它是此字符串的一个子字符串
length():返回此字符串的长度
lastIndexOf(String str) 返回指定子字符串在此字符串中最右边出现处的索引
equals(Object anObject):将此字符串与指定的对象比较
equalsIgnoreCase(String anotherString):将此 String 与另个 String 比较,不考虑大小写
indexOf(String str):返回指定子字符串在此字符串中第一次出现处的索引
isEmpty():当且仅当 length() 为0 时返回 true
concat(String str):将指定字符串连接到此字符串的结尾
2. 类和对象

a) 类的定义

类是由相同特征和相同行为对象的抽象;
类由两个部分组成:属性和方法。属性对应的是特征,方法对应的是行为。
b) 对象的定义

对象是现实生活中存在的物体以及脑海中所想象的物体。
对象由两个部分组成:特征和行为。
c) 定义类的格式

public class 类名{
private 数据类型 属性名;
public 返回值类型 方法名([参数类型 参数名,...]){
//方法体
}}
d) 创建对象的格式

类名 对象名 = new 类的构造函数;
e) 方法的分类

有无返回值;
有无参数;
f) 方法的重载

必须在同一个类中,
方法名要完全相同,方法所带参数个数或者参数类型要不同
g) 构造函数

1、 没有返回值类型

2、 函数名必须与类名相同

3、 默认的是没有带参数的构造函数,但是一旦有改写,则默认的就会不存在;

4、 构造函数是用来实例化对象的,每调用一次就实例化了一个对象

h) 值传递

适用于基本数据类型及String类型;
值传递是将目标变量中的值拷贝一份存入到一个新的变量中,新旧变量互不影响
i) 引用传递

适用于java的引用类型。
引用传递是将对象名中存储的地址拷贝一份存入到另一个对象名中,两个对象名就指向了同一块内存,“一变全变”;
j) this关键字

1、 区别形参与属性。有this的是属性,没有的是形参;

2、 代表当前的对象,可以用this.属性 或者 this.方法名 来调用属性与方法;

3. 类的继承

a) 为什么需要继承?

1、减少了代码量,提高了工作效率,减低了代码的冗余。
2、提高了程序的扩展性。
b) 继承的语法格式

public class 子类(超类) extends 父类(基类) { }
c) 子类能继承到父类的哪些方法和属性

能继承到所有的方法和属性
但是调用的时候:
子类跟父类在同一个包下:子类能调用共有的和受保护的属性和方法;如果子类重写父类的方法则调用重写后的方法;

子类跟父类不同包下:只有共有的方法和属性能被子类调用
d) 方法的重写

1.方法名字要相同
2.方法的实现要不同。
3.必须要存在继承关系。
4.方法所带的参数个数和类型要完全相同。
5.访问修饰符可以和父类的不同,但是必须大于或者等于父类的访问修饰符。
e) 自动转型

条件是存在继承关系;
父类名 对象名 = new 子类构造方法(参数值列表);
缺点:不能调用子类自己没有重写的方法
优点:封装了子类独有的方法;
简化了代码的编写,提高程序扩展性;
f) 多态

多态是由方法重载,继承,方法重写,自动转型等一系列的内容组合的
g) 接口

接口是用来定义抽象方法的,定义了抽象方法后,就要求实现类必须要重写接口中所有的方法。
h) 抽象类

接口和类的集合。
接口、抽象类和类的区别?
1.接口只能定义抽象公有方法;类可以定义任何不是抽象的方法。
2.接口可以实现多重继承;抽象类与普通类只能是单继承。
3.接口定义的关键字是interface ;类定义的关键字是class.
4.接口只能继承,继承的关键字是extends;类既可以继承(继承的关键字是extends)也可以实现接口,并且实现接口是可以实现多个(实现的关键字是implements)。
5.接口没有构造函数,不能实例化对象;抽象类因为可以定义抽象方法,所以也不能实例化对象;普通类有构造函数,可以实例化对象。
4. Java的图形界面和事件

a) Java的图形界面有几套?

有swing、swt与awt三种
b) 为什么要使用swing,而不使用awt ?

它提供了AWT 所能够提供的所有功能,并且用纯粹的Java代码对AWT 的功能进行了大幅度的扩充。
c) 所有的图形界面都是从哪一个类继承的?

Object类
d) 事件步骤

1. 确定事件源;

2. 给事件源设置好条件,设置好捕获事件的条件;

3. 创建一个处理事件的类,再实例化类的对象;

4. 结束;

e) 常用的监听器

鼠标监听器(继承自MouseAdapter类)
ActionListener类
f) ActionEvent和MouseEvent

ActionEvent为语义类事件,而MouseEvent为低层事件

5. 数组和队列

a) 数组

数组是一种线性的数据结构
操作数组是通过什么?
数组下标
多维数组
是一维数组的拓展
获取行的总数格式? array.length
获取列的总数格式? array[i].length
数组的缺点?数组中只能存储一种类型的数据;
数组的长度是固定的,如果发生追加或者删除长度的时候无法实现
b) 队列: 定义一个类,用该类来封装对数组的操作。

数组可以使用Object来实例化。
队列只能存储一种数据类型。
但是java提供了一个叫做泛型的概念, E可以表示java所有类,然后E结合类一起使用就可以储存不同类型的数组元素;
6. 重绘

1. 要有一个队列来储存获过的对象

2. 要有一个画图形的类,每画一次就加到队列中

3. 调用父类的paint方法,然后通过循环队列里储存的画图类,每次都重绘一次

7. 五子棋

一、界面

五子棋界面窗体:设置好窗体属性;并显示窗体
在显示界面的时候就需要有一个棋盘,并且棋盘要一直在窗体上存在。
15*15格子的棋盘。每一个格子的大小40个像素,每一颗棋子的大小是30像素
用数组来对应所下的棋子
二、输赢算法:

同色棋子在“米字”方向上有连接超过5个则该色棋子赢了;
三、人机,判断机器下的子:

根据棋子在棋盘上的相连排列,分为8种(或更多);
有一连活(表示只有一个棋子相连,周围8面都是活路),一连半(表示一个棋子相连,一面被异色棋子堵住,一条线只能下一边),相似还有二连活、二连半、三连活、三连半、四连活、四连半;将这些位置设置为不同的权值,一个棋子周围就有不同的权值,所有棋子的权值表累加在一起,判断权值最大的地方就是落子的地方
四、重绘:每下一个棋子都放入队列中,然后与窗体一起重绘
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值