![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java语言基础
lds8988
这个作者很懒,什么都没留下…
展开
-
Java语言的字符和字符串的处理方法
字符串类String字符串的比较equals(s1:String)如果这个字符串等于字符串s1,则返回trueequalsIgnoreCase(s1:String)如果不区分大小写这个字符串等于字符串s1,则返回truecompareTo(s1:String)返回一个大于0、等于0或小于0的整数以表明这个字符串是大于、等于还是小于s1compareToIgnoreCase(s1:String)除了原创 2012-08-21 13:47:40 · 465 阅读 · 0 评论 -
为什么要用抽象方法
下面代码中创建了两个几何对象:一个圆和一个矩形,调用equalArea方法来检查它们的面积是否相同,然后调用displayGeometricObject方法来显示它们。 public class TestGrometricObject { public static void main(String[] args) { GeometricObject geoObjec...原创 2011-12-12 19:01:41 · 522 阅读 · 0 评论 -
关于抽象类的几个关注点
下面是关于抽象类的值得注意的几点:抽象方法不能包含在非抽象类中。如果抽象父类的子类不能实现所有的抽象方法,那么子类也必须定义为抽象的。换句话说,在抽象类扩展的非抽象子类中,必须实现所有的抽象方法。还要注意到,抽象方法是非静态的。抽象类是不能使用new操作符来初始化的。但是,仍然可以定义它的构造方法,这个构造方法在它的子类的构造方法中调用。包含气象对象的类必须是抽象的。但是,可以...原创 2011-12-12 23:11:26 · 69 阅读 · 0 评论 -
关于递归
递归是一个很有用的设计技术。在某些情况下,对于用其他方法很难解决的问题,使用递归就能给出一个自然、直接的简单解法。[size=medium]1、递归定义[/size]递归定义由两部分组成。第一部分称作定位点或是基本例子,列出了构造集合中其他元素构造块的基本元素。第二部分,给出构造除基本元素之外的或是已经创建好的新对象的条件。这个条件可以再三地被用来生成新对象。递归定义有两个目的:如前撰...原创 2012-05-10 20:10:56 · 83 阅读 · 0 评论 -
java产生随机数的几种方式(转)
一.在j2se里我们可以使用Math.random()方法来产生一个随机数,这个产生的随机数是0-1之间的一个double,我们可以把他乘以一定的数,比如说乘以100,他就是个100以内的随机,这个在j2me中没有。 二.在java.util这个包里面提供了一个Random的类,我们可以新建一个Random的对象来产生随机数,他可以产生随机整数、随机float、随机double,随机lon...原创 2012-05-15 21:10:14 · 53 阅读 · 0 评论 -
Java语言的字符和字符串的处理方法
[size=large][align=center]字符串类String[/align][/size][size=medium][color=red]字符串的比较[/color][/size]equals(s1:String)如果这个字符串等于字符串s1,则返回trueequalsIgnoreCase(s1:String)如果不区分大小写这个字符串等于字符串s1,则返回tr...原创 2011-11-26 20:03:05 · 102 阅读 · 0 评论 -
依照模式匹配、替换和分隔字符串
可以通过指定某个模式来匹配、替换或分隔一个字符串。这是一种非常有用且功能强大的特性,通常称为正则表达式。 以String类中的matches方法开始。乍一看,matches方法和equals方法非常相似。例如,下面两条语句的值均为true:"Java”.matches("Java");"Java".equals("Java"); 但是,matches方法的功能更强大。它不仅可以匹配...原创 2011-11-26 22:25:52 · 122 阅读 · 0 评论 -
格式化字符串
String类包含在String类中的静态format方法,它可以创建一个格式化的字符串。调用该方法的语法是:String.format(format,item1,item2,...,itemk)这个方法很像printf方法,只是format方法返回一个格式化的字符串,而printf方法显示一个格式化的字符串。例如:String s = String.format("%5.2f",45...原创 2011-11-26 22:32:11 · 71 阅读 · 0 评论 -
类的设计原则
一、内聚性 类应该描述一个单一的实体,而所有的类操作应该在逻辑上相互配合,支持一个连贯性的目标。例如:可以专门为学生使用一个类,但不应该将学生与教职式组合在同一个类中,因为学生和教职工是不同的实体。 如果一个实体担负太多的职责,就应该按各自的职责分成几个类。例如:String类、StringBuilder类和StringBuffer类都用于处理字符串,但是它们的职责不同...原创 2011-12-06 17:37:38 · 167 阅读 · 0 评论 -
关于继承的一些知识
考虑继承时值得注意的几点和传统的理解相反,子类并不是父类的一个子集。实际上,一个子类通常比它的父类包含更多的信息和方法。父类中的私有数据域在该类之外是不可访问的。因此,不能在子类中直接使用它们。但是,如果父类中定义了公共的访问器/修改器,那么可以通过这些公共的访问器/修改器来访问和修改它们。不是所有的“是”关系(is-a)都该用继承来建模。例如:一个正方形是一个矩形,但是不应该定义一...原创 2011-12-06 19:18:31 · 119 阅读 · 0 评论 -
动态绑定
一个方法可以在父类中定义而在它的子类中覆盖。考虑下面的代码: Object o new GeometricObject();System.out.println(o.toString()); 这里的o调用哪个toString()呢?为了回答这个问题,我们首先介绍两个术语:声明类型和实际类型。一个变量必须被声明为某种类型。变量的这个类型称为它的声明类型。这里,o的声明类型是Objec...原创 2011-12-08 23:24:52 · 206 阅读 · 0 评论 -
对象转换和instanceof运算符
语句 m(new Student());将对象new Student()赋值给一个Object类型的参数。这条语句等价于Object o = new Student();m(o);由于Student的实例自动地就是Object的实例,所以,语句Object o = new Student()是合法的,它称为隐式转换。假设想使用下面的语句把对象引用o赋值给Student类型的变量:...原创 2011-12-10 01:27:33 · 759 阅读 · 0 评论 -
数组线性表ArrayList
Java提供ArrayList类来存储不限定个数的对象。下面是ArrayList中的一些方法。ArrayList()创建一个空的线性表 add(o: Object)在这个线性表的末尾追加一个新元素o add(index: int, o: Object)在这个线性表中的特定下标处增加一个新元素o clear()从这个线性表中删除所有的元素 cont...原创 2011-12-10 23:51:49 · 234 阅读 · 0 评论 -
protected数据和方法
经常需要允许子类访问定义在父类中的数据域或方法,但不允许非子类访问这些数据域和方法。可以使用关键字protected完成该功能。父类中被保护的数据域或方法可以在它的子类中访问。修饰符private、protected和public都称为可见性修饰符或可访问性修饰符,因为它们指定如何访问类和类的成员。这些修饰符的可见性关系为:private < protected < public。...原创 2011-12-11 21:46:40 · 302 阅读 · 0 评论 -
何时使用异常
异常处理将错误处理代码从正常的程序设计任务中分离出来,这样,可以使程序更易修改。但是,应该注意,由于异常需要初始化新的异常对象,需要从调用栈返回,而且还需要沿着方法调用链来传播异常以便找到它的异常处理器,所以,异常处理通常需要更多的时间和资源。异常出现在方法。如果想让该方法的调用者处理异常,应该创建一个异常对象并将其抛出。如果能在发生异常的方法中处理异常,那么就不需要抛出或使用异常。...原创 2012-02-12 20:50:39 · 106 阅读 · 0 评论 -
可序列化接口Serializable
Serializable接口是一种标记性接口。因为它没有方法,所以,不需要在类中为实现Serializable接口增加额外的代码。实现这个接口可以启动Java的序列化机制,自动完成存储对象和数组的过程。为了体会这个自动和理解对象是如何存储的,考虑一下不使用这一功能,储存一个对象需要做哪些工作。假设要存储一个JButton对象,为了完成这个任务,需要存储该对象所有属性(例如,颜色、字体、文本...原创 2012-02-22 17:23:06 · 205 阅读 · 0 评论 -
【转】JAVA正则表达式实例
[size=large]JAVA正则表达式实例教程,新手学习用!!!!!!!! 内容节选 ①字符匹配 Pattern p = Pattern.compile(expression); // 正则表达式 Matcher m = p.matcher(str); // 操作的字符串 boolean b = m.matc...原创 2012-02-26 23:54:48 · 81 阅读 · 0 评论 -
抽象类
在继承的层次结构中,随着每个新子类的出现,类会变得越来越明确和具体。如果从一个子类追溯到父类,类就会变得更通用、更加不明确。类的设计应该确保父类包含它的子类的共同特征。有时候,一个父类设计得非常抽象,以至于它都没有任何具体的实例。这样的类称为抽象类。把一个GeometricObject类定义成Circle类和Rectangle类的父类。GeometricObject类模拟了几何对象的共同特征。...原创 2011-12-12 17:11:13 · 90 阅读 · 0 评论 -
【转】JAVA正则表达式实例
JAVA正则表达式实例教程,新手学习用!!!!!!!! 内容节选 ①字符匹配 Pattern p = Pattern.compile(expression); // 正则表达式 Matcher m = p.matcher(str); // 操作的字符串 boolean b = m.matches(); //返回是转载 2012-08-21 13:48:24 · 271 阅读 · 0 评论 -
依照模式匹配、替换和分隔字符串
可以通过指定某个模式来匹配、替换或分隔一个字符串。这是一种非常有用且功能强大的特性,通常称为正则表达式。 以String类中的matches方法开始。乍一看,matches方法和equals方法非常相似。例如,下面两条语句的值均为true:"Java”.matches("Java");"Java".equals("Java"); 但是,matches方法的功能更强大。它不仅可以匹配定长的字符串,还原创 2012-08-21 13:47:43 · 295 阅读 · 0 评论 -
对象转换和instanceof运算符
语句 m(new Student());将对象new Student()赋值给一个Object类型的参数。这条语句等价于Object o = new Student();m(o);由于Student的实例自动地就是Object的实例,所以,语句Object o = new Student()是合法的,它称为隐式转换。假设想使用下面的语句把对象引用o赋值给Student类型的变量:Student b原创 2012-08-21 13:47:54 · 437 阅读 · 0 评论 -
关于抽象类的几个关注点
下面是关于抽象类的值得注意的几点:抽象方法不能包含在非抽象类中。如果抽象父类的子类不能实现所有的抽象方法,那么子类也必须定义为抽象的。换句话说,在抽象类扩展的非抽象子类中,必须实现所有的抽象方法。还要注意到,抽象方法是非静态的。抽象类是不能使用new操作符来初始化的。但是,仍然可以定义它的构造方法,这个构造方法在它的子类的构造方法中调用。包含气象对象的类必须是抽象的。但是,可以定义一个不包含抽象方原创 2012-08-21 13:48:05 · 348 阅读 · 0 评论 -
何时使用异常
异常处理将错误处理代码从正常的程序设计任务中分离出来,这样,可以使程序更易修改。但是,应该注意,由于异常需要初始化新的异常对象,需要从调用栈返回,而且还需要沿着方法调用链来传播异常以便找到它的异常处理器,所以,异常处理通常需要更多的时间和资源。异常出现在方法。如果想让该方法的调用者处理异常,应该创建一个异常对象并将其抛出。如果能在发生异常的方法中处理异常,那么就不需要抛出或使用异常。一般来说,一个原创 2012-08-21 13:48:14 · 234 阅读 · 0 评论 -
动态绑定
一个方法可以在父类中定义而在它的子类中覆盖。考虑下面的代码: Object o new GeometricObject();System.out.println(o.toString()); 这里的o调用哪个toString()呢?为了回答这个问题,我们首先介绍两个术语:声明类型和实际类型。一个变量必须被声明为某种类型。变量的这个类型称为它的声明类型。这里,o的声明类型是Object。一个引用类型原创 2012-08-21 13:47:52 · 373 阅读 · 0 评论 -
数组线性表ArrayList
Java提供ArrayList类来存储不限定个数的对象。下面是ArrayList中的一些方法。ArrayList()创建一个空的线性表 add(o: Object)在这个线性表的末尾追加一个新元素o add(index: int, o: Object)在这个线性表中的特定下标处增加一个新元素o clear()从这个线性表中删除所有的元素 contains(o: Object)如果这个线性表包含元素原创 2012-08-21 13:47:56 · 500 阅读 · 0 评论 -
格式化字符串
String类包含在String类中的静态format方法,它可以创建一个格式化的字符串。调用该方法的语法是:String.format(format,item1,item2,...,itemk)这个方法很像printf方法,只是format方法返回一个格式化的字符串,而printf方法显示一个格式化的字符串。例如:String s = String.format("%5.2f",45.556);原创 2012-08-21 13:47:45 · 212 阅读 · 0 评论 -
类的设计原则
一、内聚性 类应该描述一个单一的实体,而所有的类操作应该在逻辑上相互配合,支持一个连贯性的目标。例如:可以专门为学生使用一个类,但不应该将学生与教职式组合在同一个类中,因为学生和教职工是不同的实体。 如果一个实体担负太多的职责,就应该按各自的职责分成几个类。例如:String类、StringBuilder类和StringBuffer类都用于处理字符串,但是它们的职责不同。Str原创 2012-08-21 13:47:47 · 268 阅读 · 0 评论 -
关于继承的一些知识
考虑继承时值得注意的几点和传统的理解相反,子类并不是父类的一个子集。实际上,一个子类通常比它的父类包含更多的信息和方法。父类中的私有数据域在该类之外是不可访问的。因此,不能在子类中直接使用它们。但是,如果父类中定义了公共的访问器/修改器,那么可以通过这些公共的访问器/修改器来访问和修改它们。不是所有的“是”关系(is-a)都该用继承来建模。例如:一个正方形是一个矩形,但是不应该定义一个Square原创 2012-08-21 13:47:50 · 345 阅读 · 0 评论 -
protected数据和方法
经常需要允许子类访问定义在父类中的数据域或方法,但不允许非子类访问这些数据域和方法。可以使用关键字protected完成该功能。父类中被保护的数据域或方法可以在它的子类中访问。修饰符private、protected和public都称为可见性修饰符或可访问性修饰符,因为它们指定如何访问类和类的成员。这些修饰符的可见性关系为:private < protected < public。下表总结了类中成原创 2012-08-21 13:47:58 · 492 阅读 · 0 评论 -
抽象类
在继承的层次结构中,随着每个新子类的出现,类会变得越来越明确和具体。如果从一个子类追溯到父类,类就会变得更通用、更加不明确。类的设计应该确保父类包含它的子类的共同特征。有时候,一个父类设计得非常抽象,以至于它都没有任何具体的实例。这样的类称为抽象类。把一个GeometricObject类定义成Circle类和Rectangle类的父类。GeometricObject类模拟了几何对象的共同特征。Ci原创 2012-08-21 13:48:01 · 321 阅读 · 0 评论 -
为什么要用抽象方法
下面代码中创建了两个几何对象:一个圆和一个矩形,调用equalArea方法来检查它们的面积是否相同,然后调用displayGeometricObject方法来显示它们。原创 2012-08-21 13:48:03 · 575 阅读 · 0 评论 -
可序列化接口Serializable
Serializable接口是一种标记性接口。因为它没有方法,所以,不需要在类中为实现Serializable接口增加额外的代码。实现这个接口可以启动Java的序列化机制,自动完成存储对象和数组的过程。为了体会这个自动和理解对象是如何存储的,考虑一下不使用这一功能,储存一个对象需要做哪些工作。假设要存储一个JButton对象,为了完成这个任务,需要存储该对象所有属性(例如,颜色、字体、文本和对齐方原创 2012-08-21 13:48:22 · 462 阅读 · 0 评论 -
java中的io系统(转)
java中的io中的(input/output)stream无非就是包括基于字符的stream、基于字节的stream和把字节导向的stream转换字符为导向的stream的stream。(很难理解么?)以字节为导向的stream------InputStream/OutputStreamInputStream 和 OutputStream是两个abstact类,对于字节为导向的str转载 2012-08-21 13:48:42 · 226 阅读 · 0 评论 -
关于递归
递归是一个很有用的设计技术。在某些情况下,对于用其他方法很难解决的问题,使用递归就能给出一个自然、直接的简单解法。1、递归定义递归定义由两部分组成。第一部分称作定位点或是基本例子,列出了构造集合中其他元素构造块的基本元素。第二部分,给出构造除基本元素之外的或是已经创建好的新对象的条件。这个条件可以再三地被用来生成新对象。递归定义有两个目的:如前撰述的产生新元素,以及检查它是否是集合的一原创 2012-08-21 13:48:31 · 307 阅读 · 0 评论 -
java产生随机数的几种方式(转)
一.在j2se里我们可以使用Math.random()方法来产生一个随机数,这个产生的随机数是0-1之间的一个double,我们可以把他乘以一定的数,比如说乘以100,他就是个100以内的随机,这个在j2me中没有。二.在java.util这个包里面提供了一个Random的类,我们可以新建一个Random的对象来产生随机数,他可以产生随机整数、随机float、随机double,随机lo转载 2012-08-21 13:48:33 · 309 阅读 · 0 评论 -
java中的io系统(转)
java中的io中的(input/output)stream无非就是包括基于字符的stream、基于字节的stream和把字节导向的stream转换字符为导向的stream的stream。(很难理解么?)以字节为导向的stream------InputStream/OutputStreamInputStream 和 OutputStream是两个abstact类,对于字节为导向的str...原创 2012-07-08 15:48:12 · 49 阅读 · 0 评论