王艳 201771010127《面向对象程序设计(java)》第二周学习总结
Posted java-729
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了王艳 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.PI和Math.E。
2)数值类型之间的转换。
进行数值类型之间的转换时,其中一个操作数是什么类型,另一个操作数也会转换成什么类型。否则,两操作数将都被转换成int型。
3)强制类型转换。
强制类型转换的语法格式是在圆括号中给出想要转换的目标类型,后面紧跟着带转换的变量名。
double x=9.997;
int nx=(int)x;
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 Scanner(System.in);
Scanner类定义在java.util包中,当使用的类不是定义的基本java.lang包中时,一定要使用import指示字将相应的包加载进来。
2)格式化输出:可以使用System.out.print(x)将数值x输出到控制台上。
3)文件输入与输出。
3.8:控制流程。
3.9:大数值。
*如果基本的整型和浮点型数据无法达到要求的精度,那么可以使用 java.math 包中
的两个类,BigInteger和BigDecimal。这两个类可以操作任意长的数字。
*BigInteger类实现了任意精度的整数运算,BigDecimal实现了任意精度的浮点运算。
3.10:数组。
*如果基本的整型和浮点型数据无法达到要求的精度,那么可以使
用 java.math 包中的两个类,BigInteger和BigDecimal。这两个类可以操
作任意长的数字。
*BigInteger类实现了任意精度的整数运算,BigDecimal实现了任意精度的浮
点运算。
第二部分:实验部分。
实验一:编写java 应用程序,输出以下4个表达式的值。
输入java程序如下所示:
4个表达式的值分别为:
实验二:编写包含以下代码片段的java应用程序,输出字符串类对象s3的值。
输入程序如下所示:
S3最终的输出结果为:
实验三:更改实验2中s1、s2、s3为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.java在IDE源程序编辑区打开文件。
实验六:按照实验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中认识标识符很重要,另外,我掌握了更多的语法,虽然都还只是基础,但我会继续努力学习,在以后的学习中不断提高自己的编程水平。
以上是关于王艳 201771010127《面向对象程序设计(java)》第二周学习总结的主要内容,如果未能解决你的问题,请参考以下文章
王艳 201771010127《面向对象程序设计(Java)》第四周学习总结
王艳 201771010127《面向对象程序设计(java)》第七周学习总结
王艳 201771010127《面向对象程序设计(java)》第十三周学习总结
王艳 201771010127《面向对象程序设计(java)》第十周学习总结