王艳 201771010127《面向对象程序设计(java)》第二周学习总结

 王艳 201771010127面向对象程序设计java第二周学习总结

第一部分:理论知识学习部分

3.1:基本概念。

1)标识符:标识符由字母、数字、美元符号以及下划线组成。且第一个符号不能为数字。比如:Hello$1234、程序名、www_123等都是合法标识符

标识符可用作:类名、变量名、方法名、数组名、文件名等。

2)关键字:java中被赋予特定意义的单词。常见的关键字有class、public、catch、if、float等。

   关键字不能作变量名。

3.2:注释。

1)//:其注释内容可以从本行到结尾。

2)需要长篇注释时,可以在每行的注释前面标记//,也可以使用/*和*/将一段比较长的注释括起来。

3)/**开始,以*/结尾(C语言中没有这种注释),这种注释可以用来自动的生成文档。

3.3:数据类型。

java中,一共有八种基本类型,其中有4种整型、2种浮点型、1种用于表示Unicode编码的字符单元的字符类型char和一种用于表示真值的boolean类型。

1)整形(int、short、long、byte):整形用于表示没有小数部分的数值,它允许是负数。

2)浮点类型(float、double):浮点类型用于表示有小数部分的数值。

   浮点类型中用于表示溢出和出错情况的三个特殊浮点值为:正无穷大、负无穷大以及NaN(不是一个数字)。

3)char类型:char类型用于表示单个字符。

4)boolean类型:boolean类型有两个值:false和true,用来判定逻辑条件。整型值和布尔值之间不能进行转换。

3.4:变量。

    Java中,每个变量都有一个类型,在声明变量时,变量的类型位于变量名之前。

double salary;int vacationdays;

long EarthPopulation;boolean done;

Java中,一行可以声明多个变量,逐行声明每一个变量可以提高程序的可读性。另外,不能使用java保留字作为变量名。

int i,j;// both are integers

3.4.1:变量初始化。

    声明变量后,必须用赋值语句对变量进行显式初始化,千万不要使用未初始化的变量。

java中,可以将声明放在代码中的任何地方,且要尽量的靠近变量第一次使用的地方。

java中,不区分变量的声明与定义。

3.4.2:常量(一般使用全大写)。

Java中,利用关键字final指示常量,关键字final表示这个变量只能被赋值一次。

java中,经常希望某个常量可以在一个类中的多个方法中使用,通常将这些

常量称为类常量。可以使用关键字 static final 声明一个类常量( class

constants)。 

    java中,必须使用final定义常量。

3.5:运算符。

    Java中,使用算术运算符+、—、*/表示加减乘除运算。

    整数被0除将会产生一个异常,浮点数被0除将会产生一个无穷大或NaN结果。

1)数学常量与函数。

     java中,没有幂运算。因此要借助Math类的pow方法。

     double y=Math.pow(X,a);

此外,java还提供了两个用于表示圆周率和e常量的近似值:Math.PIMath.E

2)数值类型之间的转换。

进行数值类型之间的转换时,其中一个操作数是什么类型,另一个操作数也会转换成什么类型。否则,两操作数将都被转换成int型。

3)强制类型转换。

强制类型转换的语法格式是在圆括号中给出想要转换的目标类型,后面紧跟着带转换的变量名。

double x=9.997

int nx=intx

4)结合赋值和运算符。

x+=4;等价于x=x+4

3.6:字符串。

     字符串用到的类是标准类。

      Java没有内置的字符串类型,而是在标准java库中提供了一个预定义类,叫做String。每个双引号括起来的字符串都是String类的一个实例,如:

String e=””;//an empty string

String greeting=”Hello”;

1)子串:String类的substring方法可以从一个较大的字符串提取出一个子串。如:String greeting=Hello”;

        String s=greeting.substring(0,3);创建了一个由字符“Hel”组成的字符串。

2)拼接:java语言允许使用+连接两个字符串。

3)检测字符是否相等:使用equals方法检测两个字符串是否相等。

*一定不要使用==运算符检测两个字符串是否相等。这个运算符只能确定两个字符串是否放在同一位置上。如果字符串放置在同一位置上,它们必然相等。

3.7:输入输出。

1)读取输入:要通过控制台进行输入,首先需要构造一个Scanner对象,并与“标准输入流”System.in关联。

Scanner in=new ScannerSystem.in);

Scanner类定义在java.util包中,当使用的类不是定义的基本java.lang包中时,一定要使用import指示字将相应的包加载进来。

2)格式化输出:可以使用System.out.print(x)将数值x输出到控制台上。

3)文件输入与输出。

3.8:控制流程。

3.9:大数值。

*如果基本的整型和浮点型数据无法达到要求的精度,那么可以使用 java.math 包中

的两个类,BigIntegerBigDecimal。这两个类可以操作任意长的数字。

*BigInteger类实现了任意精度的整数运算,BigDecimal实现了任意精度的浮点运算。

3.10:数组。

*如果基本的整型和浮点型数据无法达到要求的精度,那么可以使

 java.math 包中的两个类,BigIntegerBigDecimal。这两个类可以操

作任意长的数字。

*BigInteger类实现了任意精度的整数运算,BigDecimal实现了任意精度的浮

点运算。

第二部分:实验部分。

实验一:编写java 应用程序,输出以下4个表达式的值。

输入java程序如下所示:

4个表达式的值分别为:

实验二:编写包含以下代码片段的java应用程序,输出字符串类对象s3的值。

输入程序如下所示:

S3最终的输出结果为:

实验三:更改实验2中s1s2s3为StringBuilder类对象,观察程序运行结果并与实验2结果进行对比,理解String类对象与StringBuilder类对象的区别。

更改为StringBuilder后输入程序如下:

S3最终的输出结果为:

实验四:在命令行方式下调试运行下列程序,理解java应用程序命令行参数的用法。

首先在新建文本文档,存入如下程序,更改文件名。

打开命令行,运行后程序显示结果如下所示。

实验五Eclipse环境下导入第3章示例程序InputTest.java步骤:

(1)新建java project如下图:

(2)选择File->import->File ystem->Next,打开文件导入窗口如下图,点击上方Browse选择导入源程序并选中,点击下方Browse选择源程序导入位置为新项目InputTest/src位置后,点击finish完成导入。

(3)打开InputTest项目src文件夹的缺省包,双击InputTest.javaIDE源程序编辑区打开文件。

实验六:按照实验5的操作步骤,导入WriteReadFileTest.java示例程序,结合程序运行结果理解程序代码,观察项目文件夹下文件myfile.txt的内容,掌握文件的输入输出操作。

实验七:按照实验5的操作步骤,导入第3章示例程序,每个示例程序从语法、算法两个角度总结学习内容。

1)测试Retirement.java,Retirement2.java,LotteryOdds.java掌握循环控制结构;

1.Retirement.java:

Retirement2.java:

LotteryOdds.java:

2)测试BigIntegerTest.java,掌握大数值类的用法;

3)测试LotteryDrawing.java,掌握数组的用法;

4)测试CompoundInterest.java,掌握多维数组的用法;

 

5)测试LotteryArray.java,掌握不规则数组的用法。

 

 实验总结:通过上周对基础理论的学习以及对eclipse运用的初步掌握,在此次实验过程中,在程序的书写和格式上出错率比上次明显少了很多。此次实验

进一步熟悉命令行和IDE两种方式下java程序开发的基本步骤,学习了如何向eclipse导入其他文件夹中的程序,掌握Java语言构造基本程序的数据类型、变量、

运算符、各类表达式、输入输出、流程控制的基本语法。

       在实验过程中,其中一个实验出现数组越界的问题,因此最后出现无法加载主类的情况。在助教的帮助下,我了解到只有在给主方法传入合适的参数后,程

序才可以正常运行。通过本次学习,我发现了在Java中认识标识符很重要,另外,我掌握了更多的语法,虽然都还只是基础,但我会继续努力学习,在以后的学习中不断提高自己的编程水平。

 

 

 

 

posted @ 2018-09-08 23:53  JAVA!!  阅读(342)  评论(1编辑  收藏  举报