王艳 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. 日志分析工具ELK(四)

    Logstash收集TCP日志 #Input plugins TCP插件 所需的配置选项 tcp { port =>... } [root@linux-node1 ~]# cat tcp.con ...

  2. js 函数的防抖(debounce)与节流(throttle) 带 插件完整解析版 [helpers.js]

    前言:         本人纯小白一个,有很多地方理解的没有各位大牛那么透彻,如有错误,请各位大牛指出斧正!小弟感激不尽.         函数防抖与节流是做什么的?下面进行通俗的讲解. 本文借鉴:h ...

  3. 浅析 JS 中的作用域链

    作用域链的形成 在 JS 中每个函数都有自己的执行环境,而每个执行环境都有一个与之对应的变量对象.例如: var a = 2 function fn () { var a = 1 console.lo ...

  4. Burnside&Polya总结

    这里就算是一个小总结吧- 附参考的网址: http://blog.sina.com.cn/s/blog_6a46cc3f0100s2qf.html http://www.cnblogs.com/han ...

  5. Next.js 7发布,构建速度提升40%

    Next.js团队发布了其开源React框架的7版本.该版本的Next.js主要是改善整体的开发体验,包括启动速度提升57%.开发时的构建速度提升40%.改进错误报告和WebAssembly支持. \ ...

  6. C语言编程入门题目--No.15

    题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示, 60分以下的用C表示. 1.程序分析:(a>b)?a:b这是条件运算符的基本例子. 2 ...

  7. POJ - 2387 Til the Cows Come Home (最短路入门)

    Bessie is out in the field and wants to get back to the barn to get as much sleep as possible before ...

  8. P3831 [SHOI2012]回家的路

    P3831 [SHOI2012]回家的路 分层图基础题,就是建图稍有麻烦   #include<cstdio> #include<algorithm> #include< ...

  9. 基于OpenCV的KNN算法实现手写数字识别

    基于OpenCV的KNN算法实现手写数字识别 一.数据预处理 # 导入所需模块 import cv2 import numpy as np import matplotlib.pyplot as pl ...

  10. 用 GitHub Action 构建一套 CI/CD 系统

    ​ 缘起 Nebula Graph 最早的自动化测试是使用搭建在 Azure 上的 Jenkins,配合着 GitHub 的 Webhook 实现的,在用户提交 Pull Request 时,加个 r ...