Java 数组的的程序.docx
《Java 数组的的程序.docx》由会员分享,可在线阅读,更多相关《Java 数组的的程序.docx(14页珍藏版)》请在冰点文库上搜索。
Java数组的的程序
四、【实验原理】或【实验任务】:
1.编写一个声明Java不同数据类型变量的程序。
2.编写一个使用运算符、表达式、变量的程序。
3.编写一个使用Java数组的的程序。
4.编写表达式语句、复合语句的程序。
5.编写使用不同选择结构的程序。
6.编写使用不同循环结构结构的程序。
五、【上机步骤】:
(一)声明不同数据类型的变量:
1.编写声明不同数据类型变量的程序文件KY2_1.java,源代码如下。
publicclassKY2_1{
publicstaticvoidmain(Stringargs[]){
byteb=0x55;
shorts=0x55ff;
inti=1000000;
longl=0xffffL;
charc='a';
floatf=0.23F;
doubled=0.7E-3;
booleanB=true;
StringS="这是字符串类数据类型";
System.out.println("字节型变量b="+b);
System.out.println("短整型变量s="+s);
System.out.println("整型变量i="+i);
System.out.println("长整型变量l="+l);
System.out.println("字符型变量c="+c);
System.out.println("浮点型变量f="+f);
System.out.println("双精度变量d="+d);
System.out.println("布尔型变量B="+B);
System.out.println("字符串类对象S="+S);
}
}
运行结果如图所示:
2.编译并运行该程序:
(二)了解变量的使用范围:
1.建立KY2_2.java文件,通过本程序了解变量的使用范围,源代码如下。
publicclassKY2_2{
staticinti=10;
publicstaticvoidmain(Stringargs[]){
{
intk=10;
System.out.println("i="+i);
System.out.println("k="+k);
}
System.out.println("i="+i);
System.out.println("k="+k);
//编译时将出错,已出k的使用范围
}
}
2.编译KY2_2.java
此时会出现错误提示。
因为变量k在方法块中声明,在方法块之外它是不存在的,所以编译时会出错:
3.修改上面的程序:
4.成功运行该程序:
思考:
KY2_2.java程序说明了什么问题?
(三)使用关系运算符和逻辑运算符:
1.建立使用关系运算符和逻辑运算符的程序文件,源代码如下。
classKY2_3{
publicstaticvoidmain(Stringargs[]){
inta=25,b=20,e=3,f=0;
booleand=a
System.out.println("a=25,b=20,e=3,f=0");
System.out.println("因为关系表达式a
"+d);
if(e!
=0&&a/e>5)
System.out.println("因为e非0且a/e为8大于5,所以输出a/e="+a/e);
if(f!
=0&&a/f>5)
System.out.println("a/f="+a/f);
else
System.out.println("因为f值为0,所以输出f="+f);
}
}
2.编译并运行该程序,结果如图所示:
(四)使用表达式语句与复合语句:
1.建立包含表达式语句程序,源代码如下。
classKY2_4{
publicstaticvoidmain(String[]args){
intk,i=3,j=4;
k=20*8/4+i+j*i;
System.out.println("表达式(20*8/4+i+j*i)="+k);
}
}
运行结果如图所示:
2.建立包含复合语句程序,源代码如下。
classKY2_5{
publicstaticvoidmain(Stringargs[]){
intk,i=3,j=4;
k=i+j;
System.out.println("在复合块外的输出k="+k);
{
floatf;
f=j+4.5F;
i++;
System.out.println("在复合块内的输出f="+f);
System.out.println("在复合块内的输出k="+k);
}
System.out.println("在复合块外的输出i="+i);
}
}
3.运行结果如图所示:
4.将变量i在块内定义会怎样?
改变其他变量的位置看看会发生什么变化。
思考:
指出程序的复合结构以及变量的使用范围。
(五)使用选择语句:
1.使用if...else语句
♦程序功能:
使用if...else语句构造多分支,判断某一年是否为闰年。
闰年的条件是符合下面二者之一:
能被4整除,但不能被100整除;能被4整除,又能被100整除。
♦编写源程序文件,代码如下。
publicclassKY2_6{
publicstaticvoidmain(Stringargs[]){
booleanleap;
intyear=2005;
if((year%4==0&&year%100!
=0)||(year%400==0))//方法1
System.out.println(year+"年是闰年");
else
System.out.println(year+"年不是闰年");
year=2008;//方法2
if(year%4!
=0)
leap=false;
elseif(year%100!
=0)
leap=true;
elseif(year%400!
=0)
leap=false;
else
leap=true;
if(leap==true)
System.out.println(year+"年是闰年");
else
System.out.println(year+"年不是闰年");
year=2050;//方法3
if(year%4==0){
if(year%100==0){
if(year%400==0)
leap=true;
else
leap=false;
}
else
leap=false;
}
else
leap=false;
if(leap==true)
System.out.println(year+"年是闰年");
else
System.out.println(year+"年不是闰年");
}
}
♦运行结果如图所示:
♦
思考:
本程序中有几个选择语句,哪些具有嵌套关系?
2.使用switch语句
♦程序功能:
在不同温度时显示不同的解释说明。
♦程序源代码如下。
classKY2_7{
publicstaticvoidmain(Stringargs[]){
intc=38;
switch(c<10?
1:
c<25?
2:
c<35?
3:
4){
case1:
System.out.println(""+c+"℃有点冷。
要多穿衣服。
");
case2:
System.out.println(""+c+"℃正合适。
出去玩吧。
");
case3:
System.out.println(""+c+"℃有点热。
");
default:
System.out.println(""+c+"℃太热了!
开空调。
");
}
}
}
♦运行结果如图所示:
(六)使用循环语句:
1.for循环语句练习
♦程序功能:
按5度的增量打印出一个从摄氏温度到华氏温度的转换表。
♦程序源代码如下。
classKY2_8{
publicstaticvoidmain(Stringargs[]){
inth,c;
System.out.println("摄氏温度华氏温度");
for(c=0;c<=40;c+=5){
h=c*9/5+32;
System.out.println(""+c+""+h);
}
}
}
编译并运行程序,其结果如图所示:
2.while循环语句练习
♦程序功能:
运行程序后从键盘输入数字1/2/3后,可显示抽奖得到的奖品;如果输入其它数
♦字或字符显示“没有奖品给你!
”。
♦程序源代码如下。
importjava.io.*;
classKY2_9{
publicstaticvoidmain(Stringargs[])throwsIOException{
charch;
System.out.println("按1/2/3数字键可得大奖!
");
System.out.println("按空格键后回车可退出循环操作.");
while((ch=(char)System.in.read())!
='')
{
System.in.skip
(2);//跳过回车键
switch(ch){
case'1':
System.out.println("恭喜你得大奖,一辆汽车!
");
break;
case'2':
System.out.println("不错呀,你得到一台笔记本电脑!
");
break;
case'3':
System.out.println("没有白来,你得到一台冰箱!
");
break;
default:
System.out.println("真不幸,你没有奖品!
下次再来吧。
");
}
}
}
}
♦编译源程序。
♦在命令提示符窗口运行程序,然后分别按1、2、3、r,记录结果:
♦
3.do…while循环语句练习
♦程序功能:
求1+2+…+100之和,并将求和表达式与所求的和显示出来。
♦程序源代码如下。
classKY2_10{
publicstaticvoidmain(Stringargs[]){
intn=1,sum=0;
do{
sum+=n++;
}
while(n<=100);
System.out.println("1+2+...+100="+sum);
}
}
♦运行及如果如图所示;
♦:
4.多重循环练习
♦输出九九乘法表的程序,源代码如下。
publicclassKY2_11
{
publicstaticvoidmain(Stringargs[])
{
inti,j,n=9;
System.out.print("*|");
for(i=1;i<=n;i++)
System.out.print(""+i);
System.out.print("\n-------|");
for(i=1;i<=n;i++)
System.out.print("----");
System.out.println();
for(i=1;i<=n;i++)
{
System.out.print(""+i+"|");
for(j=1;j<=i;j++)
System.out.print(""+i*j);
System.out.println();
}
}
}
♦运行结果如图所示:
♦
【实验总结】:
1.了解了各种变量的声明、定义;尤其是静态变量的声明和定义;
2.区分了全局变量和局部变量的作用范围;
3.掌握了一些Java程序的基本数据类型、运算符与表达;
4.理解Java程序的语法结构(顺序结构、选择结构和循环结构)的程序设计方法;