- 浏览: 772347 次
- 性别:
- 来自: 太原
博客专栏
-
Java编程Step-by...
浏览量:161283
最新评论
-
liuwei1981:
尘土飞扬 写道取整的函数,返回值是double?测试下就能看出 ...
86.Math类的使用 -
尘土飞扬:
取整的函数,返回值是double?
86.Math类的使用 -
尘土飞扬:
终于清楚了Date和Calendar的来龙去脉谢谢
90.Java日期处理 -
谁说我不是会员:
liuwei1981 写道hupu_2014 写道根据你的执行 ...
65.对象的构造以及初始化 -
谁说我不是会员:
有的地方能优化,有的不能,不能一概而论。
有必要用StringBuilder的append代替String的+字符串连接运算么
文章列表
89.文件操作初步
- 博客分类:
- java技术
- Java软件编程学习杂谈
1 基本文件操作
在Java中,提供了对文件以及目录进行操作的File类。注意,在Java中,对目录的操作也是通过这个类来完成的,并没有单独为目录定义相应的类。File类放在java.io包中。
在Java中,将路径也当作File类 ...
88.容器类
- 博客分类:
- java技术
- Java软件编程学习杂谈
一个容器(container)是用一个对象来“存放”一组对象,其中的每个对象作为容器的一个元素。所有的容器类都放在java.util包中。
在Java 2 中,对JDK1.0和JDK1.1中的容器工具作了重新的设计,它由《Effective Java》的作者Joshua Bloch主 ...
87.String类
- 博客分类:
- java技术
- Java软件编程学习杂谈
在Java中,使用String和StringBuffer来表示封装了一系列字符的对象,习惯上,将它们称为“字符串”。
1 String
String 类包含了一个不可改变(immutable)的字符串。一旦一个String实例被创建,包含在这个实例中的内容(“字符串”)不可被更改,直至这个对象被销毁。因此,指向String对象的变量实质上是一个常量,String对象也被称为常量对象。
创建一个String对象有很多种方法,但最常见的方法是将一个字符系列当作参数给String的构造器来创建一个String 实例,如下: String s = new String(“abcdefg ...
因为工作的关系,使用到了Jbpm来进行工作流程的应用开发。开始学习这方面的内容。权当作学习笔记。
这里Jbpm使用了4.4版本。
JBPM,全称是Java Business Process Management(业务流程管理),它是覆盖了业务流程管理、工作流、服务协作等领域的一个开源的、灵活的、易扩展的可执行流程语言框架。jBPM是公开源代码项目,使用它要遵循 ASL(Apache License Version 2.0)和EULA(JBoss End User License Agreement)协议。
jBPM在2004年10月18日,发布了2.0版本,并在同一天加 ...
在实际编程中,大量的数据运算是不可避免的。在Java类库中,已经实现了一个Math类,提供了大部分的数据运算方法。
Math类中定义了多个实现标准数学函数功能的基本方法,包括三角函数、指数运算、对数运算、平方根运算等。
Math类中的所有成员方法都是静态的(static),可以直接使用“类名.方法”的形式调用。事实上,Math类的构造方法被定义为private的,因而根本不允许在类的外部创建Math类的对象。另外,Math类是final的,不能被继承。
Math类的常用属性和方法如下:
1 提供数据截断(truncation)操作功能
double ceil(double? ...
85.IO操作入门
- 博客分类:
- Java软件编程学习杂谈
- java技术
多数应用程序在运行过程中要与用户进行交互,通常的交互方式是:用户使用键盘作为标准输入设备向程序中输入数据,程序利用计算机显示器屏幕做为标准输出设备显示输出数据。这种程序被称为控制台应用程序,这种输入/输出被称为标准I/O或控制台I/O(Input/Output)。
java.lang.System类的三个类成员提供了有关的I/O操作功能:
System.out提供向“标准输出”写出数据的功能,out是System中的一个static final的PrintStream类型变量,它会被初始化关联到运行Java程序的终端窗口。可以通过System类的setOut()方法来改变默认的标准输出流;S ...
84.系统属性操作
- 博客分类:
- Java软件编程学习杂谈
- 闲谈软件开发
这里首先要说明的是,Java并不能够直接操作底层操作系统的属性,进行设置。这里的系统属性,指的是Java运行环境变量。
在JDK与JRE在操作系统上进行安装的时候,已经对系统的各种环境信息进行辨析并记录在专门的文件里面。
虽然说Java是与平台无关的语言,但是在一些特殊操作中,还是需要对当前进行运行的平台进行判断和分析,所以这方面的操作需要了解一些。
在Java中,系统属性起到替代环境变量的作用,或者说,系统属性就是Java的环境变量,它是又一种将运行时Java程序的相关信息参数化的机制。
具体的说,系统属性是一种“键--值”对,包括属性名、属性值及其映射关系, ...
到此为止,有关Java编程基础语法部分的内容就结束了。
之后开始JavaSE编程相关的一些入门内容,以及一些有关Java API编程的内容。
82.处理异常
- 博客分类:
- java技术
- Java软件编程学习杂谈
1.常见异常
下面列出了一些常见的异常:RuntimeExceptionArithmeticException:数学计算异常ArrayIndexOutOfBoundsException:数组越界异常NullPointerException:空指针异常NegativeArraySizeException:负数组长度异常ClassCastException:造型异常Illgal ...
没有人敢保证说它写的程序永远没有错。即使写的程序没有错,也不要指望你的用户能按照你的意愿来执行程序,比如,你不要指望用户的网络是畅通的,你不要指望你需要的某个文件一定会在它应该存在的位置,你不要期待用户一定会在需要数字的地方输入数字而不是字母甚至更奇怪的符号。
作为程序设计人员,你应该尽可能多的去想象可能会碰到的错误、尽可能糟糕地去考虑用户不规范的输入、尽可能的取考虑运行环境的恶劣,所谓“有备无患”,不要等到出了问题再去补救。
但是,且慢,我们需要针对每一个错误都自己去编写错误处理程序么?在一些编程语言中,答案也许是的,或许也没有这么糟糕,而对于Java,答案是“否”,基本上,Java ...
我们学习了不少的修饰符,如用于访问控制的public、protected、private等。到此为止,我们已经将Java中比较常用的编程概念讲述完了。
现在将这些修饰符可以适用的地方作一个简单的总结。其中,public、protected、Default和private是互斥的修饰符,它们只能选择其中之一作为某个特征的修饰符。其他几个都可以混合使用。
protected和private可以用于修饰内部类。
关键字
class
属性
方法
构造器
自由块
内部类
public
79.内部类
- 博客分类:
- java技术
- Java软件编程学习杂谈
今天来说说一个非常特殊的类——内部类。
在实际的开发中,比较常用到的,一方面是Java图形开发的事件处理中,另一方面,在Spring应用开发中,会大量用到,在Spring框架本身,就大量使用了匿名内部类,通过回调方法实 ...
78.对象造型
- 博客分类:
- java技术
- Java软件编程学习杂谈
在讲述数据类型的时候,我们已经知道,各种简单数据类型之间是可以进行相互转换的,有些转换可以通过系统自动完成,而有些转换必须在程序中通过强制转换来完成。
而对于引用类型,也有一个相互转换的机制。同样的,在引用类型数据进行转换的时候,分为自动造型和强制造型两种情况。
当从子类转换成父类的时候(或者实现类转换成接口,下同),造型可以自动完成,比如,Teacher是Person的子类,则如果将一个Teacher对象赋给一个Person类型的变量的时候,造型自动完成。
当从父类转换成子类的时候(或者接口转换成实现类),必须使用强制造型,比如,Teacher是Person的子类,如果需要将一个P ...
Java语言的多态性机制导致了引用变量的声明类型和其实际引用对象的类型可能不一致,再结合虚方法调用规则可以得出下述结论:声明为同种类型的两个引用变量调用同一个方法时也可能会有不同的行为(前面的虚方法调用)。
为更准确地鉴别一个对象的真正类型,Java语言引入了instanceof操作符,其使用格式为:<引用类型变量> instanceof <引用类型>
这是一个boolean类型的表达式,当instanceof左侧的引用类型变量所引用对象的实际类型是其右侧给出的类型或其子类类型时,整个表达式的结果为true,否则为false。
我们来看一个例子,请看下面这些类 ...
我们前面已经知道了,在多态的情况下,声明为父类类型的引用变量只能访问父类中定义过的方法,但如果此变量实际引用的是子类的对象,而子类中又进行了方法覆盖时,实际调用的是子类中覆盖后的方法,这种机制称为虚方法调用。
在使用多态的情况下,有可能出现编译时类型和运行时的类型不一致的问题,如上面的例子中:public class CalClass{ .. … public int calPersonBirthYear(Person p) { // 根据参数p的年龄来计算出生年代 }}
在编译的时候,方法calPersonBirthYear 的参数类型是Person的,而在运行的时候,可能就是Stude ...