201871010111-刘佳华《面向对象程序设计(java)》第二周学习总结
项目 |
内容 |
这个作业属于哪个课程 |
|
这个作业的要求在哪里 |
|
作业学习目标 |
|
第一部分:结合Java和C基础语法的异同比较,总结本周理论知识
3.1基本知识
标识符:
A、标识符由字母、下划线、美元符号和数字组成, 且第一个符号不能为数字。
B、下列都是合法标识符:
Hello、$1234、程序名、www_123
C、标识符可用作:类名、变量名、方法名、数组名、文件名等。
关键词:
A、就是java语言中已经被赋予特定意义的一些特定单词
B、常见的有:class,public,try,catch,if,float,import,void.等
C、关键字不做变量名
注释:
Java注释的三种方式:
1. //
注释内容由//一直到此行结束。
2. /*和*/
定义一个注释块。
3. /**开始,*/结束
这种注释方法可用来自动产生文档。
3.2数据类型
Java共有8种基本类型
– 整数类型(int、short、long、byte) – 浮点类型(float、double)
– 字符类型 (char) – 布尔类型(boolean )
3.3变量
*在Java中,每一个变量属于一种类型。在声明变量时,变量所属的类型位于变量名之前。
– double salary; – int vacationDays;
– long earthPopulation; – boolean done;
*在Java中,一行可以声明多个变量。逐一声明每一个变量可以提高程序的可读性。
– int i,j;//both are integers
变量的初始化
*一个变量声明后,必须通过赋值语句对它进行明确的初始化——永远不要使用一个未初始化的变量的值。
*在Java中,可以在代码的任何位置进行变量声明。变量的声明应该尽可能地靠近变量第一次使用的地方,方便阅读和使用。
*在Java中,不能在同一作用域内声明两个同名的变量。
常量的定义
*在Java中,使用关键字final来指示常量。习惯上常量名都用大写。
final double CM_PER_INCH=2.54;
*关键字final表示只能对变量赋一次值,其值一旦设定,在后续代码中不能再对其进行修改。
*在Java中,经常希望某个常量可以在一个类中的多个方法中使用,通常将这些常量称为类常量。可以使用关键字 static final 声明一个类常量( class constants)。
public static final double CM_PER_INCH
3.4运算符
*各种运算符 :与面向对象运算有关
- new -用来创建一个对象的运算符。
- Instanceof -返回一个布尔值来指出某个对象是否是一个特定类或者是它的子类的一个实例。
*运算符的优先级与结合性
*数学函数与常量
- 数学函数包含在Math类中。
-幂函数,三角函数,指数函数以及其他反函数等。
- Java还提供了两个常量。
-Math.PI
-Math.E
- 若不想在数学方法名和常量名前加前缀"Math.",可以在源文件顶部加上以下代码:-impot static java.lang.Math.*;
3.5类型转换
3.6字符串
*Java字符串是Unicode字符的序列,它是组织字符的基本数据结构,用法类似于字符数组。
*有内置的字符串类型,而是在标准Java类库中提供了一个Java预定义类String。在Java中,字符串被当作对象来处理。
*程序中需要用到的字符串可以分为两大类:
- 创建之后不会再做修改和变动的不可变字符串String类;
- 创建之后允许再做更改和变化的构建字符串StringBuilder类。
3.7输入输出
*读取输入
*格式化输出
*文件输入与输出
3.8控制流程
3.9大数值
*如果基本的整型和浮点型数据无法达到要求的精度,那么可以使用 java.math 包中的两个类,BigInteger和BigDecimal。这两个类可以操作任意长的数字。
*BigInteger类实现了任意精度的整数运算,BigDecimal实现了任意精度的浮点运算。
3.10数组
*数组是一种数据结构,它是有序数据的集合,数组中的每个元素的数据类型都是相同的。
*对元素的确定是由数组名和它的下标实现的,
如a[0]代表数组a的第一个元素,a[1]代表数组
a的第二个元素,依次类推。
第二部分:实验部分
实验名称:实验二 Java基本程序设计(1)
1. 实验目的:
(1)进一步熟悉命令行和IDE两种方式下java程序开发的基本步骤;
(2)掌握Eclipse集成开发环境下导入Java源程序的过程;
(3)掌握Java语言构造基本程序的数据类型、变量、运算符、各类表达式、输入输出、流程控制的基本语法;
(4)掌握Math类、String类、StringBuilder类的用法。
2. 实验步骤与内容:
实验1 程序互评
评分要求:结合评分程序的运行情况,给出评分程序成绩,满分5分,每个错误扣1分,扣至0分为止;
评分者每发现一个正确的错误,本人实验1得分加1分,最高加5分。
实验2:编写包含以下代码片段的java应用程序,输出字符串类对象s3的值。
String s1=“Hello!”; String s2=“World”; String s3=s1+s2; |
代码如下:
package MyProject; public class Week2SX2 { public static void main(String[] args)
{ // TODO Auto-generated method stub String s1 ="Hello!"; String s2= "World"; String s3=s1+s2; System.out.println(s3); } }
运行结果如下:
实验3:更改实验2中s1、s2、s3为StringBuilder类对象,观察程序运行结果并与实验2结果进行对比,理解String类对象与StringBuilder类对象的区别。
代码如下:
package MyProject; public class Week2SX3 { public static void main(String[] args)
{ StringBuilder s1=new StringBuilder("Hello!"); StringBuilder s2=new StringBuilder("world"); StringBuilder s3=new StringBuilder(); s3.append(s1); //append 字符拼接 s3.append(s2); System.out.println(s3); } }
运行结果如下:
实验4:在命令行方式下调试运行下列程序,理解java应用程序命令行参数的用法。
package MyProject; public class Message { public static void main(String[] args) { if (args[0].equals("-h")) System.out.print("Hello"); else if(args[0].equals("-g")) System.out.print("goodbye,"); for(int i=1;i) System.out.print(" "+args[i]); System.out.println("!"); } }
运行截图如下:
实验5:Eclipse环境下导入第3章示例程序InputTest.java步骤:
(1) 新建java project如下图:
(2) 选择File->import->File System->Next,打开文件导入窗口如下图,点击上方Browse选择导入源程序并选中,点击下方Browse选择源程序导入位置为新项目InputTest/src位置后,点击finish完成导入。
(3) 打开InputTest项目src文件夹的缺省包,双击InputTest.java在IDE源程序编辑区打开文件。
(4) 右键单击InputTest.java文件名打开快捷菜单,选择Run as->java application运行此程序,结合程序运行结果,理解代码中Scanner类对象用法,掌握java控制台输入方法。
实验6:按照实验5操作步骤,导入WriteReadFileTest.java示例程序,运行程序并理解程序代码,观察项目文件夹下文件myfile.txt的内容,掌握文件的输入输出操作。
实验7:按照实验5的操作步骤,导入第3章3-3——3-4示例程序,掌握两个程序循环控制结构的用途。
3-3示例程序运行结果:
3-4示例程序运行结果:
实验8:按照实验5的操作步骤,导入第3章3-5示例程序,理解抽奖概率计算算法。
第三部分:实验总结
通过上周对基础理论的学习以及对eclipse运用的初步掌握,在此次实验过程中,在程序的书写和格式上出错率比上次明显少了很多。此次实验
进一步熟悉命令行和IDE两种方式下java程序开发的基本步骤,学习了如何向eclipse导入其他文件夹中的程序,掌握Java语言构造基本程序的数据类型、变量、
运算符、各类表达式、输入输出、流程控制的基本语法。
在实验过程中,逐渐了解并熟悉了String类和StringBulider类的一些基本方法。通过本次学习,我发现了在Java中认识标识符很重要,另外,我掌握了更多的语法,虽然都还只是基础,但我会继续努力学习,在以后的学习中不断提高自己的编程水平。