作业2-2:数据类型与运算符

更新时间:2024-06-01 21:25:01 阅读量: 综合文库 文档下载

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

第2章 基本数据类型和基本操作

学习目标

? ? ? ? ? ? ?

单精度数值数据类型的使用 多精度数值数据类型的使用 数值计算

字符数组的定义 字符后移的方法

使用求模运算符(%)来确定除法运算的余数 说明整数相除将得到整型结果

2.1 实验前检查

在学完《Java语言程序设计》的第2章后,请回答以下问题。这些问题旨在检验和巩固你对关键概念的理解。既可以在实验课程之前,也可以在实验课程期间完成。 2.1.1 选择题: 一、

1、 下列变量定义错误的是。 ( D )

A) int a; B) double b=4.5; C) boolean b=true; D)float f=9.8; 2、 下列数据类型的精度由高到低的顺序是:( B ) a)float,double,int,long b)double,float,int,byte c)byte,long,double,float d)double,int,float,long

3、 执行完下列代码后, (A ) int a=3; char b='5';

char c=(char)(a+b); c的值是?

A)’8’ b)53 c)8 d)56

4、 Unicode是一种_____________(C )

A) 数据类型 B)java包 C)字符编码 D)java类 5、 6+5%3+2的值是___________( D ) A)2 B)1 C) 9 D)10

6、 下面的逻辑表达式中合法的是__________(C )

A)(7+8)&&(9-5) B)(9*5)||(9*7) C)9>6&&8<10 D)(9%4)&&(8*3) 7、 java语言中,占用32位存储空间的是__________。( D )

A) long,double B) long,float C) int,double D) int,float

8、 假设int a=1,b=2,c=3,以下语句正确的是___________。( D )

A) c=c/float(a//b) b) c=c/((float a)/b) c) c=(float)c/(a/b) d) c= c/(int)(a/(float)b) 9、 2|3&5的值是________________。(A )

A)1 B)2 C)3 D)5 10、指出下列正确的语句: ( D ) A) byte i = 389;

B) long lv = i*3+4.5; C) int x = 87L; D) long l = 10;

11、指出下列类型转换中正确的是______________。( A )

A)int i=’A’ B)long L=8.4f C)int i=(boolean)8.9 D)int i=8.3 12、以下的选项中能正确表示Java语言中的一个整型常量的是( B )。( ) A) 12. B) -20 C) 1,000 D) 4 5 6 13、以下选项中,合法的赋值语句是( B )。 A) a = = 1; B) ++ i; C) a=a + 1= 5; D) y = int ( i );

14、若所用变量都已正确定义,以下选项中,非法的表达式是( C )。( ) A) a != 4||b==1 B) 'a' % 3

C) 'a' = 1/2 D) 'A' + 32

15、若有定义int a = 2;则执行完语句a += a -= a * a; 后,a的值是( D )。( )A) 0 B) 4 C) 8 D) –4 16、下列程序段执行后t1的结果是( B )。 int x1 = 9, x2 = 6, t1; t1 = x1 > x2 ? x1 : x2;

A) 6 B) 9 C) 11 D) 3

17、对于一个三位的正整数 n,取出它的十位数字k(k为整型)的表达式是( A A) k = n / 10 % 10 B) k = ( n - n / 100 * 100 ) C) k = n % 10 D) k = n / 10

18、现有一变量声明为boolean aa;下面赋值语句中正确的是( A )。( )

A)aa=false; B)aa=False; C)aa=\ D)aa=0;

19、设有定义 int i = 6 ;,则执行以下语句后,i 的值为( C)。( ) i += i - 1;

A) 10 B) 121 C) 11 D) 100 20、下列语句序列执行后,ch1 的值是( B )。( ) char ch1=’A’,ch2=’W’; if(ch1 + 2 < ch2 ) ++ch1;

A) ‘A’ B) ‘B’ C) ‘C’ D) B

2.1.2填空题

1、以下代码的输出结果是_____j______。 int i=9; char c=’a’;

char d=(char)(c+i); System.out.println(d);

2、 面代码执行完后的输出是___b is:false____-。 int x=3; int y=4;

boolean b=true;

System.out.println(\

3、 表达式(-100%3)的值是___-1__。

)。( )

4、 int x=2,y=4,z=3 则x>y&&z>y的结果是_____false_________。

5、 写出定义双精度浮点型常量PI,值为3.1415926的语句: final double

PI=3.1415926_________。

(答案: final double PI=3.1415926)

6、 在Java语言中,逻辑常量只有true 和 __false____ 两个值。 7、 表达式1/2*3的计算结果是__0_____。

8、 执行以下程序段后:a = ___6___, b = __18____ 。 int a = 5, b;

b = ++a * 3;

9、 Java中的的字符使用的是 16 位的_____Unicode_______ 编码。 10、 Java语言中的浮点型数据根据数据存储长度和数值精度的不同,进一步分为float

和 ____double___两种具体类型。

11、当整型变量n的值不能被13除尽时,其值为 false 的Java语言表达式是_boolean a=(n==0);______ 。

12、表达式3/6 * 5的计算结果是___0___ 。

13、设 x, y,max,min 均为 int 型变量, x、y 已赋值。用三目条件运算符,求变量 x 、y的最大值和最小值,并分别赋给变量 max 和min, 这两个赋值语句分别是 max=x>y?x:y;__和_min=x

14、若a,b为int型变量且已分别赋值为2,4。表达式!(++a!=b--)的值是___false_____ 。 15、若a,b为int型变量且已分别赋值为2,6。表达式(a++)+(++b) +a*b的值是___30 _。 16. 注释 用于说明一个程序和改善它的可读性。

17.在一个Java程序中,可以用 if /switch语句执行判断。 18. float 类型声明一个单精度浮点变量。

19.如果Double类提供了方法parseDouble,把一个字符串转变成一个double;而Integer类提供了方法parseInt,把一个字符串转变成一个int,则Float类可能提供 parseFloat 方法,把一个字符串转换成一个float。 20.所有的程序都可以用三种类型的控制结构编写: 顺序 , 循环 , 选择 。

2.2 编程实验

2.2.1 编程实验1:数值数据类型

本实验要求在封闭实验课中在教师指导下完成。

1. 实验目的

本实验旨在巩固学生对《Java语言程序设计》中第2章内容的掌握。在这个实验中学生将练习:

? 单精度数值数据类型的使用 ? 多精度数值数据类型的使用 ? 数值计算

2. 问题描述

编写程序计算半径为5的圆的面积,计算公式为:面积=半径*半径*圆周率。

3. 示例输出

4. 程序模板

public class Test{ public static void main(String[] args){ double radius=5.0;

}

double area;

final double pi=3.14; area=radius*radius*pi; System.out.println(area); }

5. 解答提示

1) 低精度类型的值总可以赋给高精度类型的变量。低精度类型的值与高精度类型的值运算

后结果为高精度类型。area=radius*radius*pi,radius是double型,pi是单精度型,结果是double型,赋给了double型的area。

2) 如果将高精度类型的值赋给低精度变量,比如将一个double值赋给float型变量,必须

使用类型转换。如果在这种情况下不使用类型转换,就会出现编译错误。

6. 强化练习

1)编写程序将华氏温度78度转换为摄氏温度,转换成的摄氏温度在屏幕上显示出来: 转换公式为:摄氏度=(5/9)*(华氏度-32)

2)编写程序计算底边长为7、高为3的三角形的面积。 计算公式为:三角形面积=底边长*高/2

2.2.2 编程实验2:字符数据类型

本实验要求在封闭实验课中在教师指导下完成。

1. 实验目的

本实验旨在巩固学生对《Java语言程序设计》中第2章内容的掌握。在这个实验中学生将练习:

? 字符数组的定义 ? 字符后移的方法

2. 问题描述

编写程序,实现字母的加密,首先输出原始字母password!,然后将这个一系列原始字母加密,每个字母都变成字母表中其后的5个字符输出。

3. 示例输出

4. 程序模板

public class Test{ public static void main(String[] args){ char[] c={'p','a','s','s','w','o','r','d'}; for(int i=0;i

}

}

5. 解答提示

1) 为了唯一区分每个字符,采用字符数组的方法将字符串中每个字符作为单独元素存放。

字符数组的定义可以采用这种方法:char[] c={'p','a','s','s','w','o','r','d'}。 2) c.length表示数组c的长度。

3) 第一个for循环,实现将每个字符变成其后的第五个字符。c[i]+5运算后是c[i]后第五个

字符的ASCII码值,强制类型转换成字符型赋给c[i]。 4) 第二个for循环,逐个打印转换后的字符。

6. 强化练习

1)编写程序,实现字母C到其对应的ASCII码表的十进制数值的转换。 2)编写程序,实现数字100到其在ASCII码表中对应的字母的转换。

2.2.3 编程实验3: 算术运算

程序模板是一个完整的、可实际运行的Java程序,其中关键的1行或者多行代码已经替换为注释。请先阅读问题描述,分析示例输出;然后研究模板的代码。参考问题解答提示,用Java代码替换/* */注释。编译并执行程序。然后回答后续问题。

1. 实验目的

本实验旨在巩固学生对《Java语言程序设计》中第2章的编程概念的理解。在这个实 验中,学生将练习:

? 使用求模运算符(%)来确定除法运算的余数。 ? 说明整数相除将得到整型结果。 在强化练习中,学生将练习:

在程序执行期间,检查用户输入无效值(invalid input)时会发生什么情况。使用double来声明浮点数变量。修改程序,使其能够解决类似问题。

2. 问题描述

编写一个程序,输入一个5位数,将输入数分离成单个字,然后打印出这些数字,各数字间隔3个空格。提示:使用整数除法和求模运算符。例如,如果用户输入42 339,程序的输出应如示例输出所示。

3. 示例输出 ………

4. 程序模板

import javax.swing.JOptionPane; public class Five{

public static void main(String args[]) {

int originalNumber; int number;

String inputString;

//read five-digit number from user as a String

inputString=JoptionPane.showInputDialog(“Enter five digit integer”);

//convert inputString to an integer and assign it to originalNumber originalNumber=Integer.parseInt(InputString);

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

Top