徐思201771010132《面向对象程序设计(java)》第二周学习总结
一、理论知识部分
1、标识符:标识符由字母、下划线、美元符号和数字组成, 且第一个符号不能为数字。
标识符可用作类名、变量名、方法名、数组名、文件名等。
2、关键字就是Java语言中已经被赋予特定意义 的一些单词。常见有:class、public、try、catch、if、 float、import、void等。关键字不做变量名
3、Java有三种注释的方式: 1. // 注释内容由//一直到此行结束。 2. /*和*/ 定义一个注释块。 3. /**开始,*/结束 这种注释方法可用来自动产生文档。
4、 Java共有8种基本类型 :整数类型(int、short、long、byte); 浮点类型(float、double); 字符类型 (char); 布尔类型(boolean )
5、Java中整数的范围与运行Java代码的机器无关。 Java中没有unsigned类型。
6、对于int型变量,内存分配个4字节,占32位,取值范围-231 ~ 231-1;对于short型变量,内存分配2个字节,占16位,取值 范围-215 ~215-1;对于long型变量,内存分配8个字节,占64位,取值 范围-263 ~263-1;对于byte型变量,内存分配个1字节,占8位,取值范围-27 ~ 27-1。
7、表示溢出和出错的三种特殊的浮点数值: 正无穷大 负无穷大 NaN(非数字)
8、对于float型变量内存分配4个字节,占32位;对于double型变量内存分配8个字节,占64位;
9、字符集: Java 采用unicode字符编码集,该编码集16 位,含有65536个字符。
Unicode(统一码、万国码)是一个编码规范,为解决 传统字符编码方案局限产生,它为每种语言中的每个 字符设定了统一并且唯一的二进制编码,以满足跨语 言、跨平台进行文本转换、处理的要求。
转义字符 :前缀\u表示Unicode值,而十六进制的4位数字则表明具体是 哪个Unicode字符。 一些特殊字符的转义序列。如\b,\n,\\等。
10、在Java中,布尔值和整数不能相互转换。
11、一个变量声明后,必须通过赋值语句对它进行明确的初始化——永远不要使用一个未初始化的变量的值。
12、new---用来创建对象的运算符;Instanceof---返回一个布尔值来指出某个对象是否是一个特定类或 者是它的子类的一个实例。
13、隐式类型转换:大多数的数值转换是遵循优先级的关系自动完成的。
转换原则如下:如果两个操作数中有一个是double类型的,则另一个将会转换成double类型。 否则,如果两个操作数中有一个是float类型的,另一个将会转换成float类型。 否则,如果两个操作数中有一个是long类型的,另一个将会转换成long类型。否则,两个操作数都将转换成int类型。
强制类型转换的语法:(目标类型)变量名 在进行强制类型转换时,当心丢失数据。
14、Java字符串是Unicode字符的序列,它是组织字符的基本数据结构,用法类似于字符数组。
有内置的字符串类型,而是在标准Java类库中提供了一 个Java预定义类String。在Java中,字符串被当作对象来处理。
程序中需要用到的字符串可以分为两大类: 创建之后不会再做修改和变动的不可变字符串String类; 创建之后允许再做更改和变化的构建字符串StringBuilder类。
15、创建String的一个对象并进行初始化,需要调用类 String的构造方法,主要有以下创造方法:
① String():创建一个空串 ② String(String value) ③ String(char value[]) ④ String(char[],int startIndex,int numChars) ⑤ String(byte[],byte hibyte) ⑥ String(byte[],byte hibyte,int startIdnex,int numChars)
16、Java有5种语句: 方法调用语句 System.out.println(“Hello!”);
表达式语句 x=23; i++;复合语句 p63 用{}把一些语句括起来就构成了一个语句。 { z=x+23; System.out.println(“Hello”); }
控制语句(程序控制流程由这些语言确定) if 、switch、for、while、do-while
packege语句和import语句
17、Java有两种类型的条件语句: if语句; switch语句。
18、循环语句分为三种: while ; do-while ; for
19、break 作用:结束整个循环的执行,转到下一语句。 continue 作用:结束本次循环,开始下一次循环。(Java中没有goto语句!!! Java中提供了一种带标签的break语句, 用于跳出多重嵌套的循环语句。)
20、数组是一种数据结构,它是有序数据的集合, 数组中的每个元素的数据类型都是相同的。
21、一维数组格式: 数组元素类型 数组名字[]; 数组元素类型[] 数组名字;
二维数组格式: 数组元素类型 数组名字[][]; 数组元素类型[][] 数组名字; 其中数组元素类型可以为Java中的任意类型,包括基本类型和复合类型。
22、数组声明后,要用new运算符为其分配内存空间,分配内存空间时必须指明数组的长度。 格式如下: 数组名字=new 数组元素类型[个数]
数字数组创建后,所有数组元素自动初始化为0; boolean数组创建后数组元素初始化为false;对象数组初始化为null.; 数组创建后不能再更改大小。
23、Java语言中,二维数组被看作数组的数组,把数组当 作对象来处理。
二、实验部分
1、实验目的与要求
(1)进一步熟悉命令行和IDE两种方式下java程序开发的基本步骤;
(2)掌握Eclipse集成开发环境下导入Java源程序的过程;
(3)掌握Java语言构造基本程序的数据类型、变量、运算符、各类表达式、输入输出、流程控制的基本语法;
(4)掌握String类、StringBuilder类、数组类的用法。
2、实验内容和步骤
实验1:编写java 应用程序,输出以下4个表达式的值。
int i=1;
double d=1.0;
(1) 45+45*50%i--
(2) 1.5*3+d++
(3) (true)&&(3>4)
(4) (i>0)||(i<0)
实验2:编写包含以下代码片段的java应用程序,输出字符串类对象s3的值。
String s1=“Hello!”;
String s2=“World”;
String s3=s1+s2;
实验3:更改实验2中s1、s2、s3为StringBuilder类对象,观察程序运行结果并与实验2结果进行对比,理解String类对象与StringBuilder类对象的区别。
实验4:在命令行方式下调试运行下列程序,理解java应用程序命令行参数的用法。
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<args.length;i++)
System.out.print(“ ”+args[i]);
System.out.println(“!”);
}
}
实验5:Eclipse环境下导入第3章示例程序InputTest.java步骤:
(1) 新建java project如下图:
(2)选择File->import->File ystem->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章示例程序,每个示例程序从语法、算法两个角度总结学习内容。
(1)测试Retirement.java,Retirement2.java,LotteryOdds.java掌握循环控制结构;
(2)测试BigIntegerTest.java,掌握大数值类的用法;
(3)测试LotteryDrawing.java,掌握数组的用法;
(4)测试CompoundInterest.java,掌握多维数组的用法;
(5)测试LotteryArray.java,掌握不规则数组的用法。
三、实验总结:
第三章的内容比较多,一下子全部了解掌握有点困难,但是有很多知识与C语言有点相似。在这章的学习中,我们开始接触Java语言的语法结构,变量类型,输入输出等,也初步接触了string类及stringbuilder类,通过上机更好的了解了Java语言。学习Java不仅仅只是读书记忆,更多的应该动手操作,在实验中去验证,收获更多,更好地掌握。