基础语法:
程序 = 数据+算法
数据
Java中的数据,分为基础型,引用型。
基础型
就是用来存数字啊,字符啊,逻辑值真假啊。
数字有分整数(byte,short,int,long)和小数(float,double),区别在于所占内存大小和数值精度不同;
字符用char存储,但通常,我们用String类,也就是字符串,来存储一连串的字符;
逻辑值,也就是真假值,用布尔型(boolean)表示,只有true和false两个值。常用来表示程序执行中的某个状态。
小例子:
int day = 365;
double pi = 3.14;
char a = 'A';
boolean isSelected = true;
引用型
其他的,用类new出来的,就是引用型。如上面提到的String,如数组Array,或者Java提供的类,如日期。
String name = "Jason";
String[] names = {"Jason","流年",""};
Date date = new Date();
算法
算法是由运算符和控制逻辑组成。
运算符就是进行一些数值运算,加减乘除求余;或者一些逻辑运算,与或非。
控制逻辑就是条件判断if else;或者循环for while。
面向对象程序设计思想
按理说,上述这些已经可以写程序了。
但为什么面向对象还定义了类的概念,继承的概念,还搞出了public啊,private啊这些关键词?
原因是因为,好设计。
举个例子,如果老板让你写个为用户名字排序的程序,你可以按步骤思考,按照第一步存储名字,第二步排序,第三步打印结果来设计。
但是,如果老板让你写个银行系统,供客户,职员使用,怎么设计呢?从何开始呢?程序的第一步是什么呢?好像很难找到对不对,问题很大很模糊。
所以,对于这种很大很模糊的问题,我们很难按照步骤去思考,但比较容易去按照问题中出现的对象去思考。
比如银行系统中,我们分析下就会发现,从人看,有客户对象,有职员对象等等。从事物看,有存款业务对象,有取款业务对象等等。
那我们用什么来描述我们的对象呢?用类。用class。
如何在类中表示对象的特点呢?用属性和方法,来分别表示对象的静态特征和动态特征。
如客户对象,他会有身份证号这个属性,表示自己的唯一性。会有存款总额这个属性,表示自己的存款数量;
他还会有名为存钱、取钱的方法,表示可以向银行存钱、取钱的能力。
那我们的客户类可以设计成这样:
Client.java
public class Client{
String ID;
int sum;
void save(int amount){
System.out.println("Client "+ ID + "is saving " + amount + "$");
sum = sum + amount;
}
void draw(int amount){
System.out.println("Client "+ ID + "is drawing " + amount + "$");
sum = sum - amount;
}
}
接下来我们如何使用我们的对象呢?在Java程序的入口,main方法中,用new来实例化,用.来调用属性和方法。
public class Main{
public static void main(String[] args){
Client client = new Client();
client.ID = "010";
client.save(2000);
}
}
然后我们设计出在系统中的其他对象,并在main方法中,new出他们,并调用他们的方法,不就解决了我们的大型系统的设计问题?
所以,面向对象设计的程序,就是对象之间的互相调用。
接下来会讲
2,类的语法。
本节问题:
1,请用notepad编写一个helloworld的程序,并编译,运行它。
参考答案:http://www.cnblogs.com/itech/archive/2010/04/06/1705556.html
2,请写一个类,它提供对字符串数组和数字数组的排序功能。
参考答案:http://www.cnblogs.com/zxl-jay/archive/2011/09/24/2189711.html