Corejava上机实验.docx
《Corejava上机实验.docx》由会员分享,可在线阅读,更多相关《Corejava上机实验.docx(44页珍藏版)》请在三一办公上搜索。
1、Corejava上机实验第一章:开始 一)基础实验: 1. 在Linux下安装JDK,配置环境变量 安装JDK: sudo chmod 777 /opt cp jdk-6u24-linux-i586.bin /opt cd /opt chmod a+x jdk-6u24-linux-i586.bin ./jdk-6u24-linux-i586.bin 配置环境变量: cp /.bahsrc /.bashrc.bak vi /.bashrc G=到文件结尾 o=下一行输入 JAVA_HOME=/opt/jdk1.6.0_24 PATH=JAVA_HOME$/bin:$PATH CLASSPATH
2、=. export JAVA_HOME PATH CLASSPATH :wq . /.bashrc javac echo $JAVA_HOME 2. 编辑、编译、运行一个带有包名的Hello.java,输出Hello World! vi Hello.java javac d bin src/Hello.java java cp bin com.briup.chap01.Hello 3. 编辑、编译、运行一个带有包名的MymathTest.java,完成整数的加减运算 vi MymathTest.java javac d bin src/ MymathTest.java java cp bin
3、com.briup.chap01. MymathTest 二)扩展实验: 1. JVM组成 类装载器:将java字节码加载到内存 运行时数据区: 方法区:类型信息 堆区:对象 栈区:保存方法调用状态,如局部变量、参数、返回值 PC寄存器:指向下一条将要执行的指令 本地方法栈:保存本地方法调用状态 执行引擎:运行类方法中的指令 三)作业: 1. 什么是JDK,其包括哪些内容 Java Development Kit(Java开发工具包),JDK主要包括内容: a. Java虚拟机:负责解析和执行Java程序,Java虚拟机可运行在各种平台上; b. JDK类库:提供最基础的Java类及各种实用类
4、,java.lang、java.io、java.util,、javax.swing、java.sql等包中的类都位于JDK类库中。 c. 开发工具:这些开发工具都是可执行程序,主要包括: javac编译工具; java运行工具; javadoc生成JavaDoc文档的工具 jar打包工具 2. 和java相关的环境变量有那几个,它们有什么作用 JAVA_HOME:简化其它变量设置过程中的内容输入。可先行将JDK的安装路径定义为一变量,以后凡使用到JDK安装路径的地方均使用该变量进行替换。 PATH:指定执行外部命令时找寻对应可执行文件的路径范围。 CLASSPATH:代表Java类的根路径,j
5、ava命令会从CLASSPATH中寻找所需的Java类;Java编译器编译Java类时,也会从CLASSPATH中寻找所需的Java类;classpath的默认值为当前路径。 3. java的优秀特性 跨平台:字节码跨平台,在任何平台上字节码都一样,但不同平台有不同平台的JVM 易编程:没有指针、面向对象 代码安全:有字节码校验器,适合在网络传输 4. 字节码校验器验证哪些内容 代码和jvm规范一致 代码不能破坏系统的完整性 没有堆栈的上溢和下溢 参数类型是正确的 类型转换是正确的 5. java程序编辑、编译、运行过程 vi xxx.javajavac xxx.javajava xxx 6.
6、 java中包的作用 将有关联关系的类组织在一起,便于管理;解决命名冲突问题 7. 什么是API,如何查看API Application Programming Interface 先查看packageclass/interfacefield/constructor/method 8. 修正Test1.java、Test2.java、Test3.java、Test4.java四个java源文件中的错误,使其能够编译和运行 第二章:标识符、关键字、类型 1) 基础实验: 1. 单行、多行注释例子 example/chap02/src/CommentTest.java 2. 写一java程序添加文
7、档注释,通过javadoc产生API文档 example/chap02/src/CommentTest2.java javadoc -d ./doc -author -version src/CommentTest2.java 3. 数据类型测试例子 example/chap02/src/TypeTest.java 4. 类、对象测试例子 example/chap02/src/Teacher.java example/chap02/src/TeacherTest.java 二)扩展实验: 1. 找零问题:有2元,买东西花了1.1元,问找零多少? System.out.println(2.00-
8、1.10); 注意:在需要精确答案的地方,要避免使用float或double;对于货币计算,要使用int、long或BigDecimal 2. 长整除问题: long micros_per_day = 24 * 60 * 60 * 1000 * 1000; long millis_per_day = 24 * 60 * 60 * 1000; System.out.println(micros_per_day / millis_per_day); 输出结果。 注意:当你操作很大的数字时,一定要提防溢出;较大整数运算可使用BigInteger 3. 初级问题 System.out.println(
9、12345 + 5432l)输出结果。 注意:做题要细心;在long类型字面常量中,一定要用大写的L 三)作业: 1. java中注释的分类 java中注释分三类 /:单行注释,如描述一个变量的作用 /* */:多行注释,如描述类的作用、方法的作用、复杂算法的描述 /* */:文档注释,需产生API文档时使用 2. java中标示符的命名规则 1) 以字母、_和$开头,不能以数字开头,后跟字母、数字、“_”和“$”的组合 2) 大小写敏感 3) 没有长度限制 4) 不能使用关键字 3. java中有哪些常用的基本数据类型 boolean、整型族、浮点型、字符型 4. 类和对象的概念 类是现实世
10、界中,具有相同属性和行为的事物的抽象。 对象是类的具体化。 5. 基本数据类型和引用类型的区别 1) 基本类型代表简单的数据类型,比如整数和字符。 引用类型代表复杂数据类型,引用类型所引用的实例包括操纵这种数据类型的行为。通过.运算符,就能访问引用变量所引用的实例的方法. 2) 基本类型Java虚拟机会为其分配数据类型实际占用的内存空间; 引用类型仅是一个指向堆区中某个实例的指针。 例:public class Counter int count = 13; Counter counter = new Counter; counter引用变量- Counter实例 count变量(占4个字节,
11、值为13) counter引用变量的取值为Counter实例的内存地址。 counter引用变量本身也占一定的内存空间,到底占用多少内存空间取决于Java虚拟机的实现,这对Java程序是透明的。 注:counter引用变量到底位于Java虚拟机的运行时数据区的哪个区?取决于counter变量的作用域,如果是局部变量,则位于Java栈区;静态成员变量,则位于方法区;实例成员变量,则位于堆区; 6. 编程 1)模仿Teacher类创建Student类 要求:Student类要描述姓名、性别、年龄 2)模仿TeacherTest类创建StudentTest类 要求: a) 在StudentTest类
12、中创建Student的对象 b) 为该对象的属性赋值 c) 将该对象的属性输出 7. 编程 1)为Teacher类添加一个方法,用于在教师原有薪水的基础上增加5000 2)修改TeacherTest类,增加对教师增加薪水方法的调用,并将增加后的薪水值输出 8. 编程 已知类MyPoint表示一个二维的点,其定义如下: public class MyPoint public int x; public int y; public String toString return ( + x + , + y + ); 使用上面已提供的MyPoint类,建立一个TestMyPoint程序,该程序执行下列
13、操作: 1)定义两个类型为MyPoint的变量,变量名为:start 和 end。每个变量赋值一个新的MyPoint的对象。 2)将start 的 x 和 y 值设置为10,end的 x值设置为20,y值为30。 3)打印输出这两点变量,使用类似于如下的代码:System.out.println(“Start point is ”+start); 4)编译运行TestMyPoint。 5)声明一个类型为MyPoint的新变量,名为stray 将现有变量end 的引用值赋值给stray。 6)打印输出stray 和 end 。 7)将新值赋值给stray 变量的 x 和 y成员。打印输出stra
14、y end start。 8)编译运行TestMyPoint。end报告的值反映了stray中的变化,说明这两个变量引用的似同一个MyPoint对象。但是,start并没有改变,说明start与另两个变量无关。 输出结果应与下面类似: Start point is End point is Stray point is End point is Stray point is End point is Start point is 第三章:表达式和流程控制 一)基础实验: 1. 局部变量和实例变量测试例子 example/chap03/src/VariableTest.java 2. 操作符测试
15、例子 example/chap03/src/OperatorTest.java example/chap03/src/BitTest.java位运算 3. if语句测试例子 example/chap03/src/IfTest1.java example/chap03/src/IfTest2.java判断闰年 4. switch语句测试例子 example/chap03/src/SwitchTest.java example/chap03/src/Days.java某一年月有多少天 5. for、while、do while循环语句测试例子 example/chap03/src/LoopTest
16、.java三种循环实训1累加到100 example/chap03/src/LoopRandom.java产生10个200,500间的随机数 example/chap03/src/GcdLcm.java求两个数的最大公约数和最小公倍数 6. break、continue关键字测试例子 example/chap03/src/BreakContinueTest.java 2) 扩展实验: 1. 复合赋值 short x = 0; int i = 123456; x += i;/编译通过,x = -7616 x = x + i;/编译错误 注意:复合赋值表达式自动地将所执行计算的结果转型为其左侧变量
17、的类型 2. 判断奇数 public boolean isOdd(int i) return i % 2 = 1; /return i % 2 != 0; 注意:当取余操作返回一个非零的结果时,它与左操作数具有相同的正负符号 3. 逻辑操作符&和位运算符&区别 注意:&是位运算符,可以进行逻辑运算,但不会逻辑短路 4. 条件运算符 int a = 20; int b = 10; char c = x; int i = 0; System.out.println(a b ? c : 0); System.out.println(a b ? i : c); 注意:除非彻底理解表达式行为的复杂规范,
18、通常最好在条件表达式中使用类型相同的第二和第三操作数 5. 类型转换 System.out.println(int)(char)(byte) - 1); 注意:计算机中,数都以补码的形式存放,正数的补码是其本身,负数的补码是其绝对值取反加1; 如果补码的符号位为“0”,表示是一个正数,所以补码就是该数的原码; 如果补码的符号位为“1”,表示是一个负数,求原码的操作可以是:符号位为1,其余各位取反,然后再整个数加1. 类型转换时,如果最初的数值类型是有符号的,那么就执行符号扩展;如果它是char,那么不管将要被转换成什么类型,都执行零扩展 三)作业: 1. 编程 exercise/chap03
19、第四章:数组 一)基础实验: 1. 数组基础测试例子 example/chap04/src/ArrayTest.java example/chap04/src/ArrayTest2.java 2. 求一组数的平均值 example/chap04/src/ArrayAvgTest.java 3. 求一组数的最大值 example/chap04/src/ArrayMaxTest.java 4. 冒泡排序 example/chap04/src/ArraySortTest.java 5. java辅助类java.util.Arrays辅助类的sort(int n)以及binarySearch(int
20、n,int key) example/chap04/src/ArraySortTest2.java 6. 随机抽取中奖手机号码 example/chap04/src/RandomTelphone.java 7. 产生4位验证码 example/chap04/src/ValidateCode.java 8. 多维数组测试例子 example/chap04/src/MultiArray.java 9. 填充二维方阵 example/chap04/src/Martrix.java 10. 数组拷贝 example/chap04/src/ArrayCopy.java 二)扩展实验: 1. 产生100个
21、1,6的整数,并统计每个整数出现的频率 example/chap04/src/Frequency.java 三)作业: 1. 编程 exercise/chap04 第五章:面向对象编程 1) 基础实验: 1) java的三大特性是哪些?每个特性的具体含义是什么? 2) 范围修饰符有几种?分别代表什么范围? 3) 什么是构造器? a) 构造器就是和类名相同但无返回类型的方法 4) 重写和重载的区别? a) 重写是子类的方法覆盖父类的方法,要求方法名和参数都相同 b) 重载是在同一个类中的两个或两个以上的方法,拥有相同的方法名,但是参数却不相同,方法体也不相同,最常见的重载的例子就是类的构造函数
22、5) 类的创建和初始化 i.example/chap05/Employee.java ii.example/chap05/EmployeeTest.java 6) 参数传递 i. example/ch05/ParamterTest.java ii. example/chap05/Student.java 7) this关键字的使用 a) example/ch05/Student.java b) example/ch05/StudentTest.java 8) 类的创建顺序 a) example/ch05/ObjectInit.java 9) 重载的构建 a) example/ch05/Over
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Corejava 上机 实验

链接地址:https://www.31ppt.com/p-3154789.html