面向过程编程
即一堆方法(函数),调来调去;
“面向过程”(Procedure Oriented)是一种以过程为中心的编程思想。这些都是以什么正在发生为主要目标进行编程,
就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。
面向对象编程
以对象为核心,围绕对象做操作;
面向接口编程
面向对象的基础上,抽象接口,复用性好,可维护性好,移植性好...
什么是抽象数据类型
所谓抽象数据类型可以理解为:将不同类型的数据的集合组成一个整体用来描述一种新的事物。
什么是类
1、类定义了一种数据类型
2、类不但定义了抽象数据类型的组成(成员变量),同时还定义了可以对该类型实施的操作(方法)
ex://定义学生类
public class student{
string name;//定义数据类型
int age;
string adress;
void study(){//定义方法
}
}
3、类是一种数据类型
4、现实世界是由很多的对象组成的,现实世界是先有对象,再抽象出类;代码中是先创建类,再创建对象。
创建对象语法:
类名 名(对象名) = new 类名();
5、一个类可以创建多个对象,同一个类的多个对象,结构相同,数据不同。
理解练习——简化的俄罗斯方块
任务要求:
1、以“------------------------”表示墙;“*”表示方块;
2、墙为10*20 的“-”大小;
3、输出cell位置;
4、键盘输入 数字键1:左移 数字键 2:下移、数字键3:右移 打印相应结果。
源代码:
cell类
package Tetris;
public class cell {
//定义坐标
int row;
int col;
//定义下落方法
void drop(){
row++;
}
//定义左移方法
void moveLeft(int step){
col-=step;
}
//定义右移方法
void moveRight(int step){
col+=step;
}
//返回cell坐标
String cellLocal(){
return row+","+col;
}
}
cellGame
package Tetris;
import java.util.Scanner;
public class cellGame {
public static void main(String[] args){
int step = 0;
cell c = new cell();
c.row = 2;
c.col = 5;
System.out.print("-----绘制Cell-----\n 1:左移;2:下移;3:右移;0:退出 \n");
c.cellLocal();
print(c);
while(true){
int input;
Scanner scanner = new Scanner(System.in);
input = scanner.nextInt();
if(input==0){
System.out.print("-----游戏结束----- ");
}
if(input==1){
System.out.print("-----左移1列-----\n");
c.moveLeft(++step);
c.cellLocal();
print(c);
}
if(input==3){
System.out.print("-----右移1列-----\n");
c.moveRight(++step);
print(c);
}
if(input==2){
System.out.print("-----下移1列-----\n");
c.drop();
print(c);
}
}
}
public static void print(cell c){
System.out.print("Cell的位置为("+c.col+","+c.row+")\n");
for(int i=0;i<20;i++){
for(int j=0;j<10;j++){
if(i==c.row&&j==c.col){
System.out.print("* ");
}else{
System.out.print("- ");
}
}
System.out.print("\n");
}
}
}
安利一门Java超级好课!
扫码下单输优惠码【csdnfxzs】再减5元,比官网还便宜!