Java实训2

时间:2024.5.2

Java实训2——简单的Java程序(维信科技)

    从本章开始,就要正式学习Java语言的程序设计,除了认识程序的架构外,本章还介绍了修饰符、关键字以及一些基本的数据类型。通过简单的范例,让读者了解到检测与提高程序可读性的方法,以培养读者正确的程序编写观念与习惯。

1一个简单的例子(维信科技,山西最专业的IT实训)

    首先来看一个简单的Java程序。在介绍程序的内容之前,先简单回顾一下第一章讲解的例子,之后再来看下面这个程序,试试看是否看得出它是在做哪些事情!

范例:TestJava2_1.java

01  //TestJava2_1.java,java的简单范例

02  publicclassTestJava2_1

03  {

04      publicstaticvoidmain(Stringargs[])

05      {

06          intnum;     //声明一个整型变量num

07          num=3;      //将整型变量赋值为3

08          //输出字符串,这里用"+"号连接变量

09          System.out.println("这是数字"+num);

10          System.out.println("我有"+num+"本书!");

11      }

12  }

输出结果:这是数字3我有3本书!

如果现在看不懂上面的这个程序也没有关系,先将它敲进Java编辑器里,将它存盘、编辑、运行,就可以看到上面的输出结果。

 从上面的输出结果中可以看出System.out.println()的作用,就是输出括号内所包含的文字(维信科技,山西最专业的IT实训),至于public、class、static、void这些关键字的意思,将在以后的章节中再做更深入一层的探讨。

程序说明:

1、第1行为程序的注释,Java语言的注释是以“//”标志开始的,注释有助于对程序的阅读与检测,被注释的内容在编译时不会被执行。

2、第2行publicclassTestJava2_1中的public与class是Java的关键字,class为“类”的意思,后面接上类名称,在本程序中取名为TestJava2_1。public则是用来表示该类为公有,也就是在整个程序里都可以访问到它。

需要注意的是,如果将一个类声明成public,则也要将文件名称取成和这个类一样的名称,如图2-1所示。本例中的文件名为TestJava2_1.java,而public之后所接的类名称也为TestJava2_1。也就是说,在一个Java文件里,最多只能有一个public类,否则.java的文件便无法命名。

图2-1  如果将类声明成public,则也要将文件名称取成和这个类一样的名称

3、第4行publicstaticvoidmain(Stringargs[])为程序运行的起点。第4~10行的功能类似于一般程序语言中的函数(function),(维信科技,山西最专业的IT实训)但在Java中称之为method(方法)。因此C语言里的main()函数(主函数),在Java中则被称为main()method(主方法)。

4、main()method的主体(body)从第5行的左大括号“{”到第11行的右大括号“}”为止。每一个独立的Java程序一定要有main()method才能运行,因为它是程序开始运行的起点。

5、第6行“intnum;”的目的是声明num为一个整数类型的变量。在使用变量之前必须先声明其类型。

6、第7行“num=3;”为一赋值语句,即把整数2赋给存放整数的变量num。

7、第8行的语句为(维信科技,山西最专业的IT实训):System.out.println("这是数字"+num);

程序运行时会在显示器上输出引号(””)内所包含的内容。包括“这是数字”和整数变量num所存放的值两部分内容。

8、System.out是指标准输出,通常与计算机的接口设备有关,如打印机、显示器等。其后所续的文字println,是由print与line所组成的,意思是将后面括号中的内容打印在标准输出设备——显示器上。因此第8行的语句执行完后会换行,也就是把光标移到下一行的开头继续输出。读者可以把System.out.println(),改成System.out.print()(维信科技,山西最专业的IT实训),看一下换行与不换行的区别。

9、第10行的右大括号则告诉编译器main()method到这儿结束。

10、第11行的右大括号则告诉编译器classTestJava2_1到这儿结束。

    这里只是简单的介绍了一下TestJava2_1这个程序,相信读者已经对Java语言有了初步的了解。TestJava2_1程序虽然很短,却是一个相当完整的Java程序!在后面的章节中,将会对Java语言的细节部分,做详细的讨论。

2   简单的Java程序解析

本节将仔细探讨Java语言的一些基本规则及用法。

2.1  类(class)

    Java程序是由类(class)所组成,至于类的概念在以后会有详细讲解,读者只要先记住所有的Java程序都是由类组成的就可以了。(维信科技,山西最专业的IT实训)下面的程序片段即为定义类的典型范例:

publicclassTest      //定义publicTest

{

}

上面的程序定义了一个新的public类Test,这个类的原始程序的文件名称应取名为Test.java。类Test的范围由一对大括号所包含。public是Java的关键字,指的是对于类的访问方式为公有。

需要读者注意的是,由于Java程序是由类所组成,因此在完整的Java程序里,至少需要有一个类。此外,本书曾在前面提到过在Java程序中,其原始程序的文件名不能随意命名,必须和public类名称一样,因此在一个独立的原始程序里,只能有一个public类,(维信科技,山西最专业的IT实训)却可以有许多non-public类。

此外,若是在一个Java程序中没有一个类是public,那么该Java程序的文件名就可以随意命名了。

2.2  大括号、段及主体

将类名称定出之后,就可以开始编写类的内容。左大括号“{”为类的主体开始标记,而整个类的主体至右大括号“}”结束。每个命令语句结束时,必须以分号“;”做结尾。当某个命令的语句不只一行时,必须以一对大括号“{}”将这些语句包括起来,(维信科技,山西最专业的IT实训)形成一个程序段(segment)或是块(block)。

再以一个简单的程序为例来说明什么是段与主体。若是暂时看不懂TestJava2_2这个程序,也不用担心,慢慢的都会讲到该程序中所用到的命令。在下面的程序中,可以看到main()method的主体以左右大括号包围起来;for循环中的语句不只一行,所以使用左右大括号将属于for循环的段内容包围起来;整个程序语句的内容又被第3与第13行的左右大括号包围,这个块属于public类TestJava2_2所有。此外,应该注意到每个语句结束时,都是以分号作为结尾。

范例:TestJava2_2.java














2.3  程序运行的起始点——main()method

Java程序是由一个或一个以上的类组合而成,程序起始的主体也是被包含在类之中。这个起始的地方称为main(),(维信科技,山西最专业的IT实训)用左右大括号将属于main()段内容包围起来,称之为method(方法)。

main()方法为程序的主方法,在一个Java程序中有且只能有一个main()方法,它是程序运行的开端,通常看到的main()method如下面的语句片段所示:

publicstaticvoidmain(Stringargs[])           //main()method,主程序开始

{

}

    如前一节所述,main()method之前必须加上publicstaticvoid这三个标识符。public代表main()公有的method;static表示main()在没有创建类对象的情况下,仍然可以被运行;void则表示main()方法没有返回值。Main后的括号()中的参数Stringargs[]表示运行该程序时所需要的参数,这是固定的用法,如果现在不了解也没有关系,在以后的章节中会一一介绍。

2.4Java程序的注释

    为程序添加注释可以用来解释程序的某些语句的作用和功能,提高程序的可读性。也可以使用注释在原程序中插入设计者的个人信息。此外,还可以用程序注释来暂时屏蔽某些程序语句,让编译器暂时不要处理这部分语句,等到需要处理的时候,只需把注释标记取消就可以了,Java里的注释根据不同的用途分为三种类型:

·单行注释

·多行注释

·文档注释

    单行注释,就是在注释内容前面加双斜线(//),Java编译器会忽略掉这部分信息。如下所示:

intnum;     //定义一个整数

    多行注释,就是在注释内容前面以单斜线加一个星形标记(/*)开头,并在注释内容末尾以一个星形标记加单斜线(*/)结束。当注释内容超过一行时一般使用这种方法,如下所示:

/*

intc=10;

intx=5;

*/

    文档注释,是以单斜线加两个星形标记(/**)开头,并以一个星形标记加单斜线(*/)结束。用这种方法注释的内容会被解释成程序的正式文档,并能包含进如javadoc之类的工具生成的文档里,用以说明该程序的层次结构及其方法。

2.5  Java中的标识符

    Java中的包、类、方法、参数和变量的名字,(维信科技,山西最专业的IT实训)可由任意顺序的大小写字母、数字、下划线(_)和美元符号($)组成,但标识符不能以数字开头,不能是Java中的保留关键字。

·下面是合法的标符:yournameyour_name

_yourname

$yourname

·下面是非法的标识符:

class

67.9

HelloCareers

    !小提示:一些刚接触编程语言的读者可能会觉得记住上面的规则很麻烦,所以在这里提醒读者,标识符最好永远用字母开头,而且尽量不要包含其他的符号。

2.6  Java的关键字

    和其他语言一样,Java中也有许多保留关键字,如public、static等,这些保留关键字不能当作标识符使用(维信科技,山西最专业的IT实训)。下面列出了Java中的保留关键字,这些关键字并不需要读者去强记,因为一旦使用了这些关键字做标识符时,编辑器会自动提示错误。

Java中的保留关键字:

    要特别注意的是,虽然goto、const在Java中并没有任何意义,却也是保留字,与其它的关键字一样,在程序里不能用来做为自定义的标识符。

2.7  变量

    变量在程序语言中扮演了最基本的角色。变量可以用来存放数据,而使用变量之前必须先声明它所预保存的数据类型。接下来,来看看在Java中变量的使用规则。

2.7.1 变量的声明

    举例来说,想在程序中声明一个可以存放整数的变量,这个变量的名称为num,在程序中即可写出如下所示的语句:

intnum;                //声明num为整数变量

    int为Java的关键字,代表整数(Integer)的声明。若要同时声明多个整型的变量,可以像上面的语句一样分别声明它们(维信科技,山西最专业的IT实训),也可以把它们都写在同一个语句中,每个变量之间以逗号分开,如下面的写法:

intnum,num1,num2;      //同时声明num,num1,num2为整数变量

2.7.2 变量的数据类型

    除了整数类型之外,Java还提供了多种其它的数据类型。Java的变量类型可以是整型(int)、长整型(long)、短整型(short)、浮点型(float)、双精度浮点型(double)等,除了这些数据类型外,还有字符型(char)或字符串型(String)。关于这些数据类型,本书在第三章中有详细的介绍。

2.7.3 变量名称

    读者可以依据个人的喜好来决定变量的名称,这些变量的名称不能使用到Java的关键字。通常会以变量所代表的意义来取名(如num代表数字)。当然也可以使用a、b、c等简单的英文字母代表变量,但是当程序很大时,需要的变量数量会很多,这些简单名称所代表的意义就比较容易忘记,必然会增加阅读及调试程序的困难度。

2.7.4 变量名称的限制

同2-2-5所述标识符的名称限制。

2.8  变量的设置

    给所声明的变量赋予一个属于它的值,用等号运算符(=)来实现。具体可使用如下所示的三种方法进行设置:

方法1——在声明变量的时设置

    举例来说,在程序中声明一个整数的变量num,并直接把这个变量赋值为2,可以在程序中写出如下的语句:

intnum=2;            //声明变量,并直接设置

方法2——声明后再设置

一般来说也可以在声明后再给变量赋值(维信科技,山西最专业的IT实训)。举例来说,在程序中声明整数的变量num1、num2及字符变量ch,并且给它们分别赋值,在程序中即可写出如下面的语句:

intnum1,num2;//声明变量

charc;

num1=2;              //赋值给变量

num2=3;

ch='z';

方法3——在程序中的任何位置声明并设置

    以声明一个整数的变量num为例,可以等到要使用这个变量时,再给它赋值:

intnum;         //声明变量

num=2;         //用到变量时,再赋值

2.9     println()

读者会发现从第1章开始,所有的例题中出现了不少次的“System.out.println()”,在本节中,就先了解一下println()。至于详细的使用方法,在第三章会讲到。

System.out是指标准输出,通常与计算机的接口设备有关,如打印机、显示器等。其后所连接的println,是由print与line所组成的,意义是将后面括号中的内容打印在标准输出设备——显示器上。(维信科技,山西最专业的IT实训)左、右括号之间的内容,即是欲打印到显示器中的参数,参数可以是字符、字符串、数值、常量或是表达式,参数与参数之间以括号作为间隔。

当参数为字符串时以一对双引号(“”)包围;变量则直接将其名称做为参数;表达式作为参数时,要用括号将表达式包围起来。举例来说,想在屏幕上输出“我有20本书!”,其中20以变量num代替,程序的编写如下:

范例:TestJava2_3.java

01   //下面这段程序采用声明变量并赋值的方式,之后在屏幕上打印输出

02   publicclassTestJava2_3

03   {

04          publicstaticvoidmain(Stringargs[])

05          {

06                 intnum=2;             //声明变量并直接赋值为2

07                 System.out.println("我有"+num+"本书!");

08          }

09   }

输出结果:我有20本书!

    在TestJava2_3程序中,println()中的变量共有三个,以加号连接这些将被打印的数据。在此,加号是“合并”的意思,并非作为算术运算符号的用途。

3   程序的检测

现在相信读者大概可以依葫芦画瓢似地写出几个类似的程序了,接下来,要对读者做一些小检测!看看读者是否能够准确地找出下面的程序中存在错误:

范例:TestJava2_4.java

01   //下面程序的错误属于语法错误,在编译的时候会自动检测到

02   publicclassTestJava2_4

03   {

04          publicstaticvoidmain(Stringargs[])

05          {

06                 intnum1=2;                   //声明整数变量num1,并赋值为2

07                 intnum2=3;                      声明整数变量num2,并赋值为3

08

09                 System.out.println("我有"+num1"本书!");

10                 System.out.println("你有"+num2+"本书!")

11           )

12   }

3.1     语法错误

程序TestJava2_4在语法上犯了几个错误,若是通过编译器编译,便可以把这些错误找出来。首先,可以看到第4行,main()method的主体以左大括号开始,应以右大括号结束。所有括号的出现都是成双成对的,因此第11行main()method主体结束时应以右大括号做结尾,而Careers2_4中却以右括号“)”结束。

注释的符号为“//”,但是在第7行的注释中,没有加上“//”。在第9行,字符串的连接中少了一个“+”号,最后,还可以看到在第10行的语句结束时,少了分号作为结束。

上述的三个错误均属于语法错误。当编译程序发现程序语法有错误时,会把这些错误的位置指出,并告诉设计者错误的类型,即可以根据编译程序所给予的信息加以更正。将程序更改后重新编译(维信科技,山西最专业的IT实训),若还是有错误,再依照上述的方法重复测试,这些错误就将会被一一改正,直到没有错误为止。上面的程序经过检测、调试之后运行的结果如下:

输出结果:我有2本书!你有3本书!

3.2     语义错误

    当程序本身的语法都没有错误,但是运行后的结果却不符合设计者的要求,此时可能犯了语义错误,(维信科技,山西最专业的IT实训)也就是程序逻辑上的错误。读者会发现,想要找出语义错误会比找语法错误更难,以下面的程序进行简单的说明:

范例:TestJava2_5.java

01   //下面这段程序原本是要计算一共有多少本书,但是由于错把加号写成了减号,

//所以造成了输出结果不正确属于语义错误

02   publicclassTestJava2_5

03   {

04          publicstaticvoidmain(Stringargs[])

05          {

06                 intnum1=4;            //声明一整型变量num1

07                 intnum2=5;            //声明一整型变量num2

08

09                 System.out.println("我有"+num1+"本书!");

10                 System.out.println("你有"+num2+"本书!");

11                  //输出num1-num2的值s

12                 System.out.println("我们一共有"+(num1-num2)+"本书!");

13          }

14   }

输出结果:我有4本书!你有5本书!我们一共有-1本书!

    可以发现,在程序编译过程中并没有发现错误,但是运行后的结果却是不正确的,这种错误就是语义错误,就是在第12行中,因失误将“num1+num2”写成了“num1-num2”,虽然语法是正确的,但是却不符合程序的要求,只要将错误更正后,程序的运行结果就是想要的了。

4   提高程序的可读性

    能够写出一个程序的确很让人兴奋,但如果这个程序除了本人之外,其他人都很难读懂,那这就不算是一个好的程序,所以每个程序设计者在设计程序的时候,也要学习程序设计的规范格式,除了前面所说的加上注释之外,还应当保持适当的缩进,可以看见上面的范例程序都是按缩进的方法编写的,是不是觉得看起来很清晰、(维信科技,山西最专业的IT实训)明白?读者可以比较下面两个程序,相信看完之后,就会明白程序中使用缩进的好处了!

范例:TestJava2_6.java

01   //以下这段程序是有缩进的样例,可以发现这样的程序看起来比较清楚

02   publicclassCareers2_6

03   {

04          publicstaticvoidmain(Stringargs[])

05          {

06                 intx;

07

08                 for(x=1;x<=3;x++)

09                 {

10                        System.out.print("x="+x+",");

11                         System.out.println("x*x="+(x*x));

12                 }

13          }

14   }

下面是没有缩进的例子:

范例:TestJava2_7.java

01//下面的程序于前面程序的输出结果是一样的,但不同的是,

//这个程序没有采用任何缩进,所以看起来很累

02publicclassTestJava2_7{

03publicstaticvoidmain(Stringargs[]){

04intx;for(x=1;x<=3;x++){

05System.out.print("x="+x+",");

06System.out.println("x*x="+(x*x));}}}

TestJava2_7这个例子虽然简短,而且语法也没有错误,但是因为编写风格的关系,阅读起来肯定没有TestJava2_6这个程序好读,(维信科技,山西最专业的IT实训)所以建议读者尽量使用缩进,养成良好的编程习惯。

范例TestJava2_6和TestJava2_7运行后的输出结果如下:

x=1,x*x=1

x=2,x*x=4

x=3,x*x=9

更多相关推荐:
java实训报告模板

辽宁建筑职业学院Java高级应用实训报告课题名称婚庆公司网站专业软件技术班级xxxxxxxxxx学号姓名xxxx指导教师xxx二O一三年十二月三十日成绩评定标准1目录一课程设计目的32二课程设计题目描述和要求3...

java软件培训实习报告

实习报告一、实习时间20xx.01.08--20xx.05.18二、实习地点无锡NIIT软件服务外包实训基地三、实习目的进一步了解Java开发的相关知识,掌握Java开发的基本技术,丰富Java开发的实战经验。…

java实习报告

设计地点:软件三机房专业:计算机网络技术指导教师:***班级:20XX级计网班设计:***设计时间:20XX.12.31-20XX.1.13目录第一章概论1第一节设计目的1第二节设计要求1第三节设计任务1第二章…

java实训报告模板

软件学院实训报告实训项目班级学号姓名上课时间教师签名实训报告详细内容包括一实训每日报告113一通过这节课我学到了1通过继承线程类Thread编写线程2通过实现Runnable接口来创建线程3使用静态方法slee...

java实习总结报告

java实习总结报告,内容附图。

Java项目实训报告模板

实训报告书课程:Java项目实训专业班级:学生姓名:学号:指导教师:完成日期:重庆电子工程职业学院软件学院目录目录................................................…

java实训报告

实训8接口与抽象类实训目的1理解接口与抽象类的思想2掌握接口与抽象类在Java中的语法规则和结论灵活运行进行编程实训案例通过编程验证如下结论1接口中的属性默认为static和final方法默认为abstract...

《Java程序开发实训》综合实训报告

Java程序开发实训综合实训报告题目姓名学号班级一系统实现的主要功能及运行结果截图二综合实训过程中遇到的问题及解决方法三本次综合实训中的收获及体会四对本课程教学的建议

java实训报告

烟台南山学院软件工程学院网络编程课程实训报告20xx20xx学年第1学期姓名朕学号888888专业软件技术班级软8指导教师白晓网络编程课程实训报告

Java实验报告

JAVA课程标准实验报告学号1040501211姓名陈嘉生江苏科技大学计算机科学与工程学院基础部1实验一流程控制语句一实验目的1234二实验内容1安装开发环境JDK2编写一个JAVA应用程序在输出窗口显示quo...

java超市管理系统实训报告

11课程设计的目的通过本次课程设计使学生能够全面深刻地掌握数据库系统的设计流程根据在数据库原理课程中所学到的数据库理论知识结合某个具体的实际需求最终开发出一个较为实用的数据库系统12课程设计的背景和意义121课...

java实训三实训报告

北京联合大学实验报告课程项目名称JAVA语言课程实验报告实验3学院自动化学院专业自动化班级学号姓名成绩20xx年4月4日一实验目的1掌握结构化程序设计的方法2学习用ifelse语句实现单分支3学习用ifelse...

java实训报告(33篇)