王艳 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)》第二周学习总结的更多相关文章
- 20172325 2018-2019-1 《Java程序设计》第二周学习总结
20172325 2018-2019-1 <Java程序设计>第二周学习总结 教材学习内容总结 3.1集合 集合是一种聚集.组织了其他对象的对象.集合可以分为两大类:线性集合和非线性集合. ...
- 20172321 2017-2018-2 《Java程序设计》第二周学习总结
20172321 2017-2018-2 <Java程序设计>第二周学习总结 教材学习内容总结 第一章要点: 要点1 字符串:print和println用法的区别,字符串的拼接,java中 ...
- 20145326《Java程序设计》第二周学习总结
20145326<Java程序设计>第二周学习总结 教材学习内容总结 本周学习教材第三章,本章主要讲述了java语言中的一些基础语法,java是个支持面向对象的程序语言,但在正式进入面向对 ...
- 20145213《Java程序设计》第二周学习总结
20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...
- 20145337 《Java程序设计》第二周学习总结
20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...
- 《Java程序设计》第二周学习总结
20145224陈颢文<Java程序设计>第二周学习总结 教材学习内容总结 一.类型.变量与运算符 1.类型 整数: 可细分为为short整数(占2字节),int整数(占4字节),long ...
- 20155304田宜楠 2006-2007-2 《Java程序设计》第二周学习总结
20155304田宜楠 2006-2007-2 <Java程序设计>第二周学习总结 教材学习内容总结 一.类型与变量 1.类型 整数: 可细分为为short整数(占2字节),int整数(占 ...
- 201521123038 《Java程序设计》 第二周学习总结
201521123038 <Java程序设计> 第二周学习总结 1.本章学习总结 学会在Java程序中使用函数,使程序层次更清晰 使用StringBuilder编写代码,减少内存空间的占用 ...
- 20155303 2016-2017-2 《Java程序设计》第二周学习总结
20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...
- 20175204 张湲祯 2018-2019-2《Java程序设计》第二周学习总结
20175204 张湲祯 2018-2019-2<Java程序设计>第二周学习总结 教材学习内容总结 -第二章基本数据类型与数组要点: -标识符与关键字:标识符的第一个字符不能是数字字符: ...
随机推荐
- SpringCloud之整合Feign
假设提供者有如下服务接口方法 @RestController @RequestMapping("/person") public class PersonController { ...
- 数制转换itoa atoi int转字符串 字符串转int string转int int转string
在苦于昨晚最后一个数制转换题,他的转换结果必须是整形数,纳尼?转换完放数组里又要变成整形数.这是什么操作,而且如果是16进制,用字母A,B-表示,在进行运算时都难以计算. 突发奇想,当十进制成立的时候 ...
- CodeForces - 140A New Year Table (几何题)当时没想出来-----补题
A. New Year Table time limit per test2 seconds memory limit per test256 megabytes inputstandard inpu ...
- Appium-desktop 元素定位
1.打开 appium-desktop ,点击 start session 2.打开后,点击屏幕右上角的搜索按钮 3.然后会打开配置页面,在本地服务配置信息同上面写的代码链接配置.填入正确的信息后,点 ...
- RobotFrameWork 自动化环境搭建(基于 python2.7)
1.自动化工具安装顺序 robot Framework(两个RF框架) WXpython(不要更改安装路径,自动安装在python文件中) 安装依赖库 RF3.0 和 RF1.5.2.1 打开 rid ...
- 跟哥一起学Python(1) - python简介
01—写在前面 我做了十几年的程序猿,码过代码.带过项目.做过产品经理.做过软件架构师.因为我是做通信设备软件的,面向底层操作系统,所以我的工作主要以C语言为主.Python在我的工作中通常用来写一些 ...
- libevent(八)激活事件
激活事件添加流程 事件发生后,需要把对应的event加入到激活事件队列中. 整个流程如下: 对于定时器事件,在timeout_process过程中,会将事件从最小堆中删除. 激活事件处理流程 在eve ...
- Redis系列(六):设置/移除键的过期时间
本篇博客是Redis系列的第6篇,主要讲解以下内容: 数据库数量 切换目标数据库 设置键的过期时间 移除键的过期时间 本系列的前5篇可以点击以下链接查看: Redis系列(一):Redis简介及环境安 ...
- Edge Weight Assignment(树-异或-贪心)
大意: 给定一棵无根树,要求你任意设置n-1条边的边权. 使得任意叶子节点间边权的XOR值为0: 此时,令f为所有边权数值不同的个数,求最小的f和最大的f. \(\color{Red}{------- ...
- 003_python的str切片,str常用操作方法,for循环,集合,深浅copy
基础数据类型 基础数据类型,有7种类型,存在即合理. 1.int 整数 主要是做运算的 .比如加减乘除,幂,取余 + - * / ** %... 2.bool布尔值 判断真假以及作为条件变量 3.s ...