实验 2 Java 语言基础Word下载.docx
《实验 2 Java 语言基础Word下载.docx》由会员分享,可在线阅读,更多相关《实验 2 Java 语言基础Word下载.docx(20页珍藏版)》请在冰豆网上搜索。
longl=0xfffL;
charc='
c'
;
floatf=0.23F;
doubled=0.7E-3;
booleanbool=true;
Stringstr="
这是字符串数据类型"
System.out.println("
字节型变量b="
+b);
System.out.println("
短整形变量s="
+s);
整型变量i="
+i);
长整型变量l="
+l);
字符型变量c="
+c);
浮点型变量f="
+f);
双精度变量d="
+d);
布尔型变量bool="
+bool);
字符串类对象Str="
+str);
}
}
2、编译并运行该程序,结果如图1所示。
图1程序SimpleTypes.java的编译及运行结果贴图
(二)了解各种类型的取值范围和变量的使用范围
1、使用System.out.printf方法把所有基本数据类型的最大值最小值表示出来。
如int类型的取值范围System.out.printf("
int\t数值范围:
%d~%d\n"
Integer.MAX_VALUE,Integer.MIN_VALUE);
publicclassShuChu{
System.out.printf("
程序及运行结果贴图
2、Scope.java文件,通过本程序了解变量的使用范围,源代码如下:
//Scope.java
//Java中变量的作用域
publicclassScope{
publicstaticvoidmain(String[]args){
intx=25;
x="
+x);
//只有x有效
{
inty=36;
y="
+y);
//x,y均有效
}
//只有x有效,y“outofscope”
2、编译Scope.java
此时会出现错误提示如图2所示。
因为变量y在方法块中声明,在方法块之外它是不存在的,所以编译时会出错。
程序运行过程贴图
3、修改上面的程序。
x="
inty=36;
y="
//只有x有效,y"
outofscope"
4、成功运行该程序。
Scope.java的运行结果
思考:
Scope.java程序说明了什么问题?
定义的变量有自己的作用域,超出其范围将出现运行错误呢。
(三)使用关系运算符和逻辑运算符
1、建立使用关系运算符RealtionOp.java和逻辑运算符LogicOp.java的程序文件,源代码如下:
//RelationOp.java
//Java中关系运算符的使用
publicclassRelationOp{
inta=9;
intb=6;
intc=6;
booleand=a>
b;
//ture
booleane=a<
//false
booleanf=b==c;
booleang=b!
=c;
f=(b==c)||(a<
b);
g=(b==c)&
&
(a<
System.out.println("
d="
+d);
e="
+e);
f="
+f);
g="
+g);
运行结果贴图
//LogicOp.java
//Java中逻辑运算符的使用
publicstaticvoidmain(String[]args){
booleand,e,f=false,g=false;
d=!
(a>
e=(a>
b)&
c);
booleanh=b>
booleani=b<
booleanj=a==b;
h="
+h);
i="
+i);
j="
+j);
2、编译并运行该程序。
(四)使用表达式语句与复合语句
1.建立包含表达式语句程序,源代码如下。
classLX2_5{
publicstaticvoidmain(String[]args){
intk,i=3,j=4;
k=20*8/4+i+j*i;
表达式(20*8/4+i+j*i)="
+k);
}
2.建立包含复合语句程序,源代码如下。
classLX2_6{
publicstaticvoidmain(Stringargs[]){
k=i+j;
在复合块外的输出k="
{
floatf;
f=j+4.5F;
i++;
在复合块内的输出f="
在复合块内的输出k="
在复合块外的输出i="
3.编译并运行上述两个源程序,结果如图
LX2_5.java的运行结果
LX2_6.java的运行结果
程序运行编译及运行过程贴图\
4.将变量i在块内定义会怎样?
改变其他变量的位置看看会发生什么变化。
会报错,
指出程序的复合结构以及变量的使用范围。
变量只能在他的作用域中使用;
(五)使用选择语句
1.使用if...else语句
(1)程序功能:
使用if...else语句构造多分支,判断某一年是否为闰年。
闰年的条件是符合下面二者之一:
能被4整除,但不能被100整除;
能被4整除,又能被100整除。
(2)编写源程序文件,代码如下
importjava.util.*;
publicclassTest1
//编写程序
publicstaticvoidtest(intyear)
{
if(year%400==0||(year%4==0&
year%100!
=0))
System.out.println("
是闰年!
"
);
else
不是闰年!
publicstaticvoidmain(String[]args)
intyear;
Scannerinput=newScanner(System.in);
for(inti=0;
i<
4;
i++)
{
year=input.nextInt();
test(year);
}
(3)编译运行程序,其结果如图所示。
程序运行编译及运行过程贴图
2.使用switch语句
在不同温度时显示不同的解释说明。
温度c<
10度,显示某某℃有点冷。
要多穿衣服
10≤c<
25度,显示某某℃正合适。
出去玩吧。
25≤c<
35度,显示某某℃℃有点热。
c≥35,显示某某℃太热了!
开空调。
上面的某某用变量c的值替换
(2)程序源代码如下。
classLX2_8{
intc=38;
switch(c<
10?
1:
c<
25?
2:
35?
3:
4){
case1:
"
+c+"
℃有点冷。
要多穿衣服。
break;
case2:
℃正合适。
case3:
℃有点热。
default:
℃太热了!
(3)编译运行程序,其结果如图所示。
(六)使用循环语句
1.for循环语句练习
(1)程序功能:
按5度的增量打印出一个从摄氏温度到华氏温度的转换表。
(2)程序源代码如下。
classLX2_9{
publicstaticvoidmain(Stringargs[]){
inth,c;
摄氏温度华氏温度"
for(c=0;
c<
=40;
c+=5){
h=c*9/5+32;
(3)编译并运行程序,其结果如图
2.while循环语句练习
运行程序后从键盘输入数字1/2/3后,可显示抽奖得到的奖品;
如果输入其它数字或字符显示“没有奖品给你!
”。
importjava.io.*;
classLX2_10
publicstaticvoidmain(Stringargs[])throwsIOException{
charch;
按1/2/3数字键可得大奖!
按空格键后回车可退出循环操作."
while((ch=(char)System.in.read())!
='
'
){System.in.skip
(2);
//跳过回车键
switch(ch){
case'
1'
:
恭喜你得大奖,一辆汽车!
break;
2'
不错呀,你得到一台笔记本电脑!
break;
3'
没有白来,你得到一台冰箱!
真不幸,你没有奖品!
下次再来吧。
(3)编译源程序。
(4)在命令提示符窗口运行程序,然后分别按1、2、3、r结果如图10所示。
3.do…while循环语句练习
求1+2+…+100之和,并将求和表达式与所求的和显示出来。
publicclassTest2{
inti=1,Num=0;
do{
Num=Num+i;
i++;
}while(i<
=100);
Num="
+Num);
程序代码
(3)编译并运行程序,结果如图1所示。
作业题:
课后题
P532.11、2.18
1、2.11
程序段如下:
importjava.util.Scanner;
publicclassSalary{
Scannerinput=newScanner(System.in);
System.out.print("
Enteremployee'
sname:
Stringname=input.next();
Enternumberofhoursworkedinaweek:
inthours=input.nextInt();
Enterhourlypayrate:
doublepay=input.nextDouble();
Enterfederaltaxwithholdingrate:
doublefederal=input.nextDouble();
Enterstatetaxwithholdingrate:
doublestate=input.nextDouble();
doublesum=(double)hours*pay;
doublef=sum*federal;
doubles=sum*state;
doublefs=f+s;
doublen=sum-fs;
EmployeeName:
+name);
HoursWorked:
+hours);
PayRate:
$"
+pay);
GrossPay:
+sum);
Deductions:
FederalWithholding("
+federal+"
)"
+f);
StateWithholding("
+state+"
+s);
TotalDeduction:
+fs);
NetPay"
+n);
P86~P873.17、3.22
P1184.19
P1194.25、4.34