王艳 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)》第二周学习总结的更多相关文章

  1. 20172325 2018-2019-1 《Java程序设计》第二周学习总结

    20172325 2018-2019-1 <Java程序设计>第二周学习总结 教材学习内容总结 3.1集合 集合是一种聚集.组织了其他对象的对象.集合可以分为两大类:线性集合和非线性集合. ...

  2. 20172321 2017-2018-2 《Java程序设计》第二周学习总结

    20172321 2017-2018-2 <Java程序设计>第二周学习总结 教材学习内容总结 第一章要点: 要点1 字符串:print和println用法的区别,字符串的拼接,java中 ...

  3. 20145326《Java程序设计》第二周学习总结

    20145326<Java程序设计>第二周学习总结 教材学习内容总结 本周学习教材第三章,本章主要讲述了java语言中的一些基础语法,java是个支持面向对象的程序语言,但在正式进入面向对 ...

  4. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

  5. 20145337 《Java程序设计》第二周学习总结

    20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...

  6. 《Java程序设计》第二周学习总结

    20145224陈颢文<Java程序设计>第二周学习总结 教材学习内容总结 一.类型.变量与运算符 1.类型 整数: 可细分为为short整数(占2字节),int整数(占4字节),long ...

  7. 20155304田宜楠 2006-2007-2 《Java程序设计》第二周学习总结

    20155304田宜楠 2006-2007-2 <Java程序设计>第二周学习总结 教材学习内容总结 一.类型与变量 1.类型 整数: 可细分为为short整数(占2字节),int整数(占 ...

  8. 201521123038 《Java程序设计》 第二周学习总结

    201521123038 <Java程序设计> 第二周学习总结 1.本章学习总结 学会在Java程序中使用函数,使程序层次更清晰 使用StringBuilder编写代码,减少内存空间的占用 ...

  9. 20155303 2016-2017-2 《Java程序设计》第二周学习总结

    20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...

  10. 20175204 张湲祯 2018-2019-2《Java程序设计》第二周学习总结

    20175204 张湲祯 2018-2019-2<Java程序设计>第二周学习总结 教材学习内容总结 -第二章基本数据类型与数组要点: -标识符与关键字:标识符的第一个字符不能是数字字符: ...

随机推荐

  1. Google Play商店为预注册的游戏和应用提供自动安装功能

    谷歌 Play 商店一直在准备一项功能,它可以自动安装用户预先注册的应用程序和游戏.似乎该功能现已开始向第一批用户推出.有些人在预注册时会看到一个新选项,使他们能够利用发布时自动安装的功能. 用户在 ...

  2. 第七周CorelDRAW课总结

    1.这节课学到了什么知识? "交互式透明工具""交互式阴影工具"以及"交互式调和工具"制作水晶表情包. 2.有什么心得体会? 无 3.存在的 ...

  3. db2 锁表

    2019独角兽企业重金招聘Python工程师标准>>> 查询锁表情况 db2 => get snapshot for locks on databasename 可以看到什么表 ...

  4. #Week8 Advice for applying ML & ML System Design

    一.Evaluating a Learning Algorithm 训练后测试时如果发现模型表现很差,可以有很多种方法去更改: 用更多的训练样本: 减少/增加特征数目: 尝试多项式特征: 增大/减小正 ...

  5. Fibonacci Sequence

    0 递归 斐波那契数列定义: $F(n)=\left\{\begin{matrix}0, & n=0\\ 1, & n=1\\ F(n-1)+F(n-2), & n>1\ ...

  6. USACO Training Section 1.3混合牛奶 Mixing Milk

    题目描述 由于乳制品产业利润很低,所以降低原材料(牛奶)价格就变得十分重要.帮助Marry乳业找到最优的牛奶采购方案. Marry乳业从一些奶农手中采购牛奶,并且每一位奶农为乳制品加工企业提供的价格是 ...

  7. LeetCode 25. K 个一组翻转链表 | Python

    25. K 个一组翻转链表 题目来源:https://leetcode-cn.com/problems/reverse-nodes-in-k-group 题目 给你一个链表,每 k 个节点一组进行翻转 ...

  8. vue添加,删除内容

    vue 提交添加内容,点击删除内容 1 html <input v-model="inputValue" /> <button @click="hand ...

  9. C. Coffee Break 贪心 思维 有点难 有意思

    C. Coffee Break 这个贪心之前好像写过,还是感觉挺难的,有点不会写. 这个题目大意是:给你一个数列n个元素,然后给你一天的时间,给你一个间隔时间d, 问你最少要用多少天可以把这个数列的所 ...

  10. 王颖奇 20171010129《面向对象程序设计(java)》第十四周学习总结

    实验十四  Swing图形界面组件 理论知识知识点: 1.Swing和MVC设计模式2.布局管理器3.文本输入4.选择组件5.菜单6.对话框 实验时间 2018-11-29 1.实验目的与要求 (1) ...