王玉兰201771010128实验二 Java基本程序设计

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

 (1)标识符:标识符由字母、下划线、美元符号和数字组成,且第一个符号不能为数字。Hello、$1234、程序名、www_123都是合法标识符。标识符可用作类名、变量名、方法名、数组名、文件名等。

(2)关键字:关键字就是Java语言中已经被赋予特定意义的一些单词。 常见有:class、public、try、catch、if、float、import、void等。关键字不做变量名。

(3):注释:Java有三种注释的方式:

A: //

注释内容由//一直到此行结束。

B: /*和*/

定义一个注释块。

C:/**开始,*/结束

这种注释方法可用来自动产生文档

(4)数据类型

1:Java可区分为基本类型(Primitive Type)和类类型(Class Type),其中类类型也叫参考类型(Reference Type)。

2:字节类型,也叫byte类型,长度为1字节,一般在需要逐字节处理数据时(如图形处理、编码处理等)。

3:整数又可细分为4种,按照在内存中占用空间的大小可分为:short整数(占2字节)、int整数(占4字节)与long整数(占8字节)。浮点数用来表示小数,可分为float型(占4字节)和double型(占8字节)。

4:字符char类型则用来存储一些字符符号,每个字符占2字节,汉字字符与英文字符在Java中都是用双字节储存。

5:布尔:只有true和false两种表示。

6:在JDK5之后,有了printf(),这比较类似C语言中的打印输出语句,其用法也和C语言中的基本一致,需要通过一些格式控制符号来对输出的格式类型进行设置。

(5)变量

1:变量也好理解,就是在内存中取一个空间,并对其声明类型和命名,而这个空间就是我们说的变量,可以储存相应类型的数据。

2:关于变量的命名,一般按照驼峰式(Camel Case)命名的方法,以小写字母开始,并在每个单字开始时第一个字母使用大写。

3:关于变量的使用,在调用变量之前,一定要对该变量进行初始化,即给变量要指定值后才能使用;

 4:在表示数字常量时,用0b表示二进制数,用0x表示十六进制数。

(3)运算符

1:在逻辑运算符中,&&的特点在于如果&&左边为假,则不论右边真值如何,其逻辑判断返回结果为假;同样的,||的特点在于如果||的左边为真,则不论右边真值如何,其逻辑判断返回结果为真。这在一定的程度上还是能提高代码的编译执行效率。

2:在递增、递减运算符中,就要注意运算符是放在变量的左边还是右边,如果运算符在变量左边,则先改变变量值再进行运算,如果运算符在变量右边,则先进行运算再对变量进行相应的加减变化。

(4)类型转换

1:类型与变量看似简单,但是很多时候编译不通过,可能就是这些细节不注意。Java中对变量类型区分是非常严格的,在不特别指明的情况下,整数一般为int类型,小数则默认为double型,如果不特别注意这些就容易犯错。另一种情况,就是不同类型的操作数在进行运算时要遵循一些原则。如果操作数都是不大于int的整数,则自动全部提升为int类型进行运算;如果运算时,类型不相同,则运算时会以最长的类型为主。

(5)流程控制

if...else条件式

a:需要注意的是一定要把执行的语句用花括号括起来,否则,默认的是只执行if后的第一句。

switch条件式

b:switch有点像多个分支的if语句,但在某些情况下,用switch可以提高代码的效率,书本上也有相应的例子,不用进入每个if语句去判断,可以通过待判断的值直接进入相应的case,只是注意switch一般都会配以break一起使用,编写代码时不能忘记这一点。

for循环

c:与C语言中的for循环基本一样,写代码时养成先写##for(;;)##的习惯,这样不会漏必要的元素,如果判断部分没有任何说明,则默认是true,即是一个无限循环。

while循环

a:当型循环:while(条件式){描述句},先判断条件式的布尔类型,如果成立,则执行描述句。

b:直到型循环:do{描述句}while(条件式);,特点是先执行一遍描述句,再判断条件,如果条件成立就再执行一遍描述句,直到条件不成立为止。

c:需要注意的是:while的两种类型的区别,在写法上,注意当型while后没有分号,第二种有分号。

break continue

a:break:结束当前循环。

b:continue: 跳过当前循环一次。

c:break、continue还可以和标签一起配套使用。break与标签配套时,则结束该标签包含的所有语句;continue与标签配套时,则跳过该标签包含的所有语句。

(6)字符串: Java字符串是Unicode字符的序列,它是组织字符的基 本数据结构,用法类似于字符数组。有内置的字符串类型,而是在标准Java类库中提供了一 个Java预定义类String。程序中需要用到的字符串可以分为两大类:创建之后不会再做修改和变动的不可变字符串String类;创建之后允许再做更改和变化的构建字符串StringBuilder类。

(7)数组是一种数据结构,是有序数据的集合数据中每个元素的数据类型都是相同的。java中数组是独立类,有自己的方法,一个数组是一个对象,数组申明之后要用new运算符为其分配内存空间,分配内存空间时必须指明数组的长度。

第二部分:实验部分:

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掌握循环控制结构;

Retirement.java的结果:

Retirement.java2 的结果:

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

实验结果:

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

实验结果:

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

实验结果:

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

实验结果:

实验总结:本次的实验比起第一次相比好一点,在老师课堂上讲解数据类型,变量,运算符等知识进一步巩固,在C语言当中学过,老师区分了与它的不同之处。在实验课上,也跟随老师初步掌握乐String类,StringBuilder类,和数组类的用法。但是对程序的语言含义还并不是很理解,需要自己下功夫,自主学习的过程中不断像老师和同学和学长请教,只有自己不断努力,才能有所收获,日积月累才是见证最终的能力所在。

原文地址:https://www.cnblogs.com/wang963/p/9613549.html