面向对象+面向过程
对比:
面向过程 | 面向对象 | |
设计思路 | 自顶向下、层次化、分解 | 自底向上、对象化、综合 |
程序单元 | 函数模块 | 对象 |
设计方式 | 程序=算法+数据结构 | 程序=对象=数据+方法 |
优点 | 相互独立,代码共享,性能相对较高 | 接近人的思维方式, 使用灵活,易维护、易复用、易扩展 |
缺点 | 修改、维护困难 | 性能相对较低 |
string
类型:Java中的数据类型分为两大类,基本数据类型和引用数据类型,而string就属于引用数据类型。
比较字符串大小:
1、compareTo比较数据的大小
String a="a",b="b";
System.out.println(a.compareTo(b));
2、使用equals()和==,区别在于equals比较的是内容是否相等、==比较的是引用的变量地址是否相等。
String s1,s2,s3 = "abc", s4 ="abc" ;
s1 = new String("abc");
s2 = new String("abc");
s1==s2 是 false //两个变量的内存地址不一样,也就是说它们指向的对象不 一样,
s1.equals(s2) 是 true //两个变量的所包含的内容是abc,故相等。
String内容不能改变的理解:String类是final类故不可以继承,也就意味着String引用的字符串内容是不能被修改。
可知,String对象内容的改变实际上是通过内存地址“断开-连接”变化来完成的,而原字符串中的内容并没有任何的改变。String str = "Hello";和str = str + " World";实质上是开辟了三个内存空间,str只是由原来指向"hello"变为指向“hello world”而已,而其原来的指向内容,是没有改变的。