冯志霞201771010107《面向对象程序设计(java)》第二周学习总结

实验二 Java基本程序设计(1

实验时间 2018-9-6

理论知识的学习与掌握:

命名规范:

  • 大小写敏感:所有的命名都区分大小写
  • 类名:每个单词首写字母为大写字母
  • 方法名:所有方法都以小写字母开头
  • 类文件名:类文件名必须和类名相同
  • 程序主入口:所有程序都从public static void main(String[] args)方法开始执行

类名、方法名、变量名都称为标识符

  • 所有标识符都以字母(a-zA-Z)、美元符($)、下划线开头(_
  • 首字符之后可以是字母、美元符、下划线、数字
  • 关键字不能作为标识符
  • 标识符区分大小写

变量类型

         成员变量:在类中,方法体之外定义的变量,存在堆内存中

        局部变量:在方法、构造方法、语句块定义的变量,存在栈内存中

       静态变量(类变量):在类中,方法体之外定义的变量,但必须由static关键字修饰,存在静态存储区(方法区)

基本数据类型

     四种数字类型:byte1个字节)、short2个字节)、int4个字节)、long8个字节)

     两种浮点型:float4个字节)、double8个字节)

       一种布尔型:booleanfalsetrue

     一种字符型:char2个字节)

关键字

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

常见有:classpublictrycatchif floatimportvoid等。 

关键字不做变量名。

注释

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

 

字符串

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

有内置的字符串类型,而是在标准Java类库中提供了一个Java预定义类String。在Java中,字符串被当作对象来处l理程序中需要用到的字符串可以分为两大类:

1.创建之后不会再做修改和变动的不可变字符串String类;
2.
创建之后允许再做更改和变化的构建字符串StringBuilder类。

  • 输入输出
  • *读取输入 *格式化输出 *文件输入与输出

大数值

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

*BigInteger类实现了任意精度的整数运算,BigDecimal实现了任意精度的浮点运算。

数组

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

*对元素的确定是由数组名和它的下标实现的,

a[0]代表数组a的第一个元素,a[1]代表数组

  • 非访问修饰符
  • static修饰符
  1. 静态变量:无论实例化多个对象,静态变量只有一个,局部变量不能声明static变量
  2. 静态方法:静态方法不能使用非静态变量

final修饰符

  1. final修饰的变量:为常量,值不可变
  2. final修饰的对象:值可变,引用不变
  3. final修饰的方法:可以继承,但不可以重写
  4. final修饰的类:不能够继承

abstract修饰符

  1. 抽象类:不能用来实例化,一个类不能同时被 abstract 和 final 修饰
  2. 抽象方法:不能被声明成 final 和 static,抽象方法必须在抽象类中出现

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)

冯志霞201771010107《面向对象程序设计(java)》第二周学习总结

实验2:编写包含以下代码片段的java应用程序,输出字符串类对象s3的值。

String s1=“Hello!”;

String s2=“World”;

String s3=s1+s2;

冯志霞201771010107《面向对象程序设计(java)》第二周学习总结

实验3:更改实验2中s1、s2、s3为StringBuilder类对象,观察程序运行结果并与实验2结果进行对比,理解String类对象与StringBuilder类对象的区别。

冯志霞201771010107《面向对象程序设计(java)》第二周学习总结

实验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(“!”);

  }

}

冯志霞201771010107《面向对象程序设计(java)》第二周学习总结

实验5:Eclipse环境下导入第3章示例程序InputTest.java步骤:

(1)   新建java project如下图:

 冯志霞201771010107《面向对象程序设计(java)》第二周学习总结

(2)   选择File->import->File ystem->Next,打开文件导入窗口如下图,点击上方Browse选择导入源程序并选中,点击下方Browse选择源程序导入位置为新项目InputTest/src位置后,点击finish完成导入。

 冯志霞201771010107《面向对象程序设计(java)》第二周学习总结

(3)   打开InputTest项目src文件夹的缺省包,双击InputTest.java在IDE源程序编辑区打开文件。

(4)   右键单击InputTest.java文件名打开快捷菜单,选择Run as->java application运行此程序,结合程序运行结果,理解代码中Scanner类对象用法,掌握java控制台输入方法。

冯志霞201771010107《面向对象程序设计(java)》第二周学习总结

此程序中Scanner类对象就是实现从控制台输入操作,第二十行定义新的变量age将年龄赋值给它进行下面操作

实验6:按照实验5的操作步骤,导入WriteReadFileTest.java示例程序,结合程序运行结果理解程序代码,观察项目文件夹下文件myfile.txt的内容,掌握文件的输入输出操作。

冯志霞201771010107《面向对象程序设计(java)》第二周学习总结

冯志霞201771010107《面向对象程序设计(java)》第二周学习总结

实验7:按照实验5的操作步骤,导入第3章示例程序,每个示例程序从语法、算法两个角度总结学习内容。

(1)测试Retirement.java,Retirement2.java,LotteryOdds.java掌握循环控制结构;

冯志霞201771010107《面向对象程序设计(java)》第二周学习总结

冯志霞201771010107《面向对象程序设计(java)》第二周学习总结

冯志霞201771010107《面向对象程序设计(java)》第二周学习总结

2)测试BigIntegerTest.java,掌握大数值类的用法;

冯志霞201771010107《面向对象程序设计(java)》第二周学习总结

(3)测试LotteryDrawing.java,掌握数组的用法;

冯志霞201771010107《面向对象程序设计(java)》第二周学习总结

(4)测试CompoundInterest.java,掌握多维数组的用法;

冯志霞201771010107《面向对象程序设计(java)》第二周学习总结

(5)测试LotteryArray.java,掌握不规则数组的用法。

冯志霞201771010107《面向对象程序设计(java)》第二周学习总结

总结:此次实验我学会了如何在IDE当中导入源程序,通过过测试代码的合法性以及学习示例当中慢慢理解输入输出,标识符的合法性,变量的定义规范性,以及一些与C语言相同的语法知识等等,虽不能说百分之百的掌握了,但也比以往了解得更深一点,当然主要还是从以上例子中学习到循环控制结构,大数值类的用法,一维数组以及多维数组的用法还有不规则数组,这些程序对我来或现在完全理解还有点困难,但是我尽量查资料克服。每一次做实验总有才了解到的,学习到的,掌握到的,一步一步慢慢才要提升