1.数据的表示和存储模式
> 基本类型 (面向过程的语言, 处处皆函数!)
Int, byte, long, …..
Float, double….
boolean
char,String
> 数组 (基本数据类型的集群) (指针)
> 过度类型
没有一种数据类型可以用来说明一个人?
软件语言设计者发现使用不论什么一种基本类型都无法说明现实生活的详细某一事物,最多仅仅能说明当中的一个特征。那么,假设要说明一个拥有众多特征的事物,可能须要有多个基本类型来配合完毕。
多种不同的基本类型捆绑在一起用来表示一个事物的各个方面的特征,
struct book{
double bookWeight;
string bookName;
float bookPrice;
boolean ….
} b;
book b;
b. bookName=”J2EE学习”;
> 复杂类型 (class 类型)
class Cat{
Double weight;
String name;
Int age;
Void run() { }
Void sound() { }
…..
}
Cat c;
Class是包括了方法的超级结构体。
创建结构体变量(开辟内存空间)
book b;
b.bookName…
创建类变量以及创建对象 (开辟空间)
Cat c=new Cat();
这里是c是指针。指向在内存中的Cat对象。
new Cat()是申请内存空间。创建对象。
2. 类和对象
声明结构体 à 结构体变量
声明类 à 对象
万事万物皆对象,世界是由对象构成的,每一个对象都有特征和行为,对象组合之后能够形成新的对象。
类是模具,而对象是由模具创建出来的实物
现实生活:
模具 à 实物
(制作模具是重要并且复杂的,同一时候也是抽象的)
程序中:(程序开发的目标就是为了再造世界)
类 à 对象
(创建类是复杂的。抽象的工作)
怎样创建类?
类是模具,有了类,就能够通过这个模具生成出来非常多对象。
3.类的构建
a. 属性 (property) [成员]
b. 方法 (method) [动作]
属性是主人。方法为属性服务,是仆人。
c. 类的构建粒度
满足程序的设计须要就可以,未涉及的属性和方法可不增加类的设计。
不同的应用领域会有不同的抽象视角。
Cat c=new Cat();
C是一个指针,c的数据类型是Cat型。说明c能够指向不论什么以Cat模具创造出来的对象。
4.Random类
本类能够完毕随机数的生成工作。
使用方法:
Random r=new Random();
System.out.println(r.nextInt());
System.out.println(r.nextInt(100));
System.out.println(1+r.nextInt(36));
System.out.println(r.nextFloat());
System.out.println(r.nextDouble());
System.out.println(r.nextBoolean());
5. 数组的使用
int[] a=new int[3];
int[][] b=new int[2][3];
在java中,数组也是对象,必须通过new来创建和申请空间。
数组由于是对象。所以也不能直接訪问。必须通过一个指针(引用变量)来指向,不是全部的引用变量都能够指向数组对象,必须类型匹配。int[] 是引用变量a的数据类型,说明a是一个能够指向内存中的一维数组对象的引用变量(指针).
昨天的收获:一堆关于字符串的操作,曾经自己手写的算法,在这边能够直接使用了
Random随机数的使用
Random r = new Random() ;
for(int i =0;i<20;i++)
System.out.print(Math.abs(r.nextInt(30))) ;
生成20个0到30的数字。会出现反复 ;
switch ()//跟C++一样
没了..