第三周学习内容及实验
理论知识部分:
一:控制流程
Java有5种语句:
(1)方法调用语句
(2)表达式语句
(3)复合语句
(4)控制语句:if语句,switch语句,for语句,while语句,do-while语句
(5)package语句
二:大数值
如果基本的整型和浮点型数据无法达到要求的精度,那么可以使用java.math包中的两个类,BigInteger和BigDecimal。这两个类可以操作任意长的数字。
BigInteger类实现了任意精度的整数运算,BigDecimal实现了任意精度的浮点运算。
三:数组
数组是一种数据结构,它是有序数据的集合,数组中的每个元素的数据类型是相同的。
对元素的确定是由数组名和它的下标实现的,如a[0]代表数组a的第一个元素,a[1]代表数组a的第二个元素,以此类推。
1.数组的声明
一维数组格式:数组元素类型[] 数组名字;
二维数组格式:数组元素类型[] 数组名字;
其中数组元素类型可以为Java中的任意类型,包括基本类型和复合类型。
与C/C++不同,Java在数组声明时并不为数组分配内存。
在Java中,数组是独立的,有自身的方法;
一个数组是一个对象,它由基本数据类型组成。
2.数组的创建
数组声明后,要用new运算符为其分配内存空间,分配内存空间时必须指明数组的长度。
格式如下:数组名字=new 数组元素类型[个数]
数字数组创建后,所有数组元素自动初始化为0;Boolean数组创建后数组元素初始化为false;对象数组初始化为null。
数组总结:
数组使用前要确定大小,可以在程序中根据需要动态生成数组(如用表达式计算出大小)。
一旦生成数组,大小不可改变,Java不支持变长数组。数组属性——length:数组元素的个数。
Java中的数组作为一种对象类型,可以作为方法的参数,方法调用时传的是指向数组的引用。
实验部分:
实验三 Java基本程序设计
1、实验目的与要求
(1)进一步掌握Eclipse集成开发环境下java程序开发基本步骤;
(2)熟悉PTA平台线上测试环境;
(3)掌握Java语言构造基本程序语法知识(ch1-ch3);
(4)利用已掌握Java语言基本程序设计知识,学习设计开发含有一个主类、类内可有多个方法的应用程序。
2、实验内容和步骤
实验1:采用个人账号登录https://pintia.cn/,使用邀请码588329加入PTA平台NWNU-2017NISE教学班(西北师范大学 计算机科学与工程学院 2017级 网络与信息安全),完成《2018秋季西北师范大学面向对象程序设计(Java)(ch1-ch3)测试题1》,测试时间120分钟;
实验1已在课堂完成检测
实验2:公民身份证号码按照GB11643—1999《公民身份证号码》国家标准编制,由18位数字组成:前6位为行政区划分代码,第7位至14位为出生日期码,第15位至17位为顺序码,第18位为校验码。从键盘输入1个身份证号,将身份证号的年月日抽取出来,按年-月-日格式输出。注意:输入使用Scanner类的nextLine()方法,以免出错。
输入样例:
34080019810819327X
输出样例:
1981-08-19
实验3:studentfile.txt文件内容是本班同学的学号与姓名,利用此文件编制一个程序,将studentfile.txt文件的信息读入到内存,并提供两类查询功能:(1)输入姓名查询学号;(2)输入学号查询姓名。要求程序具有友好人机交互界面。
编程建议:
(1)从文件中读入学生信息,可以编写如下函数:
public static void StudentsFromFile(String fileName))
(2)输入姓名查找学生学号,可以编写如下函数:
public static String findStudent(String name)
(3)输入学号查找学生姓名,可以编写如下函数:
public static String findStudent(String ID)
实验总结:通过本次实验一,我深刻认识到自己的不足之处,不能自己独立编写出一个完整的程序,拿到一个问题不知道该如何去入手写程序,通过实验二,学会了如何使用scanner类的nextLine()方法,在实验三中,发现了自己不能写出如何将信息编制到内存,并查询其中的内容,这是我今后学习中需要重点学习的地方。(实验三本人能力不足,发现不出来错误了)