java打印文档格式.docx
《java打印文档格式.docx》由会员分享,可在线阅读,更多相关《java打印文档格式.docx(53页珍藏版)》请在冰豆网上搜索。
●Applet的局限性
在客户端主机的文件系统中读/写受限
不能运行客户端主机的任何程序
仅能在服务器和客户端之间建立联系
三常见运算符标识符:
标识符是一个名称,与内存中的某个位置(地址)相对应
标识符的第一个字符必须是下列字符之一:
●大写字母(A-Z)
●小写字母(a-z)
●下划线(_)
●美元符号($)
标识符的第二个字符及后继字符必须是:
●上述列表中的任意字符
●数字字符(0-9)
第二章类与对象的基本概念
一类的定义:
●类
将属性及行为相同或相似的对象归为一类
类可以看成是对象的抽象,代表了此类对象所具有的共有属性和行为
在面向对象的程序设计中,每一个对象都属于某个特定的类,
二访问权限:
●单继承
任何一个派生类都只有单一的直接父类
类层次结构为树状结构
●多继承
一个类可以有一个以上的直接父类
类层次结构为网状结构,设计及实现比较复杂
●Java语言仅支持单继承
●声明形式
[public][abstract|final]class类名称
[extends父类名称]
[implements接口名称列表]
{
变量成员声明及初始化;
方法声明及方法体;
}
●修饰符
可以有多个,用来限定类的使用方式
public
●表明此类为公有类
abstract
●指明此类为抽象类
final
●指明此类为终结类
●类声明体
变量成员声明及初始化
●可以有多个
方法声明及方法体
●对象的创建
生成实例的格式:
new<
类名>
()
例如:
aclock=newClock()
其作用是:
●在内存中为此对象分配内存空间
●返回对象的引用(reference,相当于对象的存储地址)
引用变量可以被赋以空值
例如:
aclock=null;
声明格式
[public|protected|private]
[static][final][transient][volatile]
变量数据类型变量名1[=变量初值],
变量名2[=变量初值],…;
格式说明
●public、protected、private为访问控制符
●static指明这是一个静态成员变量
●final指明变量的值不能被修改
●transient指明变量是临时状态
●volatile指明变量是一个共享变量
●类变量
也称为静态变量,声明时需加static修饰符
不管类的对象有多少,类变量只存在一份,在整个类中只有一个值
类初始化的同时就被赋值
适用情况
●类中所有对象都相同的属性
●经常需要共享的数据
●系统中用到的一些常量值
引用格式
<
类名|实例名>
.<
类变量名>
●实例变量和类变量都可被声明为final
●final实例变量必须在每个构造方法结束之前赋初值,以保证使用之前会被初始化
●final类变量必须在声明的同时初始化
[static][final][abstract][native][synchronized]
返回类型方法名([参数列表])[throwsexceptionList]
{
方法体
}
●方法修饰
•public、protected、private为存取控制符
•static指明方法是一个类方法
•final指明方法是一个终结方法
•abstract指明方法是一个抽象方法
•native用来集成java代码和其它语言的代码
•synchronized用来控制多个并发线程对共享数据的访问
●类的访问控制
类的访问控制只有public(公共类)及无修饰符(缺省类)两种
访问权限符与访问能力之间的关系如表
类型
无修饰
public
同一包中的类
yes
不同包中的类
no
●类成员的访问控制
公有(public)
●可以被其他任何对象访问(前提是对类成员所在的类有访问权限)
保护(protected)
●只可被同一类及其子类的实例对象访问
私有(private)
●只能被这个类本身访问,在类外不可见
默认(default)
●仅允许同一个包内的访问;
又被称为“包(package)访问权限”
三构造方法的调用
●构造方法
一种和类同名的特殊方法
用来初始化对象
Java中的每个类都有构造方法,用来初始化该类的一个新的对象
没有定义构造方法的类,系统自动提供默认的构造方法
●构造方法的特点
方法名与类名相同
没有返回类型,修饰符void也不能有
通常被声明为公有的(public)
可以有任意多个参数
主要作用是完成对象的初始化工作
不能在程序中显式的调用
在生成一个对象时,系统会自动调用该类的构造方法为新生成的对象初始化
第三章类的方法
一流程控制:
(****)
●程序举例:
例3.1
输入一个年份,判断它是不是闰年。
闰年:
能被4整除但不能被100整除,或者能被400整除。
publicclassex3_1
{
publicstaticvoidmain(String[]args)throwsIOException{
intyear;
booleanIsLeapYear;
System.out.println("
Entertheyear:
"
);
BufferedReaderin=newBufferedReader(
newInputStreamReader(System.in));
year=(newInteger(in.readLine())).intValue();
IsLeapYear=((year%4==0&
&
year%100!
=0)||(year%400==0));
if(IsLeapYear)
System.out.print(year);
System.out.println("
isaleapyear"
else
isnotaleapyear"
}
●例3.2输入两个整数比较大小
importjava.io.*;
publicclassex3_2
publicstaticvoidmain(String[]args)throwsIOException
{
intx,y;
BufferedReaderin=newBufferedReader(
Enterxandy:
x=(newInteger(in.readLine())).intValue();
y=(newInteger(in.readLine())).intValue();
if(x!
=y)
if(x>
y)System.out.println("
x>
y"
elseSystem.out.println("
x<
x=y"
●计算每个月的天数
staticintdaysInMonth(intmonth){
if(month==2)
return(28);
elseif((month==4)||(month==6)||(month==9)||(month==11))
return(30);
elsereturn(31);
●已知一个学生的分数,给出其分数等级。
90-100分为A级;
80-89分为B级;
70-79分为C级;
60-69分为D级;
0-59分为E级
publicclassIfElseDemo{
publicstaticvoidmain(String[]args){
inttestscore=76;
chargrade;
if(testscore>
=90){grade='
A'
;
elseif(testscore>
=80){grade='
B'
}
elseif(testscore>
=70){grade='
C'
=60){grade='
D'
else{grade='
F'
Grade="
+grade);
程序输出:
Grade=C
●使用switch结构计算每个月的天数
intdays;
switch(month){
case2:
days=28;
break;
case4:
case6:
case9:
case11:
days=30;
default:
days=31;
return(days);
●用switch语句实现成绩分类的功能
publicclassGrade{
publicstaticchargradeLevel(doubleg){
intn=(int)(g/10);
switch(n){
case10:
case9:
return('
case8:
case7:
case6:
default:
E'
publicstaticvoidmain(String[]args){System.out.println("
gradeLeve