2007年1月22日
包装类、字符、字符串、集合、数组
一) 包装类:
看一个例子,思考以下它们二者的区别
char a = 'a';
Charactor b = new Charactor('a');
相同处:他们所表示的内容是一样的,都是表示字符a;
不同处:在于Charactor是char的包装类,类似的还有
int--Integer,long--Long,double--Double,
boolean--Boolean,float--Float
那么包装类起什么作用呢?
它主要用于转换类型,例如 String b = "1";
int a = Integer.parseint(b);
二) 字符串及相关方法
继续看一个例子:
String a = "abc";
它的方法主要有:charAt(),indexOf(),substring(),toupperCase();valueOf();split();trim();
定义一个string类型的变量a, String a ="astgeter";
现在我们要索引e,用a.indexOf("e"),表示e第一次出现的位置在第几位;
三) ==与equals的区别
==表示比较的是引用,而equals比较的是内容;
看一个例子:
String a = "abc";
String b = "abc";
String d = new String("abc");
如果说a==b则是正确的,如果说a==d则是错误的,只能说a.equals(b)是正确的;
四) 集合、数组
先看看集合
集合分为map,list,set(三者都是接口);
map又分为:HashMap,HashTable
list分为:ArrayList,LinkedList,Vector
set分为:HashSet
map,list,set的区别:
map里放置的是一对一对的数据;
而list,set里放置的是一个一个的数据;
1)集合和数组的区别:1,数组可放基本数组类型和对象数 据类型数组;
集合放置的全是对象数据类型;
2,数组长度一旦定义,就不可改变
而集合长度可以改变;
今天主要总结对象的引用和分配内存空间!
看一个例子,String hello = "hi";这句表示什么?
表示定义一个类型为String型的对象引用hello, 让hello指向类型为String型的
对象hi, 即hello一把可以开启对象hi的钥匙,这里涉及到分配内存空间的问题,
值得一提的就是任何变量和对象都占用内存空间,形参也一样。
也就是当定义一个变量或者对象的时候,就给定义的变量或对象划
分了一块内存空间;
今天总结的有以下内容:
一、访问修饰符
二、构造方法
三、参数传递
一)4种访问修饰符:public ,private ,protected,不写
1,public 访问权限最高,private访问权限最低;
protected通常在有继承关系时使用;
尽量使访问权限最小化(规则)
注意: 在方法里,任何修饰符都不能加在变量前,即使是静态的也无法使用
例如: public void insertBook(){
public int a = 100;
或者:static int b = 200;
}
结果是不能编译通过
2,构造方法:
核心用处:用于产生对象,通过new 产生新的对象
例如:DataClass a = new DataClass ();
特点:构造方法没有返回类型
与类名同名 例如:public DataClass(){}
3,方法重载
含义:方法名相同,指在同一个类内部,主要针对方法来说,
遵循原则:个数不同,类型不同,顺序不同
例如:public class DataClass{
public void access(int a ,String b){}
public void access(String a, int b){}
}
记住:在子类所有构造方法的第一行,都会去自动调用父类
不带参数的构造方法;
三)参数传递
用一个实例更能说明参数传递,下面我们来看一道题
今天主要总结有关数值型数据的内容:
1,基本数据类型(8种):
数字:int,short,byte,long,float,double
字符:char,boolean
注意:byte型数据类型的数值范围是-128~127
如果:定义一个类型为byte型变量byte abc = 200;
则编译不能通过;因为它超出了值的取值范围
2,下面我们来看看各个数据类型所占字节是多少
int 4个字节
short 2个字节
byte 1个字节
long 8个字节
值得注意的是float和double之间的转换:float a = 1.5;
正确转换应该是float a = 1.5f;(加一个f,表示他转化成float型)
或者这样也行:float a = (float)1.5;(得到的是相同的结果)
double a = 1.5f;
定义char类型的时候,注意要加单引号 如:char a ='1';
3,switch(a) a的数据类型只允许:int,short,char,byte;
今天主要总结一下类,对象,
及类变量,实例变量
下面我们就来理解类到底是什么,以及类和对象的关系?
对象:是由类产生的一个个个体,是对一个客观实体的描述;
类:是对对象的概述和抽象;
打一个比方,或许能更清楚理解类和对象的关系:汽车有很多类,
小汽车,公共汽车,它们都属于类,而某一辆特定的小汽车就是类的
的对象
看一个例子:
定义一个变量:private int aaa;
private static int bbb;
相信大家都看到了他们的区别:在于是否加了static,这就是我们要
分析的类变量和实例变量
类变量也叫静态变量,也就是在变量前加了static 的变量;
实例变量也叫对象变量,即没加static 的变量;
那么他们的区别究竟是什么呢?
类变量和实例变量的区别在于:类变量是所有对象共有,其中一个
对象将它值改变,其他对象得到的就是改变后的结果;而实例变量则属
对象私有,某一个对象将其值改变,不影响其他对象;
还有,类变量和实例变量都属全局变量
不知道总结的是否正确,或者少了些什么,欢迎大家留言,共同进步,谢谢!