java源程序Word文档格式.docx
- 文档编号:22053620
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:24
- 大小:24.10KB
java源程序Word文档格式.docx
《java源程序Word文档格式.docx》由会员分享,可在线阅读,更多相关《java源程序Word文档格式.docx(24页珍藏版)》请在冰豆网上搜索。
+
"
b="
+b+"
+"
s="
+s+"
i="
+i+"
l="
+l+"
f="
+f+"
d="
+d);
//在显示器上输出各个变量的值
bool="
+bool);
ch="
+ch+"
c="
+c);
//输出char型变量的值,以及它对应的ASCII码
s1="
+s1+"
s1_length="
+s1_length);
//输出字符串的内容及其长度
for(intj=0;
j<
str.length;
j++){
System.out.println("
str["
+j+"
]="
+str[j]);
}
//使用for循环语句输出字符串数组的元素,length方法能够获得数组的长度
}
运行结果:
CONST_NUM=5b=3s=5i=12l=35f=1.5d=5.68
bool=true
ch=ac=97
s1=HelloWorld!
s1_length=12
str[0]=Shanghai
str[1]=Beijing
str[2]=Wuhan
str[3]=Guangzhou
str[4]=Shenzhen
程序分析:
该程序定义了一个名为L3_1的公共类,因此该源程序的文件名必须与公共类的名称相同,即为L3_1.java,而且要注意大小写一定要完全一致。
编辑好该源程序后,就可以在DOS环境下编译了,在DOS提示符后输入编译命令javacL3_1.java,如果源程序没有错误并被编译通过,在文件夹中会生成一个编译好的字节码文件L3_1.class,DOS提示符会重新显示出来,这时就可以运行该字节码文件了。
输入运行命令javaL3_1,这时会在屏幕上显示上面的运行结果。
例3.2综合实例分析:
在表达式中正确使用运算符(源程序L3_2.java)
//表达式综合实例,在表达式中正确使用运算符
publicclassL3_2{
publicstaticvoidmain(Stringargs[]){
inti=1;
//一元运算符中的自加和自减运算
i++="
+(i++)+"
++i="
+(++i));
i--="
+(i--)+"
--i="
+(--i));
intj=5/3;
//两个整数相除,结果是整数
doublek=5.0/3.0;
//两个浮点数相除,结果是浮点数
5/3="
5.0/3.0="
+k);
intp=5%3;
//两个整数相除取余数,余数为整数
doubleq=5.5%3.2;
//两个浮点数相除取余数,余数为浮点数
5%3="
+p+"
5.5%3.2="
+q);
Iam"
Strings2="
astudent."
Strings3=s1+s2;
//+运算符可以用在字符串连接运算中
s3=s1+s2="
+s3);
if(s1instanceofString){//判断s1是否是String类的实例
s1isaninstanceofStringclass"
);
else{
siisnotaninstanceofStringcalss"
//短路运算符的使用
if(!
(5<
0&
&
5/0>
0)){//5<
0为假,&
后面的条件将不再判断,因此也不抛出列外
isashort-circuitoperator"
if(5>
0||5/0>
0){//5>
0为真,||后面的条件将不再判断,因此也不抛出例外
||isashort-circuitoperator"
inta=bool?
5:
3;
//三元运算符,bool为真,则a=5;
否则,a=3
a=bool?
3"
a="
+a);
for(intx=0;
x<
5;
x++){
x+=2;
//赋值运算符的使用,等价于x=x+2
System.out.print("
x="
+x+"
}
}
i++=1++i=3
i--=3--i=1
5/3=15.0/3.0=1.6666666666666667
5%3=25.5%3.2=2.3
s3=s1+s2=Iamastudent.
s1isaninstanceofStringclass
isashort-circuitoperator
||isashort-circuitoperator
3a=5
x=2x=5
例3.3判断某一年是否为闰年(源程序L3_3.java。
)
闰年的条件是符合下面二者之一:
1能被4整除,但不能被100整除;
2能被4整除,又能被100整除。
源程序如下:
//判断某一年是否为闰年
importjava.io.*;
publicclassL3_3{
publicstaticvoidmain(Stringargs[])throwsIOException{
//从键盘读入一个整型数据
intyear=0;
System.out.print("
pleaseenteranintegernumberastheyearnumber:
BufferedReaderin=newBufferedReader(newInputStreamReader(System.in));
Strings=in.readLine();
year=Integer.parseInt(s);
//方法一:
用逻辑表达式判断闰年的所有成立条件
//使用了一个if-else语句
if((year%4==0&
year%100!
=0)||(year%400==0)){
System.out.println(year+"
isaleapyear."
else{
isnotaleapyear."
//方法二:
使用了if-else语句的特殊形式,对多个条件分支进行选择
//leap是一个标志,某一年是闰年,就标志为true,否则为false
booleanleap;
if(year%4!
=0)
leap=false;
elseif(year%100!
leap=true;
elseif(year%400!
else
if(leap==true){
//方法三:
if-else语句的嵌套使用
//else语句不能单独使用,只能和最近的if语句配套使用
//使用{}对if-else进行匹配
if(year%4==0){
if(year%100==0){
if(year%400==0)
leap=true;
else
leap=false;
}
2000
2000isaleapyear.
本例中使用了if-else语句的三种不同形式实现了同一功能,即判断某一年是否为闰年。
程序前面的几行是从键盘读取一个年份的数字,其中用到了数据流的概念,在这里读者可以不必深究。
throws语句是用来处理例外的,后面的章节会陆续讲到。
例3.4根据输入的考试成绩等级打印出百分制分数段,A为85~100,B为70~84,C为60~69,D为60分以下。
(源程序L3_4.java)。
//根据考试成绩的等级打印百分制分数段
publicclassL3_4{
publicstaticvoidmain(Stringargs[])throwsIOException{
//从键盘读取考试成绩的等级grade
chargrade;
pleaseenterthegradelevel(A~D):
grade=(char)System.in.read();
//从键盘读入一个字符
//第一种情况
System.out.println("
\n****firstsituation****"
switch(grade){
case'
A'
:
System.out.println(grade+"
is85~100."
break;
B'
is70~85."
C'
is60~69."
D'
is<
60."
default:
inputerror!
//第二种情况
\n****secondsituation****"
//第三种情况
\n****thirdsituation****"
is>
=60."
System.out.println("
C
****firstsituation****
Cis60~69.
****secondsituation****
Cis<
60.
****thirdsituation****
Cis>
=60.
本例是对switch多分支条件语句的使用,该语句根据表达式的值执行多个操作中的一个。
其中switch后面表达式的值一定要是一个常量,而且只能是char型和除long以外的整数数据。
Switch语句把表达式返回的值与每一个case子句中的值相比,如果匹配成功,则执行该case子句后面的操作。
例3.5用三种循环语句实现从1到100的求和运算。
(源程序L3_5.java。
//分别用三种循环语句求1~100的和
publicclassL3_5{
//while循环
\n****while循环****"
intn=100,sum=0;
//初始化
while(n>
0){//执行循环体的条件
sum+=n;
//循环体
n--;
//迭代部分
sumis"
+sum);
//do-while循环
\n****do-while循环****"
n=0;
sum=0;
//初始化
do{
n++;
}while(n<
=100);
//执行循环体的条件
//for循环
\n****for循环****"
sum=0;
//初始化
for(inti=1;
i<
=100;
i++){//初始化、执行循环体的条件、迭代部分
sum+=i;
****while循环****
sumis5050
****do-while循环****
****for循环****
本例分别用三种方法实现了从1到100的求和运算。
从程序的源代码注释中,可以明确的看出每种循环语句包含的四部分内容。
例3.6用循环的嵌套求出1~100内的所有素数,并以每行10个的格式显示出来。
素数就是只能被1和它本身整除的数。
(源程序L3_6.java)。
//求1~100之间的所有素数
publicclassL3_6{
1到100之间所有的素数"
intn=0;
outer_loop:
for(inti=3;
100;
i+=2){//外层循环
for(intj=2;
i;
j++){//内层循环
if(i%j==0)
//当条件不成立时,退出内层循环,执行外层循环
continueouter_loop;
//一行输出10个数字,大于10个换行输出
System.out.print("
"
+i);
if(n<
10)
continue;
//当一行不满10个时,继续执行外层循环
//后面的语句并不执行
System.out.println();
//换行
System.out.println();
1到100之间所有的素数
35711131719232931
37414347535961677173
79838997
在源程序中,外层循环用来选取要进行检测的数字,由于偶数肯定不是素数,所以增量为2。
在内层循环中用2到该数-1的整数去整除这个数字,如果能被其中的某个数字整除,则该数不是素数,此时用continue语句跳出内层循环,另外选一个数字来判定。
程序用outer_loop标志出了外层循环的位置,因此continue语句后面直接跟上outer_loop,表示回到外层循环。
在后面的格式化输出中,也用到了一个continue语句,由于这条语句本身就在外层循环中,因此无需明确指定要继续的是哪层循环,只写一个continue就能实现功能了,如果明确写出,会更加清晰明了。
例3.7举例说明对象、类和方法的使用。
(源程序L3_7.java)
//对象、类和方法的使用
//定义一个Point类
classPoint{
intx,y;
//x,y是Point类的两个int型实例变量,作用域为整个类
Stringname="
apoint"
//name是Point类的一个字符串变量
Point(){//Point类的构造方法,与类同名,没有返回类型
x=0;
y=0;
Point(intx,inty,Stringname){//Point类带参数的构造方法,重载了无参的Point方法
this.x=x;
//this是一个特殊的实例值,在实例方法内指向当前的对象
this.y=y;
//点操作符(.)用来引用一个对象的实例变量或实例方法
this.name=name;
intgetX(){//实例方法的定义,返回类型int型的值
returnx;
//实例方法可以直接访问实例变量
intgetY(){
returny;
voidmove(intnewX,intnewY){//实例方法,返回类型为空,给原始点一个新的坐标
x=newX;
y=newY;
PointnewPoint(Stringname){//实例方法,返回类型为Point型
//用new操作符创建一个Point类的对象
PointnewP=newPoint(-x,-y,name);
//newP即为Point类的一个对象
//在实例方法中可以直接访问同一个类中的实例变量和实例方法
returnnewP;
//返回原始点的对称点
booleanequal(intx,inty){//实例方法,返回一个布尔值
if(this.x==x&
this.y==y)
returntrue;
returnfalse;
voidprint(){//实例方法,实现屏幕输出,输出点的坐标
System.out.println(name+"
x="
y="
+y);
//创建程序的公共类和main方法
publicclassL3_7{
//创建Point类的对象p,并调用无参构造方法给对象初始化
Pointp=newPoint();
p.print();
//用点操作符调用对象的方法,输出点的坐标
p.move(50,50);
//将原始点移动到一个新的坐标
****aftermoving****"
Gexxandydirectly"
+p.x+"
+p.y);
//输出移动后的坐标
orGetxandybycallingmethod"
+p.getY()+"
+p.getY());
//调用对象的方法返回点的坐标
if(p.equal(50,50))
Ilikethispoint!
Ihateit!
//调用newPoint方法创建新对象,并输出点的坐标
p.newPoint("
anewpoint"
).print();
//用new操作符生成了一个无名对象,并用带参构造方法进行初始化
//用点操作符调用该无名对象的print方法,输出点的坐标
newPoint(10,15,"
anothernewpoint"
apoint:
x=0y=0
****aftermoving****
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 源程序