张季跃 201771010139《面向对象程序设计(java)》第二周学习总结

张季跃 201771010139《面向对象程序设计(java)》第周学习总结

第一部分:理论知识学习部分

3.1基本知识

l1)标识符l

标识符由字母、下划线、美元符号和数字组成, 且第一个符号不能为数字。

  l下列都是合法标识符: Hello、$1234、程序名、www_123

l标识符可用作: 类名、变量名、方法名、数组名、文件名等。

l2)关键字l

关键字就是Java语言中已经被赋予特定意义 的一些单词。 l  

常见有:class、public、try、catch、if、 float、import、void等。 l

关键字不做变量名

l3)注释lJava有三种注释的方式:

  1. // 注释内容由//一直到此行结束。
  2. . /*和*/ 定义一个注释块。
  3. /**开始,*/结束 这种注释方法可用来自动产生文档。

3.2数据类型

   Java共有8种基本类型 :

–整数类型(int、short、long、byte)

–浮点类型(float、double)

–字符类型(char)

–布尔类型(boolean

 3.3变量

Java中,每一个变量属于一种类型。在声明变量时, 变量所属的类型位于变量名之前。 l在Java中,一行可以声明多个变量。逐一声明每一个 变量可以提高程序的可读性。

1)变量初始化:

la.一个变量声明后,必须通过赋值语句对它进行明确的初始 化——永远不要使用一个未初始化的变量的值。

lb.在Java中,可以在代码的任何位置进行变量声明。变量 的声明尽可能地靠近变量第一次使用的地方,这是一种良 好的程序编写风格。

lc.在Java中,不能在同一作用域内声明两个同名的变量。

2)常量的定义:

la.在Java中,使用关键字final来指示常量。习惯上常量 名都用大写。  l

b.关键字final表示只能对变量赋一次值,其值一旦设定, 便不能改。 l

C.在Java中,经常希望某个常量可以在一个类中的多个 方法中使用,通常将这些常量称为类常量。可以使用 关键字staticfinal声明一个类常量(class constants)。

  3.4运算符

l    (1)各种运算符:l算术运算符;自增运算符与自减运算符;关系运算符;逻辑运算符;位运算符

l    (2)运算符的优先级与结合性

l    (3)数学函数与常量

  3.5 类型转换

     1) 隐式类型转换:

a.大多数的数值转换是遵循优先级的关系自动完成的。

b.转换原则如下: l

(a)如果两个操作数中有一个是double类型的,则另一个将 会转换成double类型。 l

(b)否则,如果两个操作数中有一个是float类型的,另一个 将会转换成float类型。 l

(c)否则,如果两个操作数中有一个是long类型的,另一个 将会转换成long类型。 l

(d)否则,两个操作数都将转换成int类型

2)强制类型转换:

    a.l强制类型转换的语法: (目标类型)变量名 l

在进行强制类型转换时,当心丢失数据

  3.6字符串

     u1)Java字符串是Unicode字符的序列,它是组织字符的基 本数据结构,用法类似于字符数组。 u

(2)有内置的字符串类型,而是在标准Java类库中提供了一 个Java预定义类String。在Java中,字符串被当作对象 来处理。 u      3)程序中需要用到的字符串可以分为两大类: –创建之后不会再做修改和变动的不可变字符串String类; –创建之后允许再做更改和变化的构建字符串StringBuilder类

  3.7输入输出

(1)读取输入:

l  a.通过控制台进行输入时,需要构造一个Scanner对象,并 与“标准输入流”System.in关联。 –Scannerin=newScanner(System.in);  

b.Scanner类定义在java.util包中,因此使用时需将相应的 包加载进来。 l

C.由于Scanner类输入是可见的,所以不适用于从控制台读 取密码。JavaSE6.0特别引入Console类实现这个目的。

l   2)格式化输出

l       a.使用System.out.print(x)将数值x输出到控制台上, 这条命令将以x对应的数据类型所允许的最大非0数字 位数打印输出x。 l

b.JavaSE5.0沿用了C语言库函数中的printf方法, System.out.printf()。(了解) –用于printf的转换符 –用于printf的标志 l

C.printf方法中日期和时间的格式化输出。(了解) –日期和时间的转换符

l   3)文件输入与输出

l       a.要想对文件进行读取,就需要一个用File对象构 造一个Scanner对象。比如: –Scanner  in = new Scanner(new File(“myfile.txt”)); l

b.要想写入文件,就需要构造一个PrintWriter对象, 在构造器中,只需提供文件名: –PrintWriterout = new PrintWriter(“myfile.txt”)

  3.8 控制流程

Java有5种语句: l

(1)方法调用语句 System.out.println(“Hello!”);

(2)表达式语句 x=23; i++;l

(3)复合语句p63 用{}把一些语句括起来就构成了一个语句。 { z=x+23; System.out.println(“Hello”); } l

(4)控制语句(程序控制流程由这些语言确定) if 、switch、for、while、do-while l

(5)packege语句和import语句

3.9大数值

(1)如果基本的整型和浮点型数据无法达到要求的精度, 那么可以使用java.math包中的两个类, BigInteger和BigDecimal。这两个类可以操作任 意长的数字。 l

(2)BigInteger类实现了任意精度的整数运算, BigDecimal实现了任意精度的浮点运算

3.10数组

l      (1)数组是一种数据结构,它是有序数据的集合, 数组中的每个元素的数据类型都是相同的。

l      (2)对元素的确定是由数组名和它的下标实现的, 如a[0]代表数组a的第一个元素,a[1]代表数组 a的第二个元素,依次类推

 

第二部分:实验部分

实验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,掌握不规则数组的用法。

结果:

 

第三部分:实验总结:

     在本周的学习中,首先我对java程序设计的基本知识有了初步的了解,知道了数据类型,变量,常量,运算符,字符串,数组等概念的涵义。在实验过程中,我也在老师的帮助下在Eclipse集成开发环境中对Java程序的编译进行了一些练习,并且初步接触了循环结构,数组等的用法。

posted @ 2018-09-08 21:05  张季跃  阅读(106)  评论(0编辑  收藏  举报