徐思201771010132《面向对象程序设计(java)》第三周学习总结

一、理论知识部分

第一章:Java是一种具有简单性、面向对象、分布式、 健壮性、安全性、体系结构中立、可移植性、解 释型、高性能、多线程、动态性的语言。

第二章:Java 源程序是以• Java为后缀的文本文件,可以用各种 Java集成 开发环境中的源代码编辑器来编写,也可以用文本编辑工具来编写。

如果源文件中有多个类,那么只能有一个类是public类。 如果有一个类是public类,那么源文件的名字必须与这个类的 名字完全相同。 源程序文件的扩展名是.java。 如果源文件没有public类,那么源文件的名字只要和某个类的 名字相同,并且扩展名是.java就可以了。

译后生成目标文件(8位的ASCII码文件)。而Java程序中源代 码经编译生成的目标码为 两个字节的 字节码 (16位) 。

字节码文件是二进制文件。编译字节码需要使用专用的Java 编译器,在集成化的Java开发环境中,只要选择一个菜单命 令或单击一个按钮就可以完成这个编译过程。而在JDK命令 行开发工具中则需要运行独立的编译程序。

– 字节码不能直接运行在一般的操作系统平台上, 而必须运行在称为“Java 虚拟机”的在操作系统 之外的软件平台上。运行Java程序时首先应该启 动这个虚拟机,然后由它来解释、执行Java 的字 节码文件。 – 利用Java 虚拟机就可以把Java 字节码程序跟具 体的软、硬件平台分隔开来。

首先要用Java的编译器对Java的源程序进行 编译,产生字节码文件。 javac MyJavaApplication.java 。Java应用程序是由独立的解释器程序来运行的, 在JDK 软件包中,用来解释执行Java应用程 序字节码的解释器程序为 java MyJavaApplication。

任何一个Java 程序都是由若干个类定义组成的。 类体中通常有两种组成成分(称为类的成员)  一种是域,包括变量、常量、对象数组等独立的实体; 另一种是方法,是类似于函数的代码单元块。

方法体部分是由若干以分号结尾的语句组成的并由 一对大括号括起来,注意:方法体内部不能再定义 其他的方法。

任何一个Java应用程序方法必须有而且只能有一个 main方法,并且这个方法的方法头必须按照下面的格 式来书写: public static void main(String args [ ]) 。第6句是方法的方法体,其中System 是系统内部定义 的一个系统对象;out 是System 对象中的一个域,也 是一个对象;println是 out对象的一个方法,它的作 用是向系统标准输出设备输出其形参指定的字符串, 并回车换行。

Java Applet 中不需要有main 方法。 Java Applet要求有一个类是系统类applet 的子类, 即必须有一个类的类头部分以 extends Applet 结尾。 其中 extends 表明新定义的类是它后面跟着的已经存 在的父类的子类;Applet 是父类名。

第三章:标识符由字母、下划线、美元符号和数字组成, 且第一个符号不能为数字。

Java共有8种基本类型 – 整数类型(int、short、long、byte) – 浮点类型(float、double) – 字符类型 (char) – 布尔类型(boolean )

Java中没有unsigned类型 。

Java提供的一个特别运算符 :new这是一个用来创建对象的运算符。 Java另外一个特别运算符 Instanceof 返回一个布尔值来指出某个对象是否是一个特定类或 者是它的子类的一个实例。

大多数的数值转换是遵循优先级的关系自动完成的。  转换原则如下:  如果两个操作数中有一个是double类型的,则另一个将 会转换成double类型。 否则,如果两个操作数中有一个是float类型的,另一个 将会转换成float类型。 否则,如果两个操作数中有一个是long类型的,另一个 将会转换成long类型。  否则,两个操作数都将转换成int类型。

程序中需要用到的字符串可以分为两大类: – 创建之后不会再做修改和变动的不可变字符串String类; – 创建之后允许再做更改和变化的构建字符串StringBuilder类。

注意case子句后的break!!

数组使用之前要确定大小,可以在程序中根据需要动 态生成数组(如用表达式计算出大小)。 一旦生成数组,大小不可改变。Java不支持变长数组。  数组的属性—length : 数组元素的个数。  Java中的数组作为一种对象类型,可以作为方法的参 数,方法调用时传的是指向数组的引用。  ArrayIndexOutOfBoundsException 异常。

二、实验部分

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分钟;

实验2:公民身份证号码按照GB11643—1999《公民身份证号码》国家标准编制,由18位数字组成:前6位为行政区划分代码,第7位至14位为出生日期码,第15位至17位为顺序码,第18位为校验码。从键盘输入1个身份证号,将身份证号的年月日抽取出来,按年-月-日格式输出。注意:输入使用Scanner类的nextLine()方法,以免出错。

输入样例:

34080019810819327X

输出样例:

1981-08-19

代码如下:

package Frist;

import java.util.Scanner;

public class Frist {

public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("请输入你的身份证号:");
String ID=in.nextLine();
String year=ID.substring(6, 10);
String month=ID.substring(10,12);
String day=ID.substring(12,14);
System.out.println("你的生日:"+year+"-"+month+"-"+day);
System.out.println("Good luck!");
}

}

 

实验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)

package Class;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Class {

public static void main(String[] args) {

int i, j;
String a;
BufferedReader str = new BufferedReader(
new InputStreamReader(System.in));
System.out.println("请输入学号:");
a = str.readLine();
System.out.println("学号为:" + a);
str = new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入姓名:");
a = str.readLine();
System.out.println("姓名为:" + a);
}

}

 

实验总结:

通过这次小测试,发现自己很多问题,对之前知识的掌握并不是很好,对编程也不太会,之前的学习不是很扎实。通过对之前知识的回顾与复习,查漏补缺,对Java进一步的了解。这次小测试的结果并不是很理想,以后需要花更多的时间学习Java,更好的掌握Java知识。这次实验开始自己编写程序,对程序的编写毫无头绪,通过查阅资料及和同学讨论,最终解决问题。

posted @ 2018-09-16 22:48  徐思  阅读(141)  评论(0编辑  收藏  举报