实验二 Java基本程序设计(1)
实验时间 2018-9-6
理论知识的学习与掌握:
命名规范:
- 大小写敏感:所有的命名都区分大小写
- 类名:每个单词首写字母为大写字母
- 方法名:所有方法都以小写字母开头
- 类文件名:类文件名必须和类名相同
- 程序主入口:所有程序都从public static void main(String[] args)方法开始执行
类名、方法名、变量名都称为标识符
- 所有标识符都以字母(a-z或A-Z)、美元符($)、下划线开头(_)
- 首字符之后可以是字母、美元符、下划线、数字
- 关键字不能作为标识符
- 标识符区分大小写
变量类型
成员变量:在类中,方法体之外定义的变量,存在堆内存中
局部变量:在方法、构造方法、语句块定义的变量,存在栈内存中
静态变量(类变量):在类中,方法体之外定义的变量,但必须由static关键字修饰,存在静态存储区(方法区)
基本数据类型
四种数字类型:byte(1个字节)、short(2个字节)、int(4个字节)、long(8个字节)
两种浮点型:float(4个字节)、double(8个字节)
一种布尔型:boolean(false和true)
一种字符型:char(2个字节)
关键字
关键字就是Java语言中已经被赋予特定意义的一些单词。
常见有:class、public、try、catch、if、 float、import、void等。
关键字不做变量名。
注释
Java有三种注释的方式: 1. // 注释内容由//一直到此行结束。 2. /*和*/ 定义一个注释块。 3. /**开始,*/结束这种注释方法可用来自动产生文档。
字符串
- Java字符串是Unicode字符的序列,它是组织字符的基本数据结构,用法类似于字符数组。
有内置的字符串类型,而是在标准Java类库中提供了一个Java预定义类String。在Java中,字符串被当作对象来处l理程序中需要用到的字符串可以分为两大类:
1.创建之后不会再做修改和变动的不可变字符串String类;
2. 创建之后允许再做更改和变化的构建字符串StringBuilder类。
- 输入输出
- *读取输入 *格式化输出 *文件输入与输出
大数值
*如果基本的整型和浮点型数据无法达到要求的精度,那么可以使用 java.math 包中的两个类,BigInteger和BigDecimal。这两个类可以操作任意长的数字。
*BigInteger类实现了任意精度的整数运算,BigDecimal实现了任意精度的浮点运算。
数组
*数组是一种数据结构,它是有序数据的集合,数组中的每个元素的数据类型都是相同的。
*对元素的确定是由数组名和它的下标实现的,
如a[0]代表数组a的第一个元素,a[1]代表数组
- 非访问修饰符
- static修饰符
- 静态变量:无论实例化多个对象,静态变量只有一个,局部变量不能声明static变量
- 静态方法:静态方法不能使用非静态变量
final修饰符
- final修饰的变量:为常量,值不可变
- final修饰的对象:值可变,引用不变
- final修饰的方法:可以继承,但不可以重写
- final修饰的类:不能够继承
abstract修饰符
- 抽象类:不能用来实例化,一个类不能同时被 abstract 和 final 修饰
- 抽象方法:不能被声明成 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) |
实验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控制台输入方法。
此程序中Scanner类对象就是实现从控制台输入操作,第二十行定义新的变量age将年龄赋值给它进行下面操作
实验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,掌握不规则数组的用法。
总结:此次实验我学会了如何在IDE当中导入源程序,通过过测试代码的合法性以及学习示例当中慢慢理解输入输出,标识符的合法性,变量的定义规范性,以及一些与C语言相同的语法知识等等,虽不能说百分之百的掌握了,但也比以往了解得更深一点,当然主要还是从以上例子中学习到循环控制结构,大数值类的用法,一维数组以及多维数组的用法还有不规则数组,这些程序对我来或现在完全理解还有点困难,但是我尽量查资料克服。每一次做实验总有才了解到的,学习到的,掌握到的,一步一步慢慢才要提升