实验 1 Java语言的基本语句练习.docx

上传人:b****5 文档编号:30707688 上传时间:2023-08-19 格式:DOCX 页数:20 大小:126.76KB
下载 相关 举报
实验 1 Java语言的基本语句练习.docx_第1页
第1页 / 共20页
实验 1 Java语言的基本语句练习.docx_第2页
第2页 / 共20页
实验 1 Java语言的基本语句练习.docx_第3页
第3页 / 共20页
实验 1 Java语言的基本语句练习.docx_第4页
第4页 / 共20页
实验 1 Java语言的基本语句练习.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

实验 1 Java语言的基本语句练习.docx

《实验 1 Java语言的基本语句练习.docx》由会员分享,可在线阅读,更多相关《实验 1 Java语言的基本语句练习.docx(20页珍藏版)》请在冰豆网上搜索。

实验 1 Java语言的基本语句练习.docx

实验1Java语言的基本语句练习

实验1Java语言的基本语句练习

一、实验目的

1.了解Java的数据类型

2.掌握各种变量的声明方式。

3.理解运算符的优先级。

4.掌握Java基本数据类型、运算符与表达式、数组的使用方法。

5.理解Java程序语法结构,掌握顺序结构、选择结构和循环结构语法的程序设计方法。

6.通过以上内容,掌握Java语言的编程规则。

二、实验要求

1.编写一个声明Java不同数据类型变量的程序。

2.编写一个使用运算符、表达式、变量的程序。

3.编写一个使用Java数组的的程序。

4.编写表达式语句、复合语句的程序。

5.编写使用不同选择结构的程序。

6.编写使用不同循环结构结构的程序。

三、实验内容

(一)声明不同数据类型的变量

1.编写声明不同数据类型变量的程序文件。

public class LX2_1 {

public static void main(String args[]) {

byte b=0x55;

short s=0x55ff;

int i=1000000;

long l=0xffffL;

char c='a';

float f=0.23F;

double d=0.7E-3;

boolean B=true;

String S="这是字符串类数据类型";

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.建立LX2_2.java文件,通过本程序了解变量的使用范围,源代码如下。

publicclassLX2_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.编译LX2_2.java

此时会出现错误提示如图2.2所示。

因为变量k在方法块中声明,在方法块之外它是不存在的,所以编译时会出错。

图2.2

3.修改上面的程序,使其运行正确。

4.成功运行该程序。

思考:

LX2_2.java程序说明了什么问题?

成员变量在整个类内有效,其有效性与它书写的先后位置无关,

局部变量只在方法内有效,而且与其声明的位置有关。

(三)使用关系运算符和逻辑运算符

1.建立使用关系运算符和逻辑运算符的程序文件,源代码如下。

classLX2_3{

publicstaticvoidmain(Stringargs[]){

inta=25,b=20,e=3,f=0;

booleand=a

}

2.补充上面的程序代码,编译并运行该程序,结果如图2.3所示。

图2.3

(四)使用数组

1.建立使用数组的程序,本程序建立了一个长度为5的1维数组,一个长度为12的2维数组,

源代码如下:

public class LX2_4 {

public static void main(String args[]) {

int a[]=new int[5];

int arr1[][]=new int[3][4];

a[0]=10;

a[1]=10+a[0];

a[2]=30;

a[3]=40;

a[4]= a[1]+ a[2];

arr1[0][0]=0; arr1[0][1]=1; arr1[0][2]=2;

arr1[1][0]=3; arr1[1][1]=4; arr1[1][2]=5;

arr1[2][0]=6; arr1[2][1]=7; arr1[2][2]=8;

System.out.println("a["+0+"] = "+a[0]);

System.out.println("a["+1+"] = "+a[1]);

System.out.println("a["+2+"] = "+a[2]);

System.out.println("a["+3+"] = "+a[3]);

System.out.println("a["+4+"] = "+a[4]);

System.out.println("arr1("+0+","+0+") = "+arr1[0][0]);

System.out.println("arr1("+0+","+1+") = "+arr1[0][1]);

System.out.println("arr1("+0+","+2+") = "+arr1[0][2]);

System.out.println("arr1("+1+","+0+") = "+arr1[1][0]);

System.out.println("arr1("+1+","+1+") = "+arr1[1][1]);

System.out.println("arr1("+1+","+2+") = "+arr1[1][2]);

}

}

2.编译并运行程序,结果如图2.4所示。

图2.4

(五)使用表达式语句与复合语句

1.建立包含表达式语句程序,源代码如下。

classLX2_5{

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.建立包含复合语句程序,源代码如下。

classLX2_6{

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.编译并运行上述两个源程序,结果如图2.5、2.6所示。

图2.5图2.6

4.将变量i在块内定义会怎样?

改变其他变量的位置看看会发生什么变化。

思考:

指出程序的复合结构以及变量的使用范围。

定义变量可能有三种情况:

 

(1)在函数的开头定义;

(2)在函数内的复合语句内定义.;

(3)在函数的外部定义.;

 在一个函数内部定义的变量只在本函数范围内有效,也就是说只有在本函数内才能引用它们,在此函数以外是不能使用这些变量的.在复合语句内定义的变量只在本复合语句范围内有效,只有在本复合语句内才能引用它们.在该复合语句以外是不能使用这些变量的.以上这些成为"局部变量".

程序的编译单位是源程序文件,一个源文件可以包含一个或若干个函数.在函数内定义的变量是局部变量,而在函数之外定义的变量称为外部变量,外部变量是全局变量(也称全程变量).全局变量可以为本文件中其他函数所共用.它的有效范围为从定义变量的位置开始到本源文件结束.

Java有两种变量bai范围:

全局和局部du。

如果在任何函数定义之外声明了一zhi个变量,则该变量为全局变量,且dao该变量的值在整个持续范围内都可以访问和修改。

如果在函数定义内声明了一个变量,则该变量为局部变量。

每次执行该函数时都会创建和破坏该变量;且它不能被该函数外的任何事物访问。

(六)使用选择语句

1.使用if...else语句

(1)程序功能:

使用if...else语句构造多分支,判断某一年是否为闰年。

闰年的条件是符合下面二者之一:

能被4整除,但不能被100整除;能被4整除,又能被100整除。

(2)编写源程序文件,代码如下。

publicclassLX2_7{

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;

elseleap=true;

if(leap==true)

System.out.println(year+"年是闰年");

elseSystem.out.println(year+"年不是闰年");

if(leap==true)System.out.println(year+"年是闰年");

elseSystem.out.println(year+"年不是闰年");

}

}

(3)补充上面的程序代码,编译运行程序,列出运行结果

public class LX2_7 {

public static void main(String args[]) {

boolean leap;

int year=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;

else if (year%100!

=0) leap=true;

else if (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语句

(1)程序功能:

在不同温度时显示不同的解释说明。

(2)程序源代码如下。

classLX2_8{

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+"℃太热了!

开空调。

");

}

}

}

(3)编译运行程序,其结果如图2.8所示。

图2.8

修改后程序:

classLX2_8{

publicstaticvoidmain(Stringargs[]){

intc=38;

switch(c<10?

1:

c<25?

2:

c<35?

3:

4){

case1:

System.out.println(""+c+"℃有点冷。

要多穿衣服。

");

break;

case2:

System.out.println(""+c+"℃正合适。

出去玩吧。

");

break;

case3:

System.out.println(""+c+"℃有点热。

");

break;

default:

System.out.println(""+c+"℃太热了!

开空调。

");

break;

}

}

}

(七)使用循环语句

1.for循环语句练习

(1)程序功能:

按5度的增量打印出一个从摄氏温度到华氏温度的转换表。

(2)程序源代码如下。

classLX2_9{

publicstaticvoidmain(Stringargs[]){

int h,c;

System.out.println("摄氏温度华氏温度 ");

for (c=0; c<=40; c+=5) {

h=c*9/5+32;

System.out.println(" "+c+" "+h);

}

}

(3)补充上面的程序代码,编译并运行程序,其结果如图2.9所示。

图2.9

2.while循环语句练习

(1)程序功能:

运行程序后从键盘输入数字1/2/3后,可显示抽奖得到的奖品;如果输入其它数字或字符显示“没有奖品给你!

”。

(2)编译源程序。

import java.io.*;

class LX2_10 {

 

public static void main(String args[]) throws IOException {

char ch;

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("真不幸,你没有奖品!

 下次再来吧。

 ");

}

}

}

}

(3)在命令提示符窗口运行程序,然后分别按1、2、3、r结果如图2.10所示。

图2.10

3.do…while循环语句练习

(1)程序功能:

求1+2+…+100之和,并将求和表达式与所求的和显示出来。

class LX2_11 {

public static void main(String args[]) {

int n=1, sum=0;

do {

sum+=n++;

} while (n<=100);

System.out.println("1+2+...+100 ="+sum);

}

}

(2)编译并运行程序,结果如图2.11所示。

图2.11

4.多重循环练习

(1)输出九九乘法表的程序,

public class LX2_12 {

public static void main(String args[]) {

int i,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();

}

}

}

(2)编译并运行程序,结果如图2.12所示。

图2.12

四、练习题

1.分析下面的程序,说出下面的程序为什么是死循环?

classSum{

publicstaticvoidmain(Stringargs[]){

inti=1,n=10,s=0;

while(i<=n)

s=s+i;

System.out.println("s="+s);

}

}

答:

因为i,n值不变,i恒小于n,所以while循环就会一直成立,因此死循环。

2.分析下面源程序的结构,写出运行结果。

classCircleArea{

finalstaticdoublePI=3.14159;

publicstaticvoidmain(Stringargs[]){

doubler1=8.0,r2=5.0;

System.out.println("半径为"+r1+"的圆面积="+area(r1));

System.out.println("半径为"+r2+"的圆面积="+area(r2));

}

staticdoublearea(doubler){

return(PI*r*r);

}

}

源程序创建了一个自定义类CircleArea,该类包含了一个类成员变量PI,一个类方法area将返回圆面积。

在主方法main中定义了两个实例变量r1与r2,并调用area方法输入圆面积。

程序结果如图所示,

3.编写程序,根据考试成绩的等级打印出百分制分数段。

设A为90分以上、B为80分以上、C为70分以上、D为60分以上、E为59分以下。

要求在程序中使用开关语句。

importjava.util.Scanner;

publicclassSecond{

  publicstaticvoidmain(String[]args){

     //TODOAuto-generatedmethodstub

     Scannercin=newScanner(System.in);

     Stringgrade=cin.nextLine();

     switch(grade){

     case"A":

        System.out.println("90分以上");

        break;

     case"B":

        System.out.println("80分以上");

        break;

     case"C":

        System.out.println("70分以上");

        break;

     case"D":

        System.out.println("60分以上");

        break;

case"E":

        System.out.println("59分以下");

        break;

        default:

           System.out.println("你输入的查询等级有误!

");

           cin.close(); 

4.完整下面的程序,利用break语句和带标号的break语句分别退出一重循环和二重循环。

for(i=0;i<10;i++){

intj=i*10

while(j<100){

if(j==10)break;

j=j+5;

}

}

解:

完整的程序如下所示:

publicclass4{

publicstaticvoidmain(stringargs]){

Inti;

bh1:

for(i=0;i-10;i++){

intj=i*10;

while(j<100){

if(j==10)

break;

j=j+5;

continuebh1;

}

}

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1