Java第二章作业答案

更新时间:2023-04-14 23:32:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

习题二

一、问答题

1.什么叫标识符?Java标识符的命名规则是什么?false是否可以作为标识符。

答:用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。标识符由字母、下划线、美元符号$和数字组成,长度不受限制。第一个字符不能是数字字符。不能是关键字。标识符不能是true、false和null(尽管true、false 和null不是关键字)

2.什么叫关键字?true和false是否是关键字?请说出6个关键字。

答:关键字就是具有特定用途或被赋予特定意义的一些单词,不可以把关键字作为标识符来用。true、false都不是关键字。例如:boolean、byte、short、int、float、double、char、if、else等。

3.Java的基本数据类型有哪些?

答:整数类型:byte、short、int、long

浮点类型:float、double

字符类型:char

逻辑类型:boolean

4.float型常量和double型常量在表示上有什么区别?

答:float常量必须用F或f为后缀。double常量用D或d为后缀。但double常量允许省略后缀。

5. 怎样获取一维数组的长度?

答:数组变量.length

6.关系运算符的运算结果是怎样的数据类型?

答:布尔类型

7.if语句中的条件表达式的值是否可以是int型?

答:不可以,表达式的值必须是布尔型的,不能用0代表false,1代表true

8.while语句中的条件表达式的值是什么类型?

答:布尔类型

9.switch语句中表达式的值是什么类型?

答:表达式的值必须是:byte,short,int,char不能是String或者long型的(与int兼容类型)

10.在while语句的循环体中,执行break语句的效果是什么?

答:退出循环

二、选择题

1.下列哪项字符序列可以做为标识符?

A. true

B. default

C. _int

D. good-class

2.下列哪三项是正确的float变量的声明?

A. float foo = -1;

B. float foo = 1.0;

C. float foo = 42e1;

D. float foo = 2.02f;

E. float foo = 3.03d;

F. float foo = 0x0123;

3.下列程序中哪些【代码】是错误的?

public class E {

public static void main(String args[]) {

int x = 8;

byte b = 127; //【代码1】

b = x; //【代码2】

x = 12L; //【代码3】

long y=8.0; //【代码4】

float z=6.89 ; //【代码5】

}

}

4.对于int a[] = new int[3];下列哪个叙述是错误的?

A. a.length的值是3。

B. a[1]的值是1。

C. a[0]的值是0。

D. a[a.length-1]的值等于a[2]的值。5.下列哪个叙述是正确的?

A. 5.0/2+10的结果是double型数据。

B.(int)5.8+1.0的结果是int型数据。

C.'苹'+ '果'的结果是char型数据。

D.(short)10+'a'的结果是short型数据。

答案:1.C 2.ADF 3. 代码2~5都有错误 4.B 5.A

三、阅读或调试程序

1.上机运行下列程序,注意观察输出的结果。

public class E {

public static void main (String args[ ]) {

for(int i=20302;i<=20322;i++) {

System.out.println((char)i);

}

}

}

运行结果:

2.上机调试下列程序,注意System.out.print()和System.out.println()的区别。public class OutputData {

public static void main(String args[]) {

int x=234,y=432;

System.out.println(x+"<"+(2*x));

System.out.print("我输出结果后不回车");

System.out.println("我输出结果后自动回车到下一行");

System.out.println("x+y= "+(x+y));

}

}

运行结果:

3.上机调试下列程序,了解基本数据类型数据的取值范围。

public class E {

public static void main(String args[]) {

System.out.println("byte取值范围:"+Byte.MIN_VALUE+"至"+Byte.MAX_VALUE);

System.out.println("short取值范围:"+Short.MIN_VALUE+"至"+Short.MAX_VALUE);

System.out.println("int取值范围:"+Integer.MIN_VALUE+"至"+Integer.MAX_VALUE);

System.out.println("long取值范围:"+Long.MIN_VALUE+"至"+Long.MAX_VALUE);

System.out.println("float取值范围:"+Float.MIN_VALUE+"至"+Float.MAX_VALUE);

System.out.println("double取值范围:"+Double.MIN_VALUE+"至"+Double.MAX_VALUE); }

}

运行结果:

4.下列程序标注的【代码1】,【代码2】的输出结果是什么?

public class E {

public static void main (String args[ ]){

long[] a = {1,2,3,4};

long[] b = {100,200,300,400,500};

b = a;

System.out.println("数组b的长度:"+b.length); //【代码1】

System.out.println("b[0]="+b[0]); //【代码2】

}

}

运行结果:

5. 下列程序的输出结果是什么?

public class E {

public static void main (String args[ ]) {

char c = '\0';

for(int i=1;i<=4;i++) {

switch(i) {

case 1: c = 'J';

System.out.print(c);

case 2: c = 'e';

System.out.print(c);

break;

case 3: c = 'p';

System.out.print(c);

default: System.out.print("好");

}

}

}

}

运行结果:

四、编题(要求:输入下列各程序,不要直接复制粘贴,每个小题保存为一个源程序。将运行结果截图)

1.数据类型练习

public class Example2_1 {

public static void main (String args[]) {

byte b = 22;

int n = 129;

float f =123456.6789f ;

double d=123456789.123456789;

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

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

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

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

b=(byte)n; //导致精度的损失.

f=(float)d; //导致精度的损失

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

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

}

}

运行程序:

2.数组的引用

public class Example2_2 {

public static void main(String args[]) {

int a[]={1,2,3,4};

int b[]={100,200,300};

System.out.println("数组a的元素个数="+a.length);

System.out.println("数组b的元素个数="+b.length);

System.out.println("数组a的引用="+a);

System.out.println("数组b的引用="+b);

a=b;

System.out.println("数组a的元素个数="+a.length);

System.out.println("数组b的元素个数="+b.length);

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

System.out.print("b[0]="+b[0]+",b[1]="+b[1]+",b[2]="+b[2]);

}

}

运行结果:

3.选择法排序及查找

import java.util.*;

class Example2_3 {

public static void main(String args[]) {

int start=0,end,middle;

int a[] = {12,45,67,89,123,-45,67};

int N = a.length;

for(int i=0; i

for(int j = i+1; j < N;j++){

if(a[j] < a[i]){

int t = a[j];

a[j] = a[i];

a[i] = t;

}

}

}

System.out.println(Arrays. toString(a));

Scanner scanner = new Scanner(System.in);

System.out.println("输入整数,程序判断该整数是否在数组中:");

int number = scanner.nextInt();

int count =0 ;

end = N;

middle=(start+end)/2;

while(number!=a[middle]){

if(number>a[middle])

start=middle;

else if(number

end=middle;

middle=(start+end)/2;

count++;

if(count>N/2)

break;

}

if(count>N/2)

System.out.printf("%d不在数组中.\n",number);

else

System.out.printf("%d在数组中.\n",number);

}

}

运行结果:

4.while语句

public class Example2_4 {

public static void main(String args[]) {

double sum=0,item=1;

int i=1,n=20;

while(i<=n) {

sum=sum+item;

i=i+1;

item=item*(1.0/i);

}

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

}

}

运行结果:

5.break与continue语句

public class Example2_5 {

public static void main(String args[]) {

int sum=0,i,j;

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

if(i%2==0) { //计算1+3+5+7+9

continue;

}

sum=sum+i;

}

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

for(j=2;j<=50;j++) { //求50以内的素数

for( i=2;i<=j/2;i++) {

if(j%i==0)

break;

}

if(i>j/2) {

System.out.println(""+j+"是素数");

}

}

}

}

运行结果:

6.for语句遍历数组

public class Example2_6{

public static void main(String args[]) {

int a[]={1,2,3,4};

char b[]={'a','b','c','d'};

for(int n=0;n

System.out.println(a[n]);

}

for(int n=0;n

System.out.println(b[n]);

}

for(int i:a) { //循环变量i依次取数组a的每一个元素的值(改进方式)

System.out.println(i);

}

for(char ch:b) { //循环变量ch依次取数组b的每一个元素的值(改进方式)System.out.println(ch);

}

}

}

运行结果:

本文来源:https://www.bwwdw.com/article/3e9q.html

Top