java基础实验指导.docx
- 文档编号:9189738
- 上传时间:2023-05-17
- 格式:DOCX
- 页数:99
- 大小:1,021.72KB
java基础实验指导.docx
《java基础实验指导.docx》由会员分享,可在线阅读,更多相关《java基础实验指导.docx(99页珍藏版)》请在冰点文库上搜索。
java基础实验指导
Java基础实验指导
实验1Java(Android)开发环境安装
先把安装包拷贝到硬盘:
(一)
eclipse安装:
直接双击解压即可安装:
最好解压到英文路径
(二)安装JDK:
双击
安装
环境变量配置:
右击“我的电脑”-->"高级"-->"环境变量"
1)在系统变量里新建JAVA_HOME变量,变量值为:
C:
\ProgramFiles\Java\jdk1.6.0_14(根据自己的安装路径填写)
2)新建classpath变量,变量值为:
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
3)在path变量(已存在不用新建)添加变量值:
%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin(注意变量值之间用“;”隔开)
4)“开始”-->“运行cmd”-->输入“javac”-->"Enter",如果能正常打印用法说明配置成功!
补充环境变量的解析:
JAVA_HOME:
jdk的安装路径
classpath:
java加载类路径,只有类在classpath中java命令才能识别,在路径前加了个"."表示当前路径。
path:
系统在任何路径下都可以识别java,javac命令。
(三)安装ADT
1,双击安装好的eclipse进入程序
点击菜单栏的help-》InstallNewSoftware
点击右上角Add进入界面
在Local选项中输入名字;点击Archive选中ADT安装包的路径
(即你在电脑中拷贝安装包中ADT的位置)
然后全部选中:
点击Next,选中accept进行安装
如果有警告点击ok
(四)配置android-sdk
点击菜单Window---》Preferences选中左边第二个Android
配置右边的路径Browse,选择安装包中的android-sdk-windows
实验2Java基本语法练习
一、实验目的
1.了解Java的数据类型
2.掌握各种变量的声明方式。
3.理解运算符的优先级。
4.掌握Java基本数据类型、运算符与表达式、数组的使用方法。
5.理解Java程序语法结构,掌握顺序结构、选择结构和循环结构语法的程序设计方法。
6.通过以上内容,掌握Java语言的编程规则。
二、实验要求
1.编写一个声明Java不同数据类型变量的程序。
2.编写一个使用运算符、表达式、变量的程序。
3.编写一个使用Java数组的的程序。
4.编写表达式语句、复合语句的程序。
5.编写使用不同选择结构的程序。
6.编写使用不同循环结构结构的程序。
三、实验内容
(一)声明不同数据类型的变量,源代码如下。
publicclassJava2_1{
publicstaticvoidmain(Stringargs[]){
byteb=0x55;
shorts=0x55ff;
inti=1000000;
longl=0xffffL;
charc='a';
floatf=0.23F;
doubled=0.7E-3;
booleanB=true;
StringS="这是字符串类数据类型";
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.编译并运行该程序,结果如下:
字节型变量b=85
短整型变量s=22015
整型变量i=1000000
长整型变量l=65535
字符型变量c=a
浮点型变量f=0.23
双精度变量d=7.0E-4
布尔型变量B=true
字符串类对象S=这是字符串类数据类型
(二)了解变量的使用范围
1.通过本程序了解变量的使用范围,源代码如下。
publicclassJava2_2{
staticinti=10;
publicstaticvoidmain(Stringargs[]){
{
intk=10;
System.out.println("i="+i);
System.out.println("k="+k);
}
System.out.println("i="+i);
System.out.println("k="+k);//编译时将出错,已出k的使用范围
}
}
2.编译LX2_2.java
此时会出现错误提下所示。
因为变量k在方法块中声明,在方法块之外它是不存在的,所以编译时会出错。
Exceptioninthread"main"java.lang.Error:
Unresolvedcompilationproblem:
kcannotberesolvedtoavariable
atjavatest.main(javatest.java:
11)
3.修改上面的程序。
4.成功运行该程序。
思考:
LX2_2.java程序说明了什么问题?
(三)使用关系运算符和逻辑运算符
1.建立使用关系运算符和逻辑运算符的程序文件,源代码如下。
publicclassjavatest{
publicstaticvoidmain(Stringargs[]){
inta=25,b=20,e=3,f=0;
booleand=a
System.out.println("a=25,b=20,e=3,f=0");System.out.println("因为关系表达式a
"+d);
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.编译并运行该程序,结果如下。
a=25,b=20,e=3,f=0
因为关系表达式a
false
因为e非0且a/e为8大于5,所以输出a/e=8
因为f值为0,所以输出f=0
(四)使用数组
1.建立使用数组的程序,本程序建立了一个长度为5的1维数组,一个长度为12的2维数组,源代码如下。
publicclassLX2_4{
publicstaticvoidmain(Stringargs[]){
inta[]=newint[5];
intarr1[][]=newint[3][4];
a[0]=10;a[1]=10+a[0];a[2]=30;a[3]=40;
a[4]=a[1]+a[2];
arr1[0][0]=0;arr1[0][1]=1;arr1[0][2]=2;arr1[1][0]=3;arr1[1][1]=4;arr1[1][2]=5;arr1[2][0]=6;arr1[2][1]=7;arr1[2][2]=8;
System.out.println("a["+0+"]="+a[0]);System.out.println("a["+1+"]="+a[1]);System.out.println("a["+2+"]="+a[2]);System.out.println("a["+3+"]="+a[3]);System.out.println("a["+4+"]="+a[4]);
System.out.println("arr1("+0+","+0+")="+arr1[0][0]);
System.out.println("arr1("+0+","+1+")="+arr1[0][1]);System.out.println("arr1("+0+","+2+")="+arr1[0][2]);System.out.println("arr1("+1+","+0+")="+arr1[1][0]);System.out.println("arr1("+1+","+1+")="+arr1[1][1]);System.out.println("arr1("+1+","+2+")="+arr1[1][2]);
}
}
2.编译并运行程序,结果如下所示。
a[0]=10
a[1]=20
a[2]=30
a[3]=40
a[4]=50
arr1(0,0)=0
arr1(0,1)=1
arr1(0,2)=2
arr1(1,0)=3
arr1(1,1)=4
arr1(1,2)=5
(五)使用表达式语句与复合语句
1.建立包含表达式语句程序,源代码如下。
classLX2_5{
publicstaticvoidmain(String[]args){
intk,i=3,j=4;
k=20*8/4+i+j*i;System.out.println("表达式(20*8/4+i+j*i)="+k);
}
}
2.建立包含复合语句程序,源代码如下。
classLX2_6{
publicstaticvoidmain(Stringargs[]){
intk,i=3,j=4;
k=i+j;
System.out.println("在复合块外的输出k="+k);
{
floatf;f=j+4.5F;i++;
System.out.println("在复合块内的输出f="+f);
System.out.println("在复合块内的输出k="+k);
}
System.out.println("在复合块外的输出i="+i);
}
}
3.编译并运行上述两个源程序,结果如下。
表达式(20*8/4+i+j*i)=55
和
在复合块外的输出k=7
在复合块内的输出f=8.5
在复合块内的输出k=7
在复合块外的输出i=4
4.将变量i在块内定义会怎样?
改变其他变量的位置看看会发生什么变化。
思考:
指出程序的复合结构以及变量的使用范围。
(六)使用选择语句
1.使用if...else语句
(1)程序功能:
使用if...else语句构造多分支,判断某一年是否为闰年。
闰年的条件是符合下面二者之一:
能被4整除,但不能被100整除;能被4整除,又能被100整除。
(2)编写源程序文件,代码如下。
publicclassjavatest{
publicstaticvoidmain(Stringargs[]){
booleanleap;
intyear=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;
elseif(year%100!
=0)
leap=true;
elseif(year%400!
=0)
leap=false;elseleap=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;
}
elseleap=false;
}
elseleap=false;
if(leap==true)
System.out.println(year+"年是闰年");
else
System.out.println(year+"年不是闰年");
}
}
(3)编译运行程序,其结果如下。
2005年不是闰年
2008年是闰年
2050年不是闰年
思考:
本程序中有几个选择语句,哪些具有嵌套关系?
2.使用switch语句
(1)程序功能:
在不同温度时显示不同的解释说明。
(2)程序源代码如下。
publicclassjavatest{
publicstaticvoidmain(Stringargs[]){
intc=11;
switch(c<10?
1:
c<25?
2:
c<35?
3:
4){
case1:
System.out.println(""+c+"℃有点冷。
要多穿衣服。
");
break;
case2:
System.out.println(""+c+"℃正合适。
出去玩吧。
");
break;
case3:
System.out.println(""+c+"℃有点热。
");
break;
default:
System.out.println(""+c+"℃太热了!
开空调。
");
}
}
}
(3)编译运行程序,其结果如下。
11℃正合适。
出去玩吧。
(七)使用循环语句
1.for循环语句练习
(1)程序功能:
按5度的增量打印出一个从摄氏温度到华氏温度的转换表。
(2)程序源代码如下。
classLX2_9{
publicstaticvoidmain(Stringargs[]){
inth,c;
System.out.println("摄氏温度华氏温度");
for(c=0;c<=40;c+=5){
h=c*9/5+32;
System.out.println(""+c+""+h);
}
}
}
(3)编译并运行程序,其结果如下:
摄氏温度华氏温度
032
541
1050
1559
2068
2577
3086
3595
40104
2.while循环语句练习
(1)程序功能:
运行程序后从键盘输入数字1/2/3后,可显示抽奖得到的奖品;如果输入其它数字或字符显示“没有奖品给你!
”。
(2)程序源代码如下。
importjava.io.*;
publicclassjavatest{
publicstaticvoidmain(Stringargs[])throwsIOException{
charch;
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("真不幸,你没有奖品!
下次再来吧。
");
}
}
}
}
(3)编译源程序。
(4)在命令提示符窗口运行程序,然后分别按1、2、3、r结果如图所示。
3.do…while循环语句练习
(1)程序功能:
求1+2+…+100之和,并将求和表达式与所求的和显示出来。
(2)程序源代码如下。
classLX2_11{
publicstaticvoidmain(Stringargs[]){
intn=1,sum=0;
do{
sum+=n++;
}
while(n<=100);System.out.println("1+2+...+100="+sum);
}
}
(3)编译并运行程序,结果如下。
1+2+...+100=5050
4.多重循环练习
(1)输出九九乘法表的程序,源代码如下。
publicclassLX2_12
{
publicstaticvoidmain(Stringargs[])
{
inti,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();
}
}
}
(2)编译并运行程序,结果如下。
*|123456789
-------|------------------------------------
1|1
2|24
3|369
4|481216
5|510152025
6|61218243036
7|7142128354249
8|816243240485664
9|91827364554637281
四、练习题
1.分析下面的程序,说出下面的程序为什么是死循环?
classSum{
publicstaticvoidmain(Stringargs[]){
inti=1,n=10,s=0;
while(i<=n)
s=s+i;System.out.println("s="+s);
}
}
2.编写一个成绩转换的java程序。
其对应关系如下:
分数转换后的输出结果
0~59不及格
60~69及格
70~79中
80~89良
90~100优
其它错误
3.编写一个成绩统计的java程序。
先在数组中定义5个学生的成绩,再求出平均成绩,最后找出最高分。
4.完整下面的程序,利用break语句和带标号的break语句分别退出一重循环和二重循环。
for(i=0;i<10;i++)
{
intj=i*10
while(j<100)
{
if(j==10)break;j=j+5;
}
}
实验3面向对象程序设计
一、实验目的
通过编程和上机实验理解Java语言是如何体现面向对象编程基本思想,了解类的封装方法,以及如何创建类和对象,了解成员变量和成员方法的特性,掌握OOP方式进行程序设计的方法,了解类的继承性和多态性的作用。
二、实验要求
1.编写一个体现面向对象思想的程序。
2.编写一个创建对象和使用对象的方法的程序。
3.编写不同成员变量修饰方法的程序。
4.编写不同成员方法修饰方法的程序。
5.编写体现类的继承性(成员变量、成员方法、成员变量隐藏)的程序。
6.编写体现类的多态性(成员方法重载、构造方法重载)的程序。
三、实验内容
1.新建People类,学习面向对象程设计
步骤:
(1)创建People类
*创建一个People类
*/
publicclassPeople
{
}
(2)创建数据成员
/*定义People类的成员变量*/
publicStringname;
publicintage;
publicchargender;
publicdoubleheight;
publicdoubleweight;
(3)创建People类的成员方法
publicvoidsetName(Stringtemp){
name=temp;
}
publicStringgetName(){
returnname;
}
(4)创建构造函数
方法1:
publicPeople(){
name="小明";
age=26;
gender='F';
……
}
方法2:
publicPeople(Stringname,intage,chargender,doubleheight,doubleweight){
this.name=name;
this.age=age;
……}
(5)创建main函数
publicstaticvoidmain(Stringargs[]){
/*利用构造函数创建一个类的实例*/
//第一种实例化变量方式
Peoplep1;
p1=newPeople();
//第二种实化变量方式
Peoplep2=newPeople(“can”,28,’M’,180,75);
System.out.println(“p1各变量值:
姓名、年龄、性别、身高、体重:
"+
"\n"+p1.name+"\n"+p1.age+"\n"+p1.gender+"\n"+p1.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 基础 实验 指导