实验1Java编程基础

实验1Java编程基础
实验1Java编程基础

实验1 Java编程基础

一、实验目的

1.熟悉基本数据类型,包括其所占字节数、数值范围及常数的后缀形式;

2.掌握变量的声明、初始化方法,能够正确区分全局变量(即成员变量)和局部变量(即本地变量);4.掌握算术运算符(+、-、*、/、%)和自增(++)、自减(--)运算符的用法;

5.掌握关系运算符()、>=、<、<=、==、!=)和逻辑运算符(!、&&、||)的使用;

6.掌握if…else…语句的单分支、双分支、多分支结构的使用;

7.掌握switch语句用法;

8.熟悉循环结构的初始化部分、条件判断部分、修改条件部分、循环体部分的功能;

9.掌握for语句的使用,熟悉for语句的简单应用(累加、连乘积、分类统计);

10.掌握while语句的使用;

11.掌握do…while语句的使用,能够正确区分do…while与while的不同之处;

12.熟悉Java程序的常用输入输出格式;

13.掌握一维数组:声明,创建,初始化,数组元素的访问;

14.掌握多维数组的概念:二维数组的声明,初始化,元素的访问。

二、实验内容与步骤

1.应用程序若要输出如图2-1所示结果,请将程序所缺代码填充完整,并加以运行:

图2-1程序运行结果

程序代码:

________________ Diamond {

_____________________ main(__________ args[]) {

System.out.println(" *");

System.out.println(" * *");

System.out.println(" * *");

System.out.println("* *");

____________________________;

____________________________;

____________________________;

}

}

2.请按下列要求,将程序代码填充完整,并加以运行:

public class Test {

// 初始值为0的整型变量 b1

// 初始值为10000的长整型变量b2

// 初始值为3.4的浮点型变量b3

// 初始值为34.45的双精度型变量b4

// 初始值为'’4’的字符型变量b5

// 初始值为true的布尔型变量b6

public static void main(String ________) {

// 输出变量b1——b6的值

}

}

3.输入下列程序内容,运行程序,并回答相关问题:

public class DataType {

public static void main(String args[]) {

byte a1 = 126, a2 = (byte) 256, a3 = 'A';

System.out.println("a1=" + a1 + "\ta2=" + a2 + "\ta3=" + a3);

int b1 = 12345, b2 = (int) 123456789000L, b3 = '0', b4 = 0xff;

System.out.println("b1=" + b1 + "\tb2=" + b2 + "\tb3=" + b3 + "\tb4="+ b4);

char c1 = 'a', c2 = 98, c3 = '\u0043', c4 = '\n';

System.out.println("c1=" + c1 + "\tc2=" + c2 + c4 + "c3=" + c3);

}

}

问题:

(1)变量a2、a3的输出内容是什么?为何出现这种变化?

(2)变量b2、b3的输出内容是什么?为何出现这种变化?;

(3) '\t'、'\n'各有什么特殊用途?

(4)System.out的println()方法与print()方法有什么不同?

(5)如何声明、初始化一个变量?

(6)b4初始化时,被赋予什么进制的数?

(7)写出声明ch为字符型变量、并初始化为'c'的三种不同写法。

4.写出下列程序的运行结果,并解释其原因:

public class Pass {

static int j = 20;

public static void main(String args[]) {

int i = 10;

Pass p = new Pass();

p.aMethod(i);

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

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

}

public void aMethod(int x) {

x = x * 2;

j = j * 2;

}

}

5.本程序用到关系运算符、逻辑运算符。请填充程序所缺代码,使之输出如下结果:public class RelationLogical {

public static void main(String args[]) {

boolean a = (35 >= 62);

boolean b = ('C' < 'z');

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

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

System.out.println(____________);

System.out.println(____________);

System.out.println(____________);

System.out.println(____________);

}

}

程序运行结果如图2-2所示:

图2-2 程序运行结果

6. 打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。 1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。

7. 输出9*9口诀。

程序分析:分行与列考虑,共9行9列,i控制行,j控制列。

8.一维数组的使用:根据注释填充程序所缺代码,然后编译、运行该程序,并回答相关问题:

//一维数组:声明,创建,初始化,数组元素的引用及数组拷贝

public class ArrayDemo1 {

public static void main(String[] args){

_______________; // 声明一个名为week的String类型的一维数组

_______________________; // 为week数组分配存放7个字符串的空间

for (int i=0; i

System.out.println("week["+i+"] = "+___________);

System.out.println();

String FuWa[]={"贝贝","晶晶" ,"欢欢" ,"迎迎", "妮妮"};

for (int i=0; i<___________;i++) // 输出FUWa数组各元素的值

System.out.println("FuWa["+i+"] = "+FuWa[i]);

}

}

问题:

(1)一维数组如何声明、创建?如果没有给数组元素赋值,则它们的取值如何?

(2)数组的静态初始化具有什么功能?

(3)要了解数组元素的个数,可用访问数组的什么属性得到?

(4)怎样引用数组的元素?写出它的下标取范围。

9.二维数组的使用:根据注释填充所缺代码,然后编译、运行该程序,并回答相关问题:

//二维数组:声明,创建,动态初始化,数组元素的引用

public class ArrayDemo2 {

public static void main(String[] args){

// 声明一个名为myArray的数组,该数组有2行,每行列数不等,并为其分配内存空间

________________________;

myArray[0]=new int[5]; // 第一行有5个元素,并为其分配内存空间

________________________; // 第二行有10个元素,并为其分配内存空间

for (int j=0; j

for (int j=0; j<________________;j++) // 用100-200之间的随机整数给第二行元素赋值myArray[1][j]=(int)(Math.random()*100+100);

for (int i=0; i<______________;i++){ // 输出myArray数组各元素的值

for (int j=0; j

System.out.print(myArray[i][j]+" ");

}

System.out.println();

}

}

}

问题:

(1)二维数组如何声明、创建?二维数组的列数是否一定要求相同?

(2)二维数组如何动态初始化?

(3)怎样理解“多维数组是数组的数组”?length作用于不同的数组:myArray.length,myArray[0].length,myArray[1].length,结果什么不同?

(4)怎样引用数组的元素?它们下标取值范围怎样?

相关主题
相关文档
最新文档