实验 2 Java基本数据类型与控制语句
一、实验目的
1.了解Java 的数据类型
2.掌握各种变量的声明方式。
3.理解运算符的优先级。
4.掌握Java 基本数据类型、运算符与表达式。
5.理解Java 程序语法结构,掌握顺序结构、选择结构和循环结构语法的程序设计方法。
6.通过以上内容,掌握Java 语言的编程规则。
二、实验要求
1. 编写一个声明Java 不同数据类型变量的程序。
2. 编写一个使用运算符、表达式、变量的程序。
3. 编写一个使用Java 数组的的程序。
4. 编写表达式语句、复合语句的程序。
5. 编写使用不同选择结构的程序。
6. 编写使用不同循环结构结构的程序。
三、实验内容
(一)声明不同数据类型的变量
1.编写声明不同数据类型变量的程序文件KY2_1.java,源代码如下。
public class KY2_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.建立KY2_2.java 文件,通过本程序了解变量的使用范围,源代码如下。
public class KY2_2 {
static int i=10;
public static void main(String args[]) {
{
int k=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.建立使用关系运算符和逻辑运算符的程序文件,源代码如下。
class KY2_3 {
public static void main(String args[]) {
int a=25, b=20, e=3, f=0;
boolean d=a
System.out.println("a=25,b=20,e=3,f=0");
System.out.println("因为关系表达式a
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.编译并运行该程序,结果如图2.3 所示。
(四)使用表达式语句与复合语句
1.建立包含表达式语句程序,源代码如下。
class KY2_4{
public static void main(String[] args) {
int k, i=3, j=4;
k=20*8/4+i+j*i;
System.out.println("表达式(20*8/4+i+j*i)="+k);
}
}
2.建立包含复合语句程序,源代码如下。
class KY2_5{
public static void main(String args[]) {
int k, i=3, j=4;
k=i+j;
System.out.println("在复合块外的输出k="+k);
{
float f;
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
整除。
?编写源程序文件,代码如下。
public class KY2_6 {
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 语句
?程序功能:在不同温度时显示不同的解释说明。
?程序源代码如下。
class KY2_7{
public static void main(String args[]) {
int c=38;
switch (c<10?1:c<25?2:c<35?3:4) {
case 1:
System.out.println(" "+c+"℃有点冷。要多穿衣服。");
case 2:
System.out.println(" "+c+"℃正合适。出去玩吧。");
case 3:
System.out.println(" "+c+"℃有点热。");
default:
System.out.println(" "+c+"℃太热了!开空调。");
}
}
}
?编译运行程序
(六)使用循环语句
1.for 循环语句练习
?程序功能:按5 度的增量打印出一个从摄氏温度到华氏温度的转换表。
?程序源代码如下。
class KY2_8{
public static void main (String args[]) {
int h,c;
System.out.println("摄氏温度华氏温度");
for (c=0; c<=40; c+=5) {
h=c*9/5+32;
System.out.println(" "+c+" "+h);
}
}
}
?编译并运行程序,其结果如图2.9 所示。
2.while 循环语句练习
?程序功能:运行程序后从键盘输入数字1/2/3 后,可显示抽奖得到的奖品;如果
输入其它数
?字或字符显示“没有奖品给你!”。
?程序源代码如下。
import java.io.*;
class KY2_9 {
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("真不幸,你没有奖品!下次再来吧。");
}
}
}
}
?编译源程序。
?在命令提示符窗口运行程序,然后分别按1、2、3、r ,记录结果。3.do…while 循环语句练习
?程序功能:求1+2+…+100 之和,并将求和表达式与所求的和显示出来。?程序源代码如下。
class KY2_10 {
public static void main(String args[]) {
int n=1, sum=0;
do {
sum+=n++;
}
while (n<=100);
System.out.println("1+2+...+100 ="+sum);
}
}
?编译并运行程序
4.多重循环练习
?输出九九乘法表的程序,源代码如下。
public class KY2_11
{
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();
}
}
}
?编译并运行程序
实验一类的基本使用 一、实验目的 1.掌握类的定义; 2.熟悉方法及属性的定义与使用; 3. 掌握对象中的对象用法。 二、实验要求 1.认真完成实验内容并得到正确的程序运行结果。 2.为你的程序加上注释,使得其清晰可读。 3.利用调试程序来修改你程序的逻辑错误 三、实验原理 1.类定义:客观世界中的事物往往需要从属性与行为两个方面进行描述,在JAVA中,分别用数据成员与函数成员来表现,并且将它们封装在一起,形成一种抽象数据类型——类。 类具有数据成员和成员函数两种成员,类成员分为公开的(public)和私有的(private)两类。外界不能访问一个对象的私有部分,它们与对象间的信息传送只能通过公开成员函数等特定方法进行。 类接口定义的基本格式为
四、主要仪器及耗材 计算机及eclipse软件 五、实验内容与步骤 1. 设计一个商品类,在edu.dali包里实现类Commodity,要求: ①包括编号、名称、产地、单价属性; ②通过构造函数对各属性附值; ③定义一个取得折扣价的方法,输入折扣值返回折扣价。 ④在CommodityTest的main( )里创建对象创建,输出对象属性及6.5价的价格。 2.编写一类似开心农场游戏中的植物类,要求: ①在edu.dali包里实现类Plant ②具有名称、颜色、种类、金钱数、经验值(exp)、生长周期(天)、果实; ③“种类”为PlantType类型(代码、名称属性) ④植物可以有多个果实,每个果实为Fruit类型的对象,具有编号、名称、重量、颜色、形状、卖出价格属性。 ⑤通过一个方法取得果实卖出总价。 ⑥在PlantTest类的main方法里创建Plant对象,并输出名称、颜色、种类、金钱数、经验值、生长周期属性,输出该Plant对象的果实数量及总价。 提示:植物果实可用对象集合实现 public class Class { private String classNo; private String className; List
实验4 循环控制 班级:学号: 姓名:日期: 一、实验目的 (1)熟悉掌握用while语句、do—while语句和for语句实现循环的方法。 (2)掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭代、递推等)。 (3)进一步学习调试程序。 二、实验内容 1.while语句 while 语句的一般形式为: while(表达式)语句; while 语句的语义是:计算表达式的值,当值为真(非0)时,执行循环体语句。 编程:求1-100的奇数和。 提示:循环变量的步长值为2。 #include
do-while 语句的语义是:先执行循环体语句一次,再判别表达式的值,若为真(非0)则继续循环,否则终止循环。 编程:求1—100的偶数和。 #include
实验二Java语言基础 实验目的 1、了解Java 的数据类型; 2、掌握各种变量的声明方式; 3、理解运算符的优先级; 4、掌握Java 基本数据类型、运算符与表达式、数组的使用方法; 5、理解Java 程序语法结构,掌握顺序结构、选择结构和循环结构语法的程序设计方 法; 6、通过以上内容,掌握Java 语言的编程规则。 实验要求 1、编写一个声明Java 不同数据类型变量的程序; 2、编写一个使用运算符、表达式、变量的程序; 3、编写一个使用Java 数组的的程序; 4、编写表达式语句、复合语句的程序; 5、编写使用不同选择结构的程序; 6、编写使用不同循环结构结构的程序。 实验内容 1、声明不同数据类型的变量 (1)编写声明不同数据类型变量的程序文件LX2_1.java,源代码如下。 public class EXP2_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)编译并运行该程序,结果如图2.1 所示。 图 2.1
民族学院实验报告 计算机科学 系 级 班 指导教师 报告人20 年 月 日 成 绩 课程名称 JAVA 语言程序设计实验名称实验二 基本数据类型与数组实验 目的 1.掌握基本数据类型及其相互之间的转换2.掌握JAVA 中数组的使用实验仪器 和器材具有JDK 环境的计算机一台 实验内容和要求 一、输出希腊字母表 1.请按模板要求,将【代码】替换为Java 程序代码,运行该程序时在命令窗口中输出希腊字母表。其运行效果如图 2.1所示。 图2.1 输出希腊字母表 GreekAlphabet.java public class GreekAlphabet { public static void main(String[] args) { int startPosition=0,endPosition=0; char cStart='α',cEnd='ω'; startPosition=(int )cStart; //cStart 做int 型数据转换,并将结果赋值给startPosition endPosition=(int )cEnd; //cEnd 做int 型数据转换,并将结果赋值给EndPosition System.out.println("希腊字母\'α\'在Unicode 表中的顺序位置:"+(int)cStart); System.out.println("希腊字母表:"); for (int i=startPosition;i<=endPosition;i++){ char c='\0'; cStart=(char )i; //i 做char 型转换运算,并将结果赋值给c System.out.print(" "+c); if ((i-startPosition+1)%10==0) System.out.println(); } } } 2.实验后练习 (1)将一个double 型数据直接赋值给float 型变量,程序编译时提示怎样的 错误? 答:程序提示的内容为:“可能损失精度”。 (2)在应用程序的main 方法中增加语句:
实验二Java基本语法练习 (对应于课本第二章与第四章的内容)一、实验目的 1.了解Java 的数据类型 2.掌握各种变量的声明方式 3.理解运算符的优先级 4.掌握Java 基本数据类型、运算符与表达式、数组的使用方法 5.理解Java 程序语法结构,掌握顺序结构、选择结构和循环结构语法的程序设计方法6.通过以上内容,掌握Java 语言的编程规则 二、实验要求 1. 编写一个声明Java 不同数据类型变量的程序。 2. 编写一个使用运算符、表达式、变量的程序。 3. 编写一个使用Java 数组的程序。 4. 编写表达式语句、复合语句的程序。 5. 编写使用不同选择结构的程序。 6. 编写使用不同循环结构的程序。 三、实验内容(验证性实验) (一)声明不同数据类型的变量(可选做) 1.编写声明不同数据类型变量的程序文件LX2_1.java,源代码如下。 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);
**大学数学与信息工程学院 《Python程序设计》实验报告 实验名称:实验3 Python基本数据类型及分支结构 … 班级: 姓名:学号:[ 实验地点:日期: 、 一、实验目的: [实验目的和要求] 1、熟练掌握Python三种数字类型及其应用 \ 2、熟练判断条件表达式的真假 3、熟练掌握Python分支结构 二、实验环境: 1、计算机,局域网,python 软件 三、实验内容和要求:(直接将实验步骤及截图写在题目下面,结果必须截图) 1、# 2、复数z=-3+4j,用Python程序求得对应的实部和虚部并计算z的绝对值,并思考输出的绝对值代表什么含义 3、请将下列数学表达式用Python程序写出来,并运算结果 1) 4 2734 5 x +-?= 代码:~
a=2**4 b=7 c=3 d=4 e=5 [ x=(a+b-c*d)/e print(x) 2)2 131677()(mod )/x =+? 代码: | a=3**2 b=1 c=16 d=7 x=(a+b)*(c%d)/7 # print(x) 4、编写程序,根据输入的长和宽,计算矩形的面积并输出。要求:输入语句input 实现同步赋值。 lw=input('请输入矩形的长和宽,以空格分隔:') length,width=map(float,()) ~ s=length*width
print("矩形面积为:",s) 5、编写程序,用户输入一个三位以上的整数(如果不是三位数则提示输入错误),输出其百位以上的数字。例如用户输入1234,则程序输出12。(提示:使用整除运算。) 代码: [ a=eval(input('请输入一个三位以上的整数:')) b=int(a/100) if(a<99): print('输入错误') else: … print(b)
一、循环控制 (一)、break语句 break语句通常用在循环语句和开关语句中。当break用于开关语句switch中时,可使程序跳出switch而执行switch以后的语句;如果没有break语句,则将成为一个死循环而无法退出。break在switch中的用法已在前面介绍开关语句时的例子中碰到,这里不再举例。 当break语句用于do-while、for、while循环语句中时,可使程序终止循环而执行循环后面的语句,通常break语句总是与if语句联在一起。即满足条件时便跳出循环。 例如: int main(int argc, char *argv[]) { int sn=0,i; for(i=1;i<=100;i++) { if(i==51) break; /*如果i等于51,则跳出循环*/ sn+=i; /*1+2+……+50*/ } printf(%d\n,sn); } 可以看出,最终的结果是1+2+……+50。因为在i等于51的时候,就跳出循环了。自己写写怎样在while和do--while循环中增加break语句。 注意: 1. break语句对if-else的条件语句不起作用。 2. 在多层循环中,一个break语句只向外跳一层。 例如: int main(int argc, char *argv[]) { int i,j; printf(i j\n); for(i=0;i<2;i++) for(j=0;j<3;j++) { if(j==2) break; printf(%d %d\n,i,j); } } 输出结果为: i j 0 0 0 1 1 0 1 1 当i==0,j==2时,执行break语句,跳出到外层的循环,i变为1。 (二)、continue语句
实验 2 Java语言的基本语句练习 一、实验目的 1.了解 Java的数据类型 2.掌握各种变量的声明方式。 3.理解运算符的优先级。 4.掌握 Java基本数据类型、运算符与表达式、数组的使用方法。 5.理解 Java程序语法结构,掌握顺序结构、选择结构和循环结构语法的程序设计方法。6.通过以上内容,掌握 Java语言的编程规则。 二、实验要求 1. 编写一个声明 Java不同数据类型变量的程序。 2. 编写一个使用运算符、表达式、变量的程序。 3. 编写一个使用 Java数组的的程序。 4. 编写表达式语句、复合语句的程序。 5. 编写使用不同选择结构的程序。 6. 编写使用不同循环结构结构的程序。 三、实验内容 (一)声明不同数据类型的变量 1.编写声明不同数据类型变量的程序文件LX2_1.java,源代码如下。 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); } }
实验二JA V A基本数据类型(1) 【实验目的】 1.掌握标识符的定义规则。 2.掌握表达式的组成。 3.掌握Java 基本数据类型及其使用方法。 4.理解定义变量的作用,掌握定义变量的方法。 5.掌握各种运算符的使用及其优先级控制。 6.通过以上内容,掌握Java 语言的编程规则。 【预习内容】 1.一个声明Java 不同数据类型:整形、浮点型、字符型等类型的特点。 2.JA V A各类运算符:算术运算符、关系运算符、逻辑运算符的使用方法。 3. JA V A各类表达式:算术表达式、关系表达式、逻辑表达式的综合应用。 【实验内容及步骤】 1.编写一个JA V A程序,设置各数据类型的相应变量,并赋予初值,最后在屏幕上显示如图1所示的结果。 图1 [程序清单] public class shiyan1 { public static void main(String[] args) { byte b = 85;
short s = 22015; int i=1000000; long l = 65535; char c ='a'; float f =0.23F; double d = 7.0E-4; 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); System.out.println(); System.out.println("输出完成(耗时0秒)-正常终止"); } } [程序运行结果(截图)]
实验2简单数据类型和流程控制 1.实验目的 (1)掌握Java语言的标识符、保留字、各简单数据类型。 (2)掌握Java语言中各种运算符表达式的基本知识。 (3)熟练掌握使用if语句进行单分支结构和双分支结构程序设计的基本方法。 (4)熟练掌握使用if语句嵌套及switch语句进行多分支结构程序设计的基本方法。(5)熟练掌握while、do-while和for三种语句组成循环结构的基本方法。 2.实验主要内容 (1)将百分制成绩转换成等级制成绩。 (2)打印所有的水仙花数,即一个三位数,它的每个数字位的立方和等于它本身。 (3)打印出杨辉三角形。 (4)改写下面的计算圆面积的程序,使之能处理用户输入的负数、并能让用户循环输入半径值,另外,设定一个用户退出程序的值,比如0或者q等,用户输入这个值后能退出时程序。 public class ComputerAreaV02 { public static void main(String[] args) { final double PI = 3.14159; // 创建一个 Scanner对象 Scanner input = new Scanner(System.in); // 提示用户输入一个半径值 System.out.print("请输入半径值: "); //从键盘接受输入的值 double radius = input.nextDouble(); // 计算圆的面积 double area = radius * radius * PI; // Display result System.out.println("圆的面积是: " + area); } } (5)计算身体质量指数。BMI指数(身体质量指数,Body Mass Index,BMI),是国际上常用的衡量人体胖瘦程度的一个标准,其计算方法是用体重(公斤)数除以身高(米)
实验2 C语言基本数据类型 一、实验目的: 1.掌握C语言的基本数据类型(整型、字符型和实型)。 2.掌握C语言变量的定义和赋值方法。 3.进一步熟悉C程序的编辑、编译、连接和运行的过程。 二、实验内容: 1.验证性实验 (1) 分析下面程序结果,并上机验证(整型、字符型数据表示和输出)。 #include
C语言的32个关键字和9种控制语句 C语言的关键字共有32个,根据关键字的作用,可分其为数据类型关键字、控制语句关键字、存储类型关键字和其它关键字四类。 1 数据类型关键字(12个): (1) char :声明字符型变量或函数 (2) double :声明双精度变量或函数 (3) enum :声明枚举类型 (4) float:声明浮点型变量或函数 (5) int:声明整型变量或函数 (6) long :声明长整型变量或函数 (7) short :声明短整型变量或函数 (8) signed:声明有符号类型变量或函数 (9) struct:声明结构体变量或函数 (10) union:声明共用体(联合)数据类型 (11) unsigned:声明无符号类型变量或函数 (12) void :声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用) 2控制语句关键字(12个): A循环语句 (1) for:一种循环语句(可意会不可言传) (2) do :循环语句的循环体 (3) while :循环语句的循环条件 (4) break:跳出当前循环 (5) continue:结束当前循环,开始下一轮循环 B条件语句 (1)if: 条件语句 (2)else :条件语句否定分支(与if 连用) (3)goto:无条件跳转语句 C开关语句 (1)switch :用于开关语句 (2)case:开关语句分支 (3)default:开关语句中的“其他”分支 D返回语句 return :子程序返回语句(可以带参数,也看不带参数) 3 存储类型关键字(4个) (1)auto :声明自动变量一般不使用 (2)extern:声明变量是在其他文件正声明(也可以看做是引用变量)
河南工业大学 《JAVA程序设计基础》实验报告2 实验单元二Java基本语法 实验二数据类型与表达式 实验时间: 2019/3/8 【实验目的】 1.掌握Java语言数据类型以及变量的声明。 2.掌握Java语言的赋值运算符、赋值表达式、赋值语句。 3.掌握Java语言的整型和字符型的混合运算。 4.掌握Java语言的输入格式。 【实验环境】 JDK、Eclipse 【实验内容】 1.编写程序,获取用户通过键盘输入的两个整数,计算它们的和,并输出。 2.编写程序,计算如下表达式的值 a)ax+b(a,b,x的值自己指定) b)a+b>a+c(a,b,c的值自己指定) c)28>20&&30>24||58<12 3.编写程序,要求从键盘输入3个整数,并打印它们的和、平均值、最小值
和最大值。 4.编写程序,要求读入一个园的半径(整数),并输出园的直径、周长和面积。π的值去3.14159。 【实验源码及结果】 1.编写程序,获取用户通过键盘输入的两个整数,计算它们的和,并输出。 打开eclipse创建包并创建一个class 代码: package beautiful; import java.util.Scanner; public class Java1 { p ublic static void main(String[] args) { // TODO Auto-generated method stub System.out.println("可输入两个整数,求和."); S canner bs=new Scanner(System.in); i nt x=0,y=0,sum=0; S ystem.out.print("请输入第一个整数:"); x=bs.nextInt(); S ystem.out.print("请输入第二个整数:"); y=bs.nextInt(); s um=x+y; S ystem.out.println("两个整数之和:"+x+"+"+y+"="+sum);
实验一 Java基本数据类型与控制语句 【目的】 ①掌握char型数据和int型数据之间的相互转换,同时了解unicode字符表; ②掌握使用if…else if多分支语句; ③使用if…else分支和while循环语句解决问题。 【内容】 1.猜数字游戏。 ?实验要求: 编写一个Java应用程序,实现下列功能: 1)程序随机分配给客户一个1—100之间的整数 2)用户在输入对话框中输入自己的猜测 3)程序返回提示信息,提示信息分别是:“猜大了”、“猜小了”和“猜对 了”。 4)用户可根据提示信息再次输入猜测,直到提示信息是“猜对了”。 ?程序运行效果 ? ? ?程序模板: GuessNumber.java import javax.swing.JOptionPane; public class GuessNumber
{ public static void main (String args[ ]) { System.out.println("给你一个1至100之间的整数,请猜测这个数"); int realNumber=(int)(Math.random()*100)+1; int yourGuess=0; String str=JOptionPane.showInputDialog("输入您的猜测:"); yourGuess=Integer.parseInt(str); while(【代码1】) //循环条件 { if(【代码2】) //条件代码 { str=JOptionPane.showInputDialog("猜大了,再输入你的猜测:"); yourGuess=Integer.parseInt(str); } else if(【代码3】) //条件代码 { str=JOptionPane.showInputDialog("猜小了,再输入你的猜测:"); yourGuess=Integer.parseInt(str); } } System.out.println("猜对了!"); } } 添加代码后的程序: import javax.swing.JOptionPane; public class GuessNumber { public static void main (String args[ ]) { System.out.println("给你一个1至100之间的整数,请猜测这个数"); int realNumber=(int)(Math.random()*100)+1; int yourGuess=0; String str=JOptionPane.showInputDialog("输入您的猜测:"); yourGuess=Integer.parseInt(str); while(yourGuess<=100) //循环条件 { if(yourGuess> realNumber) //条件代码 { str=JOptionPane.showInputDialog("猜大了,再输入你的猜测:"); yourGuess=Integer.parseInt(str); } else if(yourGuess< realNumber) //条件代码
循环控制结构(又称重复结构)是程序中的另一个基本结构.在实际问题中,常常需要 进行大量的重复处理,循环结构可以使我们只写很少的语句,而让计算机反复执行,从而完成大量类同的计算. C语言提供了while语句、do...while语句和for语句实现循环结构. 3.4.1while语句 while语句是当型循环控制语句,一般形式为: while<表达式>语句; 语句部分称为循环体,当需要执行多条语句时,应使用复合语句. while语句的流程图见图3-8,其特点是先判断,后执行,若条件不成立,有可能一次也不执行. [例3-11]求n! 分析:n!=n*(n-1)*(n-2)*..2*1,0!=1.即S0=1,Sn=Sn-1*n.可以从S0开始,依次求出S1、S2、...Sn. 统一令S等于阶乘值,S的初值为0!=1;变量i为计数器,i从1变到n,每一步令S=S*i,则最终S中的值就是n!. 流程图见图3-9,程序如下:
考察图3-9中循环部分的流程图可以看出,在循环前各变量应有合适的值(s=1),另外,控制循环结束的变量(此处为i)必须在循环体中被改变,否则,循环将无限进行下去,成为死循环.
本题中,将多项式的每一项用t表示,s代表符号,在每一次循环中,只要改变s、n的值,
就可求出每一项t. 一般情况下,while型循环最适合于这种情况:知道控制循环的条件为某个逻辑表达式的值,而且该表达式的值会在循环中被改变,如同例3-12的情况一样. 3.4.2do...while语句 在C语句中,直到型循环的语句是do...while,它的一般形式为: do语句while<表达式> 其中语句通常为复合语句,称为循环体. do...while语句的流程图见图3-10,其基本特点是:先执行后判断,因此,循环体至少被执行一次. 但需要注意的是,do...while与标准的直到型循环有一个极为重要的区别,直到型循环是当条件为真时结束循环,而do...while语句恰恰相反,当条件为真时循环,一旦条件为假,立即结束循环,请注意do...while语句的这一特点. 例[3-13]计算sin(x)=x-x3/3!+x5/5!-x7/7!+... 直到最后一项的绝对值小于1e-7时为止. 分析:这道题使用递推方法来做. 让多项式的每一项与一个变量n对应,n的值依次为1,3,5,7,...,从多项式的前一项算后一项,只需将前一项乘一个因子: (-x2)/((n-1)*n) 用s表示多项式的值,用t表示每一项的值,程序如下: #include
浙江大学城市学院实验报告 课程名称 ______________ 面向对象程序设讣 实验工程名称 ________________ Java语言基础实验__________________________________ 学生姓名专业班级学号 实验目的和要求 1.掌握Java语言的基本数据类型、字符串、数组 2.掌握Java语言的运算符、表达式、语句 3.能够编写Java应用程序 二. 实验内容 1.局部变量与final变量实验 2.基本数据类型与转换实验 3.算术运算的精度问题实验 4.移位运算实验 5.运算赋值实验 6.短路逻辑运算实验 7.编程实验:输出Unicode特泄区间的字符。 &编程实验:分析输入的数字 三. 实验结果与分析(可将程序运行结果截屏,也可分析运行结果) 1.局部变量与final变量实验。编写以下程序,并回答问题。 public class LocalVariablcInitExample { public static void main(String[] args) { int a o System.out.print(a)o final int b = 100。 b++o System.out.print(b)c } } (1)程序的错误 1、S ystem.out.print(a)o出错,局部变量a没有进行过初始化或赋值 2、b++。岀错,不能对终态局部变量b赋值。它必须为空白,并且不使用复合赋值
(2)改正方式 public class LocalVariablelnitExample { public static void main(String[] args) { int a=10 o System.out.print(a)o final int b= 100° Systeni.out.print(b)o } } 2.基本数据类型与转换实验。编写以下程序,分析代码的输出结果,并回答问题。class Test2{ public static void main(String[] args){ System.out.println(M第1段测试代码输出”)。 System.out.println((byle)255)o System.out.println((short)65535)0 System.out.println((byte)-129)。 System.out.println((byte)129)o System.out.println((byte) 128)。 System.out.printing第2段测试代码输出”)。 int i= 123456789 c float f =仁 System.out.println(f)0 longj=123456789123456789L, double d = j。 System.out.println(d)o System.out.println(H第3段测试代码输出 System.out.println(077) <> System.out.println(0x77)o System.out.println(77)o } } 请分析并回答以下问题: (1)分析第1段代码,说明在什么情况下,int类型的数字转换为byte或者short类型,会岀 现符号变化,即正数变负数,负数变正数?为何输出会不同? 答:在强制类型转换时,如果数值超过目标类型的取值范用,那么某些数据位会被强行截断(即数据截断),从而导致数据丢失,甚至符号丢失。 例如:byte的取值范围是-27~2U, int类型的255不在这个范围内,强制转换的结果是-lo (2)分析第2段代码,说明整数类型向浮点型转型是否可能岀现精度损失,是否需要强制 转换。 答:整数类型向浮点型转型可能会出现精度损失?不需要强制转换,可以自动类型转换。
实验二数据类型、运算符和表达式一、实验目的 (1)了解C 语言数据类型的意义,掌握基本数据类型变量的特点和定义方法。 (2)学会使用C 的算术运算符,以及包含这些运算符的算术表达式。 (3)掌握自加(++)和自减(--)运算符的使用。 (4)进一步熟悉C 程序的编辑、编译、连接和运行的过程。 二、实验要点 基本数据类型包括整型、字符型、实型。 三、实验要求 (1)上机前先阅读和编写以下要调试的程序。 (2)上机输入和调试程序并存在磁盘上。 (3)检查实验结果是否正确。 四、实验内容 (以下内容在实验报告中的实验预
习报告内容中完成) 1. 调试程序,分析输出结果 (1)输入并运行以下程序。 main() {float a,b; a=123456.789e5; b=a+20; printf("a=%f,b=%f\n",a,b); } 将第二行改为: double a,b; 再运行,分析运行结果。 说明:由于实型变量的值是用有限的存储单元存储的,因此其有效数字的位数是有限的。float型变量最多只能保证7 位有效数字,后面的数字是无意义的,不能准确表示该数。 (2)输入并运行以下程序。 ①将第二行改为:int c1,c2;再运行。 ②再将第三行改为:c1=300;c2=400;再运行,分析运行结果。 说明:字符型数据可作为整型数据
处理,整型数据也可以作为字符型数据处理,但应注意字符数据只占一个字节,它只能存放0-255 范围的整数。 (以下内容在实验报告中的实验操作原始记录中完成) 2.完成以下填空,并把程序调通,写出运行结果。 下面的程序计算由键盘输入的任意两个整数的平均值: main() {int x,y ; ; scanf(“%d,%d”,&x,&y); ; printf(" The average is : %f ",a); } 3. 指出以下程序的错误并改正,上机把程序调通 {int a; A=5;main();
6 循环控制 一、单项选择题 1、for(i=1;i<9;i+=1);该循环共执行了(C)次。 A. 7 B. 8 C. 9 D. 10 分析:第一次i=1,i<9,i+1=2; 第二次i=2,i<9,i+1=3; …… 第八次i=8,i<9,i+1=9 第九次i=9,i<9不满足,跳出循环。 2、int a=2;while(a=0) a--;该循环共执行了(A)次。 A. 0 B. 1 C. 2 D. 3 分析:a=2不满足初始条件a=0,直接跳出循环,不执行a--。 3、执行完循环 for(i=1;i<100;i++);后,i 的值为(B)。 A. 99 B. 100 C. 101 D. 102 分析:第一次 i=1,a<100,i+1=2; 第二次 i=2,a<100,i+1=3; …… 第99次 i=99,i<100,i+1=100; 第100次 i=100,不满足i<100,跳出循环,i=100。 4、以下 for语句中,书写错误的是(C)。 A. for(i=1;i<5;i++) B. i=1;for(;i<5;i++) C. for(i=1;i<5;i++); D. for(i=1;i<5;) i++; 分析:for语句后面的第一个、第三个语句都可以省略,只需要规定循环条件避免循环无休止的进行。但for语句后面不需要加“;”。 5、(C)语句,在循环条件初次判断为假,还会执行一次循环体。 A. for B. while C. do-while D. 以上都不是 分析:do..while无条件执行一次先,而while或for语句都是先判断,满足条件后在执行。用for语句可以完全替代while语句。 6、有以下程序段 int i=5; do{ if(i%3==1) if(i%5==2) {printf("*%d",i); break; } i++; } while(i!=0);
Java 语言程序设计习题2 1.创建类,表示职员,取名为Employee。 a)添加成员变量,姓名、年龄、岗位、月薪。(名称随意) b)添加构造方法,可以设定姓名、年龄、岗位、月薪。 c)添加成员方法,可以读取并显示姓名、年龄、岗位、月薪。 d)添加成员方法,涨薪,给职员增加指定比例的月薪。 e)进行测试:创建3个职员实例,姓名、年龄、月薪任意。 f)进行测试:创建数组Employee e[],将创建的3个职员放入e。 g)进行测试:使用循环语句显示e中所有职员的信息。 h)进行测试:使用循环语句于e中所有职员增加10%月薪,重新显示所有 职员。 2.编写如下程序。 a)创建类,表示饭卡,取名为Card。 b)Card添加成员变量,double balance,表示余额。 c)Card添加构造方法,创建实例时设置余额。 d)Card添加成员方法,charge(double b),表示付费,调用后余额减b。 e)Card添加成员方法,getBalance(),返回余额值。 f)创建类,表示食堂,取名为Canteen。 g)Canteen添加成员方法,order(Card c, String s),表示用“c”这张卡购买 “s”这个食物。如果购买的是“rice”,c的余额减1,并显示余额值; 如果购买的是“milk”,c的余额减2,并显示余额值;如果都不是,显 示“No such food!” h)进行测试,创建Card与Canteen实例,购买“rice”、“milk”、“coffee”。 3.剩余时间调试教科书2、3章例题。 报告书电子版:新建记事本(.txt)文件,复制各题的程序代码(复制时请标注class 名称,如:p1.java)。文件名为: 学号_姓名.txt 程序源代码:左侧project文件->鼠标右键->properties,可查看源代码路径。将project文件夹(例:123456_小明)整体压缩。文件名为: 学号_姓名.zip(或rar) 请严格准守文件名格式,下周之内把两个文件交给班长。