程序java随机数

java随机数  时间:2021-02-25  阅读:()
第1章Java语言简介Java基础教程(第2版)2Java具有面向对象、与平台无关、安全、稳定和多线程等优良特性,是目前软件设计中优秀的编程语言.
Java不仅可以用来开发大型的应用程序,而且特别适合于Internet的应用开发.
Java确实具备了"一旦写成处处可用"的特点,这也是Java风靡全球的主要原因.
Java不仅是一门正在被广泛使用的编程语言,而且许多新的技术领域都涉及到了Java语言,Java已成为网络时代最重要的语言之一.
本章将对Java语言做一个简单的介绍,并初步了解什么是Java应用程序,什么是JavaApplet程序,有关的细节会在后续的章节中讨论.
1.
1Java的诞生Java是1995年6月由Sun公司引进的革命性的编程语言,之所以称Java为革命性编程语言,是因为传统的软件往往与具体的实现环境有关,一旦环境有所变化就需要对软件作一番改动,耗时费力.
Java语言和其他语言相比,最大的优势就是编写的软件能在执行码上兼容,可以在所有的计算机上运行.
Java之所以能做到这一点,是因为Java可以在计算机的操作系统之上再提供一个Java运行环境,即一个运行Java程序的平台,这个平台由Java虚拟机(JavaVirtualMachine)、类库以及一些核心文件组成,也就是说,只要计算机提供了Java运行环境,Java编写的软件就能在其上运行.
Java语言的出现源于对独立平台语言的需要,希望这种语言可以编写出能嵌入各种家用电器等设备的芯片上,且易于维护的程序.
但是,人们发现当时的编程语言,如C、C++等都有一个共同的缺点,那就是它们都针对特定的CPU芯片进行编译.
这样,一旦电器设备更换了芯片就不能保证程序正确地运行,这就可能需要修改程序并针对新的芯片重新进行编译.
1990年Sun公司成立了由JamesGosling领导的开发小组,开始致力于开发一种可移植的、跨平台的语言,该语言能生成正确运行于各种操作系统、各种CPU芯片上的代码.
他们的精心专研和努力促进了Java语言的诞生.
Java的快速发展得益于Internet和Web的出现,Internet上有各种不同的计算机,它们可能使用完全不同的操作系统和CPU芯片,但仍希望运行相同的程序,Java的出现标志着真正的分布式系统的到来.
印度尼西亚有一个著名的盛产咖啡的岛屿叫Java,中文名叫爪哇,开发人员为这种新的语言起名为Java,其寓意是为世人端上一杯热咖啡.
1.
2Java的特点Java是目前使用最为广泛的网络编程语言之一.
它具有简单、面向对象、稳定、与平台无关、多线程、动态等特点.
1.
2.
1简单Java语言简单是指这门语言既易学又好用.
不要将简单误解为这门语言很干瘪.
用户可第1章Java语言简介3能很赞同这样的观点:英语要比阿拉伯语言容易学.
但这并不意味着英语就不能表达丰富的内容和深刻的思想,许多诺贝尔文学奖的作品都是英文写的.
如果用户学习过C++语言,会感觉Java很熟悉,因为Java中许多基本语句的语法和C++一样,如常用的循环语句、控制语句等和C++几乎一样,但不要误解为Java是C++的增强版,Java和C++是两种完全不同的语言,它们各有各的优势,将会长期并存下去,Java语言和C++语言已成为软件开发者应当掌握的语言.
如果从语言的简单性方面看,Java要比C++简单,C++中许多容易混淆的概念,或者被Java弃之不用,或者以一种更清楚更容易理解的方式实现,例如,Java不再有指针的概念.
1.
2.
2面向对象基于对象的编程更符合人的思维模式,使人们更容易解决复杂的问题.
Java是面向对象的编程语言,将在第4章详细、准确地讨论类、对象、继承、多态、接口等重要概念.
1.
2.
3与平台无关与平台无关是指软件的运行不因处理器、操作系统的变化而无法运行或出现运行错误.
其他语言编写的程序面临的一个主要问题是操作系统的变化、处理器升级以及核心系统资源的变化,都可能导致程序出现错误或无法运行.
Java语言和其他语言相比,最大的优势就是能够在所有的计算机上运行,因为Java可以在计算机的操作系统之上再提供一个Java运行环境,即一个运行Java程序的平台,这个平台由Java虚拟机(JavaVirtualMachine)、类库以及一些核心文件组成.
Java编写的程序可以在任何安装了Java运行环境的计算机上正确运行,Sun公司实现了"一次写成,处处运行"的目标.
C、C++等语言,都是针对特定的CPU芯片进行编译,生成机器代码,机器代码是能被机器直接识别的一种代码,这种代码中的指令都是由0、1组成的序列,称为机器指令.
每一条机器指令都是由计算机的硬件设计定义好的,例如,某种型号的计算机用8位二进制信息10101010表示一次加法,以10010011表示一次减法等.
因此,C/C++编译生成的机器代码就和特定的CPU有关,一旦环境有所变化就可能需要修改源程序,并针对新的环境重新编译,生成新的机器代码.
Java不像C++,它不针对特定的CPU芯片进行编译,而是把程序编译为称做字节码的一种"中间代码".
字节码是很接近机器码的文件,可以在提供了Java虚拟机(JVM)的任何系统上被解释执行,也就是说,在一个计算机上编译得到的字节码文件可以复制到任何一个安装了Java运行环境的计算机上直接使用.
字节码由Java虚拟机负责解释运行,即Java虚拟机负责将字节码翻译成本地计算机的机器码,并将机器码交给本地的操作系统来运行.
Java被设计成为解释执行的程序,即翻译一句,执行一句,不产生整个的机器代码程序,翻译过程如果不出现错误,就一直进行到完毕,否则将在错误处停止执行.
同一个程序,如果是解释执行的,那么它的运行速度通常比编译为可执行的机器代码的运行速度慢一些.
但是,对Java来说,二者的差别不太大,Java的字节码经过仔细设计,使得Java运行环境很容易便能使用JIT(即时编译方式)编译技术将字节码直接转化成高性能的本地机器码,即将字节码编译成Java基础教程(第2版)4本地机器码,并将该机器码交给本地的操作系统运行,而不必解释一句执行一句.
Sun公司的Java运行环境提供了这样一个字节码编译器——JIT(JustInTime),它是Java虚拟机的一部分.
Java运行环境在提供JIT的同时仍具有平台独立性,因而"高效且跨平台"对Java来说不再矛盾.
1.
2.
4多线程Java的特点之一就是内置对多线程的支持.
多线程允许同时完成多个任务.
实际上多线程使人产生多个任务在同时执行的错觉,因为,目前的计算机处理器在同一时刻只能执行一个线程,但处理器可以在不同的线程之间快速地切换,由于处理器速度非常快,远远超过了人接收信息的速度,所以给人的感觉好像多个任务在同时执行.
C++没有内置的多线程机制,因此必须调用操作系统的多线程功能来进行多线程程序的设计.
1.
2.
5安全当用户准备从网络上下载一个程序时,用户最大的担心是程序中含有恶意的代码,例如试图读取或删除本地机上的一些重要文件,甚至该程序是一个病毒程序等.
当用户使用支持Java的浏览器时,用户可以放心地运行JavaApplet程序,不必担心病毒的感染和恶意的企图,JavaApplet程序将被限制在Java运行环境中,不允许它访问计算机的其他部分.
将在第10章详细讲述JavaApplet程序.
1.
2.
6动态学习了第4章后,大家就会知道,Java程序的基本组成单元是类,有些类是自己编写的,有一些是从类库中引入的,而类又是运行时动态装载的,这就使得Java可以在分布环境中动态地维护程序及类库.
C/C++编译时就将函数库或类库中被使用的函数、类同时生成机器码,那么每当其类库升级后,如果C/C++程序想具有新类库提供的功能,程序就必须重新修改、编译.
1.
3安装SUN公司的SDKSun公司要实现"编写一次,到处运行(Writeonce,runanywhere)"的目标,就必须提供相应的Java运行环境,即运行Java程序的平台.
目前,Java平台主要分为以下三种.
1.
3.
1三种平台简介J2SE:称为Java标准版或Java标准平台.
J2SE提供了标准的SDK开发平台(以前称做JDK开发平台).
利用该平台可以开发Java桌面应用程序和低端的服务器应用程序,也可以开发JavaApplet程序.
目前最新的SDK版本为J2SESDK1.
5,Sun公司把这一最新版本命名为JDK5.
0,但人们仍习惯地称做JDK1.
5.
第1章Java语言简介5J2EE:称为Java企业版或Java企业平台.
使用J2EE可以构建企业级的服务应用,J2EE平台包含了J2SE平台,并增加了附加类库,以便支持目录管理、交易管理和企业级消息处理等功能.
J2ME:称为Java微型版或Java小型平台.
J2ME是一种很小的Java运行环境,用于嵌入式的消费产品中,如移动电话、掌上电脑或其他无线设备等.
无论上述哪种Java运行平台都包括了相应的Java虚拟机(JavaVirtualMachine),虚拟机负责将字节码文件(包括程序使用的类库中的字节码)加载到内存,然后采用解释方式来执行字节码文件,即根据相应硬件的机器指令翻译一句执行一句.
1.
3.
2安装J2SE平台J2SE平台是学习掌握Java语言的最佳平台,而掌握J2SE又是进一步学习J2EE和J2ME所必需的.
学习Java必须从J2SE开始,因此,本书基于J2SE来学习Java.
目前有许多很好的Java程序开发环境可用,包括来自Sun、Borland、Sysmantec公司的产品,例如JBuilder等.
但学习Java最好选用Sun公司推出的软件开发工具SDK.
学习Java语言可以使用Sun公司发布的SDK1.
5,可以登录到Sun公司的网站http://java.
sun.
com,免费下载SDK1.
5(例如jdk-1_5_0_06-windows-i586-p).
如果安装SDK时选择安装到F:\Jdk1.
5目录下,则会生成如图1-1所示的目录结构.
现在,就可以编写Java程序,并进行编译、运行程序,因为安装SDK的同时,计算机就安装上了能运行Java程序的Java运行环境JRE.
如果只想运行别人的Java程序,可以只安装Java运行环境JRE,JRE由Java虚拟机、Java的核心类以及一些支持文件组成.
可以登录Sun公司的网站免费下载Java的JRE.
1.
系统环境变量Path值的设置SDK安装目录的bin文件夹中含有编译器(javac.
exe)、解释器(java.
exe)和一些其他的可执行文件,为了方便地使用编译器和解释器,应当将bin包含在Path的设置中.
对于Windows2000、Windows2003、WindowsXP,右击"我的电脑",在弹出的快捷菜单中选择"属性"命令,弹出"系统属性"对话框,再单击该对话框中的"高级"标签,然后在"高级"选项卡中单击"环境变量"按钮,弹出"环境变量"对话框.
如果未设置过Path,可单击该对话框中的"新建"按钮,然后在"新建系统变量"对话框中添加系统环境变量,设置"变量名"为Path,"变量值"为F:\jdk1.
5\bin.
如果曾经设置过环境变量Path,可双击"系统变量"列表框中的Path,对该变量进行编辑操作,将需要的值输入即可,如图1-2所示.
也可以在命令行窗口,如MS-DOS窗口输入以下命令:图1-1SDK目录结构Java基础教程(第2版)6图1-2设置系统环境变量PathPath=F:\jdk1.
5\bin;对于Win9x,用记事本编辑Autoexec.
bat文件,将以下的设置语句输入即可.
Path=F:\jdk1.
5\bin;2.
系统环境变量ClassPath值的设置SDK安装目录的jre文件夹中包含着Java应用程序运行时所需要的Java类库,这些类库被包含在jre\lib目录下的压缩文件rt.
jar中.
安装SDK一般不需要设置环境变量ClassPath的值,如果用户的计算机安装过一些商业化的Java开发产品或带有Java技术的一些产品,如PB、Oracle等,那么这些产品在安装后可能会修改ClassPath的值,当用户运行Java应用程序时,可能加载这些产品所带的以前版本的类库,可能导致程序要加载的类无法找到,使用户的程序出现运行错误.
用户可以重新编辑系统环境变量ClassPath的值,对于Windows2000、Windows2003、WindowsXP,右击"我的电脑",在弹出的快捷菜单中选择"属性"命令,弹出"系统属性"对话框,再单击该对话框中的"高级"标签,然后单击"环境变量"按钮,弹出"环境变量"对话框.
如果未设置过ClassPath,可单击该对话框中的"新建"按钮,在"新建系统变量"对话框中添加系统环境变量,设置"变量名"为ClassPath,"变量值"为F:\jdk1.
5\jre\lib\rt.
jar;.
;,如图1-3所示.
图1-3设置系统环境变量ClassPath如果曾经设置过环境变量ClassPath,可双击"系统变量"列表框中的ClassPath,对该变量进行编辑操作,将需要的值输入即可.
也可以在命令行窗口,如MS-DOS窗口输入以下命令:setclasspath=F:\jdk1.
5\jre\lib\rt.
jar;.
;对于Win9x,用记事本编辑Autoexec.
bat文件,将以下的设置语句输入即可.
setclasspath=F:\jdk1.
5\jre\lib\rt.
jar;.
;ClassPath环境变量设置中的".
;"是指可以加载应用程序当前目录及其子目录中的类.
建议下载Sun公司的Java类库文档,例如jdk-1_5_0-beta2-doc.
第1章Java语言简介7使用SDK环境开发Java程序,需运行MS-DOS命令行窗口.
用户需要掌握简单的DOS操作命令,例如,从逻辑分区C转到逻辑分区D,需在命令行输入D:,按回车键确定.
进入某个子目录(文件夹)的命令是"cd目录名";退出某个子目录的命令是"cd.
.
".
例如,从目录example退到目录boy的命令是"c:\boy>example>cd.
.
"1.
4一个Java程序的开发过程Java程序的开发过程如图1-4所示.
编译生成由浏览器执行由Java解释器执行JavaApplet程序Java应用程序字节码文件源文件:文件名.
javaJava编译器:javac图1-4Java程序的开发过程编写源文件:使用一个文本编辑器,如Edit或记事本,来编写源文件.
不可使用Word编辑器,因它含有不可见字符.
将编写好的源文件保存起来,源文件的扩展名必须是.
java.
编译Java源程序:使用Java编译器(javac.
exe)编译源文件,得到字节码文件.
运行Java程序:利用J2SE平台可以开发Java应用程序,也可以开发JavaApplet程序.
Java应用程序通过Java平台中的Java解释器(java.
exe)来解释执行字节码文件;运行JavaApplet程序并不需要安装J2SE平台,JavaApplet可以由支持Java的浏览器直接运行,该浏览器必须包含相应的Java虚拟机.
1.
5一个简单的Java应用程序1.
5.
1编写源文件源文件代码如下:publicclassHello{publicstaticvoidmain(Stringargs[]){System.
out.
println("这是一个简单的应用程序");Studentstu=newStudent();stu.
speak("Wearestudents");}Java基础教程(第2版)8}classStudent{publicvoidspeak(Strings){System.
out.
println(s);}}Java源程序中语句所涉及到的小括号及标点符号都是英文状态下输入的括号和标点符号,例如"这是一个简单的应用程序"中的引号必须是英文状态下的引号,而字符串中的符号不受汉字符或英文字符的限制.
1.
应用程序的主类一个Java应用程序的源文件必须有一个类含有publicstaticvoidmain(Stringargs[])方法,称这个类是应用程序的主类.
args[]是main方法的一个参数,它是一个字符串类型的数组(注意String的第一个字母是大写的),以后会学习怎样使用这个参数.
2.
源文件的命名如果源文件中有多个类,那么只能有一个类是public类;如果有一个类是public类,那么源文件的名字必须与这个类的名字完全相同,扩展名是.
java;如果源文件没有public类,那么源文件的名字只要和某个类的名字相同,并且扩展名是.
java就可以了.
假设将上述源文件保存到C:\1000文件夹中,并命名为Hello.
java.
注意不可写成hello.
java,因为Java语言是区分大小写的.
在保存文件时,必须将"保存类型"设置为"所有文件",将"编码"设置为"ANSI".
如果用户在保存文件文件时,系统总是给用户的文件名尾加上".
txt",那么用户在保存文件时可以将文件名用双引号括起,示意如图1-5.
图1-5Java源文件的保存3.
良好的编程习惯在编写程序时,一行最好只写一条语句,大括号最好也独占一行,并有明显的缩进.
1.
5.
2编译当创建了Hello.
java源文件后,就要使用Java编译器(javac.
exe)对其进行编译,编译代码如下:C:\1000\>javacHello.
java需要打开MS-DOS命令行窗口,进入C盘,然后进入1000目录中,如图1-6所示.
第1章Java语言简介9图1-6使用javac编译源文件如果源文件没有错误,编译源文件将生成多个扩展名为.
class的文件,每个扩展名是.
class的文件中只存放一个类的字节码,其文件名与该类的名字相同.
这些字节码文件被存放在与源文件相同的目录中.
编译Hello.
java源文件将得到2个字节码文件:Hello.
class和Student.
class.
如果对源文件进行了修改,必须重新编译,再生成新的字节码文件.
如果编译出现错误提示,必须修改源文件,然后再进行编译.
JDK1.
5的编译器javac.
exe和以前版本的编译器有了很大的不同,它不再向下兼容,也就是说,如果在编译源文件时没有特别约定,用JDK1.
5的编译器生成的字节码只能在安装了JDK1.
5或JRE1.
5的Java平台环境中运行.
可以使用"-source"参数约定字节码适合的Java平台.
如果用户的程序中并没有用到JDK1.
5的新功能,在编译源文件时可以使用"-source"参数,如:javac-source1.
4文件名.
java;这样编译生成的字节码可以在1.
4版本以上的Java平台运行.
如果源文件使用的系统类库没有超出JDK1.
1版本,在编译源文件应当使用-source参数,取值1.
1,使字节码有更好的可移植性.
-source参数可取的值有1.
5、1.
4、1.
3、1.
2、1.
1.
如果用户没有使用"-source"参数,javac会默认地使用该参数,并取值为1.
5.
在编译时,如果出现错误提示CommandnotFond,请检查是否正确设置了系统变量Path的值;如果出现错误提示fileNotFound,请检查源文件是否在当前目录中,例如c:\1000中,检查源文件的名字是否错误的命名为hello.
java或hello.
java.
txt.
1.
5.
3运行使用Java虚拟机中的Java解释器(java.
exe)来解释执行其字节码文件.
Java应用程序总是从主类的main方法开始执行.
因此,必须按照如下方式运行Java应用程序:C:\1000\>javaHello效果如图1-7所示.
当Java应用程序中有多个类时,java命令执行的类名必须是主类的名字(没有扩展名).
当使用解释器运行应用程序时,Java虚拟机首先将程序需要的字节码文件加载到内存,然后解释执行字节码文件.
当运行上述Java应用程序时,虚拟机将Hello.
class和Student.
class加载到内存.
当虚拟机将Hello.
class加载到内存时,就为主类中的main方法分配了入口地址,图1-7使用Java解释器运行程序Java基础教程(第2版)10以便Java解释器调用main方法开始运行程序.
在运行时,如果出现错误提示Exceptioninthread"main"java.
lang.
NoCalssFondError,请检查主类中的main方法,如果编写程序时错误地将主类中的main方法写成publicvoidmain(Stringargs[]),那么,程序可以编译通过,但却无法运行.
如果main方法书写正确,请检查是否正确设置了系统变量ClassPath的值,需要特别注意的是,不可以按照如下方式运行程序:javaC:\1000\Hello下面再看一个简单的Java应用程序.
也许大家现在还看不懂这个程序,但大家必须知道怎样命名、保存源程序;怎样使用编译器编译源程序;怎样使用解释器运行程序.
运行效果如图1-8所示.
1.
源文件源文件代码如下:publicclassPeople{doublehight;Stringhead;voidspeak(Strings){System.
out.
println(s);}}classA//主类{publicstaticvoidmain(Stringargs[]){Peoplezhubajie;zhubajie=newPeople();zhubajie.
hight=1.
88;zhubajie.
head="大头";System.
out.
println("身高:"+zhubajie.
hight);System.
out.
println("头:"+zhubajie.
head);zhubajie.
speak("师傅,咱们别去西天了,改去月宫吧");}}必须把源文件保存起来,并命名为People.
java(回忆一下源文件命名的规定).
假设People.
java保存在C:\1000下.
2.
编译编译代码如下:图1-8编译、运行Java应用程序第1章Java语言简介11c:\1000\>javacPeople.
java如果编译成功,1000目录下就会有People.
class和A.
class两个字节码文件.
3.
执行执行代码如下:c:\1000\>javaAjava命令后的名字必须是主类的名字(不包括扩展名).
Java具有类似于C/C++的注释规定.
注释单行用"//"开始;注释多行用"/*"开始,以"*/"结束.
1.
6一个简单的JavaApplet程序JavaApplet程序也称做Java小应用程序,JavaApplet程序的字节码必须通过浏览器中内嵌的Java虚拟机解释运行,下列JavaApplet程序的运行效果如图1-9所示.
1.
6.
1源程序源程序代码如下:importjava.
applet.
*;importjava.
awt.
*;publicclassBoyextendsApplet{publicvoidpaint(Graphicsg){g.
setColor(Color.
red);g.
drawString("我一边喝着咖啡,一边学Java呢",2,30);g.
setColor(Color.
blue);g.
drawString("我学得很认真",10,50);}}一个JavaApplet程序的源文件也是由若干个类组成的,一个JavaApplet程序不再需要main方法,但必须有且只有一个类扩展Applet类,即它是Applet类的子类.
把这个类称做JavaApplet程序的主类,JavaApplet程序的主类必须是public的(以后将会系统学习类和子类).
Applet类是系统提供的类.
当保存上面的源文件时,必须命名为Boy.
java.
假设Boy.
java保存在c:\1000目录下.
上述源程序中使用了import语句,这是因为用户要使用系统提供给用户的Applet类.
图1-9通过Web页运行JavaAppletJava基础教程(第2版)12Applet类在java.
applet包中.
java.
applet包中有很多类,Java语言把一些类放在一起称做一个包,这里java.
applet是一个包的包名,关于包以后还会讲解.
如果不使用import语句,主类声明必须写成publicclassBoyextendsjava.
applet.
Applet.
Graphics是java.
awt包中的一个类.
1.
6.
2编译编译代码如下:c:\1000\>javacBoy.
java编译成功后,C:\1000目录下会生成一个Boy.
class文件.
如果源文件有多个类,将生成多个class文件,它们和源文件在同一文件夹里.
如果用户对源文件进行了修改,那么用户必须重新编译,再生成新的字节码文件.
1.
6.
3运行JavaApplet程序必须由浏览器来运行,因此必须编写一个超文本文件(含有applet标记的Web页),通知浏览器来运行这个JavaApplet程序.
下面是一个最简单的html文件,通知浏览器运行JavaApplet程序.
使用记事本编辑代码如下:超文本中的标记和通知浏览器运行一个JavaApplet程序,code通知浏览器运行哪个JavaApplet程序.
code的"="后面是主类的字节码文件,当然这个字节码文件的扩展名是.
class,而它的名字和源文件的名字是相同的.
width、height规定了这个JavaApplet程序在浏览器中所占的宽度和高度,单位是像素.
要想让浏览器运行一个JavaApplet程序,标记中的code、height、width都是必需的.
另外,还有一些可选的项,如vspace,设置JavaApplet程序与其周围对象的垂直距离;hspace,设置水平距离等.
现在把上面编辑的文件命名为Boy.
html(扩展名必须是html,名字不必是Boy,用户可以起一个自己喜欢的名字).
把Boy.
html保存在C:\1000下,即和Boy.
class在同一目录里.
如果不是这样,必须在文件Boy.
html中增加选项codeBase,来指定JavaApplet程序中类的.
class文件所在的目录,如:现在可以使用浏览器打开文件Boy.
html来运行小程序了,效果如图1-9所示.
①如果浏览器中没有内嵌的Java虚拟机,也可以使用JDK提供的appletviewer来调试小程序,appletviewer使用JDK中的Java虚拟机运行小应用程序,如在MS-DOS命令行中第1章Java语言简介13执行以下代码:c:\1000\appletviewerBoy.
html②g.
drawString("我一边喝着咖啡,一边学Java呢",5,30)的作用是在程序中画字符串,5和30的意思是从距浏览器左边框5个像素,距浏览器上边框30像素的位置开始按照从左到右的方向画字符串"我一边喝着咖啡,一边学Java呢".
1.
7什么是JSPJSP是JavaServerPages的缩写,是由Sun公司于1999年推出的一种动态网页技术标准.
JSP是基于JavaServlet以及整个Java体系的Web开发技术,利用这一技术可以建立安全、跨平台的先进动态网站,这项技术还在不断地更新和优化中.
用户可能对Microsoft的ASP比较熟悉,ASP的全名是ActiveServerPages,也是一个Web服务器端的开发环境,它可以开发出动态的、高性能的Web服务应用程序.
JSP和ASP技术非常相似,ASP的编程语言是VBScript,JSP使用的是Java.
与ASP相比,JSP以Java技术为基础,又在许多方面做了改进,具有动态页面与静态页面分离,能够脱离硬件平台的束缚以及编译后运行等优点,完全克服了ASP的脚本级执行的缺点,JSP已经成为Internet上的主流开发技术.
需要强调的一点是要想真正地掌握JSP技术,必须有较好的Java基础,但学习Java的目的并不只是为了掌握JSP.
可以访问Sun公司的网站http://java.
sun.
com,详细了解JSP.
1.
8小结Java语言面向对象编程,编写的软件与平台无关.
Java语言涉及到网络、多线程等重要的基础知识,特别适合于Internet的应用开发.
很多新的技术领域都涉及到了Java语言,学习和掌握Java已成为共识.
Java源文件是由若干个书写形式互相独立的类组成.
开发一个Java程序需经过三个步骤:编写源文件、编译源文件生成字节码、加载运行字节码.
使用J2SE开发的程序分为Java应用程序和JavaApplet程序两种.
Java应用程序可以在安装了J2SE平台的任何计算机上运行,JavaApplet程序可以由支持Java的浏览器直接运行.
习题11.
Java语言的主要贡献者是谁2.
编写、运行Java程序需要经过哪些主要步骤Java基础教程(第2版)143.
怎样区分应用程序和JavaApplet程序应用程序的主类或JavaApplet程序的主类必须用public修饰吗4.
Java源文件是由什么组成的一个源文件中必须有public类吗5.
JavaApplet程序的主类必须是哪个类的子类6.
如果JDK的安装目录为D:\jdk,应当怎样设置Path和ClassPath的值7.
下列哪个是JDK提供的编译器A.
java.
exeB.
javac.
exeC.
javap.
exeD.
javaw.
exe8.
下列哪个是Java应用程序主类中正确的main方法声明A.
publicvoidmain(Stringargs[])B.
staticvoidmain(Stringargs[])C.
publicstaticvoidmain(Stringargs)D.
publicstaticvoidmain(Stringargs[])第1章Java语言简介15第2章基本类型、数组和枚举类型Java基础教程(第2版)162.
1标识符和关键字2.
1.
1标识符用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符.
简单地说,标识符就是一个名字.
Java语言规定标识符由字母、下划线、美元符号和数字组成,并且第一个字符不能是数字字符.
Hello_java、Hello_12$、$23Boy都是合法的标识符.
标识符中的字母是区分大小写的,hello_java和Hello_java是不同的标识符.
Java语言使用Unicode标准字符集,Unicode字符集由Unicode协会管理并接受其技术上的修改,最多可以识别65536个字符,Unicode字符集的前128个字符刚好是ASCII码表.
Unicode字符集还不能覆盖全部文字,但大部分国家的"字母表"的字母都是Unicode字符集中的一个字符,例如汉字中的"你"字就是Unicode字符集中的第20320个字符.
Java所谓的字母包括了世界上大部分语言中的"字母表",因此,Java所使用的字母不仅包括通常的拉丁字母a、b、c等,也包括汉语中的汉字、日文的片假名和平假名、朝鲜文、俄文、希腊字母以及其他许多语言中的文字.
2.
1.
2关键字关键字是Java语言中已经被赋予特定意义的一些单词.
不可以把这类词作为名字来用.
Java的关键字有abstract、assert、boolean、break、byte、case、catch、char、class、continue、const、default、do、double、else、enum、extends、false、final、finally、float、for、if、implements、import、instanceof、int、interface、long、native、new、null、package、private、protected、public、return、short、static、strictfp、super、switch、synchronized、this、throw、throws、transient、true、try、void、volatile、while.
2.
2Java语言的基本数据类型基本数据类型也称做简单数据类型.
Java语言有8种基本数据类型,分别是boolean、byte、short、int、long、float、double、char.
这8种基本数据类型习惯上可分为以下四大类型.
逻辑类型:boolean.
整数类型:byte、short、int、long.
字符类型:char.
浮点类型:float、double.
2.
2.
1逻辑类型boolean型常量:true、false.
第1章Java语言简介17使用关键字boolean来定义逻辑变量,定义时也可以赋给初值,如:booleanx,ok=true,关闭=false;2.
2.
2整数类型整型数据分为以下四种.
1.
int型int型常量:123,6000(十进制),077(八进制),0x3ABC(十六进制).
使用关键字int来定义int型变量,定义时也可以赋给初值,如:intx=12,平均=9898,jiafei;对于int型变量,内存分配给4个字节(byte),一个字节由8位(bit)组成,4个字节占32位(bit).
bit有两种状态,分别用0、1来表示.
这样,计算机就可以用二进制数来存储信息了.
内存是一种特殊的电子组件,如果把内存条放大到摩天大楼那么大,那么它的基本单位字节,就好比是大楼的房间,每个房间的结构都是完全相同的,一个字节由8个能显示两种状态的bit组成,就好比每个房间里有8个灯泡,每个灯泡有亮灯和灭灯两种状态.
对于intx=7,内存的存储状态为00000000000000000000000000000111,最高位(左边的第一位)是符号位,用来区分正数或负数,正数使用原码表示,最高位是0.
负数用补码表示,最高位是1,例如intx=-8,内存的存储状态为11111111111111111111111111111000.
要得到-8的补码,首先得到7的原码,然后将7的原码中的0变成1、1变成0.
因此,int型变量的取值范围是-231~231-1.
2.
byte型使用关键字byte来定义byte型变量,如:bytex=-12,tom=28,漂亮=98;Java中不存在byte型常量的表示法,但可以把一定范围内的int型常量赋值给byte型变量.
对于byte型变量,内存分配给1个字节,占8位,因此,byte型变量的取值范围是-27~27-1.
如果需要强调一个整数是byte型数据时,可以使用强制转换运算的结果来表示,如:(byte)-12,(byte)28;3.
short型使用关键字short来定义short型变量,如:shortx=12,y=1234;和byte型类似,Java中也不存在short型常量的表示法,但可以把一定范围内的int型常量赋值给short型变量.
对于short型变量,内存分配给两个字节,占16位,因此,short型变量的取值范围是-215~215-1.
如果需要强调一个整数是short型数据时,可以使用强制转Java基础教程(第2版)18换运算的结果来表示,如:(short)-12,(short)28;4.
long型long型常量用后缀L来表示,例如108L(十进制)、07123L(八进制)、0x3ABCL(十六进制).
使用关键字long来定义long型整型变量,如:longwidth=12L,height=2005L,length;对于long型变量,内存分配给8个字节,占64位,因此,long型变量的取值范围是-263~263-1.
2.
2.
3字符类型常量:'A'、'b'9'、'好'、'\t'、'き'、'モ'等.
Java使用unicode字符集,该字符集中的字符都是char型常量.
使用关键字char来定义字符变量,如:charch='A',home='家',handsome='酷';对于char型变量,内存分配给2个字节,占16位,最高位不是符号位,没有负数的char.
char型变量的取值范围是0~65535.
对于下面的语句:charx='a';内存x中存储的是97,97是字符a在unicode表中的排序位置.
因此,允许将上面的语句写成如下形式:charx=97;有些字符(如回车符)不能通过键盘输入到字符串或程序中,这时就需要使用转意字符常量,如\n(换行)、\b(退格)、\t(水平制表)、\'(单引号)、\"(双引号)、\\(反斜线)等.
如:charch1='\n',ch2='\"',ch3='\\';再例如,字符串"我喜欢使用双引号\""中含有双引号字符,但是,如果写成"我喜欢使用双引号"",就是一个非法字符串.
要观察一个字符在unicode表中的顺序位置,可以使用int类型显示转换,如(int)'a'或intp='a'.
如果要得到一个0~65536之间的数所代表的unicode表中相应位置上的字符,必须使用char型显示转换.
在下面的例子1中,分别用显示转换来显示一些字符在unicode表中的位置,以及某些位置上的字符.
第1章Java语言简介19例子1(效果如图2-1所示):publicclassExample2_1{publicstaticvoidmain(Stringargs[]){charch1='ω',ch2='\"';intp1=32831,p2=30452;System.
out.
println("\""+ch1+"\"的位置:"+(int)ch1);System.
out.
println("\""+ch2+"\"的位置:"+(int)ch2);System.
out.
println("第"+p1+"个位置上的字符是:"+(char)p1);System.
out.
println("第"+p2+"个位置上的字符是:"+(char)p2);}}2.
2.
4浮点类型浮点类型分为以下两种.
1.
float型常量:453.
5439f、21379.
987F、231.
0f(小数表示法)、2e40f(2乘10的40次方,指数表示法).
需要特别注意的是,常量后面必须要有后缀"f"或"F".
使用关键字float来定义float型变量,如:floatx=22.
76f,tom=1234.
987f,weight=1e-12F;如果使用小数表示法来表示数据,float变量保留7~8位有效数字,实际精度取决于具体数值.
例如,如果将常量12345.
123456789f赋值给float变量x,那么,x存储的实际值是12345.
123046875(保留8位有效数字).
对于float型变量,内存分配给4个字节,占32位,float型变量的取值范围是10-38~1038和-1038~10-38.
2.
double型常量:2389.
539d、2318908.
987、0.
05(小数表示法)、1e-90(1乘10的-90次方,指数表示法).
对于double常量,后面可以有后缀"d"或"D",但允许省略该后缀.
使用关键字double来定义double型变量,如:doubleheight=23.
345,width=34.
56D,length=1e12;如果使用小数表示法来表示数据,double变量保留15~16位有效数字,实际精度取决于具体数值.
对于double型变量,内存分配给8个字节,占64位,double型变量的取值范围是10-308~10308和-10-308~10308.
图2-1显示unicode表中的字符Java基础教程(第2版)202.
2.
5基本数据类型的转换当把一种基本数据类型变量的值赋给另一种基本数据类型变量时,就涉及到数据转换.
下列基本数据类型会涉及到数据转换,其中,不包括逻辑类型.
将这些数据类型按精度从"低"到"高"排列顺序,排列顺序如下:byteshortcharintlongfloatdouble当把级别低的变量的值赋给级别高的变量时,系统自动完成数据类型的转换.
如:floatx=100;如果输出x的值,则结果是100.
0.
如:intx=50;floaty;y=x;如果输出y的值,则结果是50.
0.
当把级别高的变量的值赋给级别低的变量时,必须使用显示类型转换运算.
显示转换的格式为(类型名)要转换的值,如:intx=(int)34.
89;longy=(long)56.
98F;intz=(int)1999L;如果输出x,则y和z的值是34,56和1999,强制转换运算可能导致精度的损失.
当把一个int型常量赋值给一个byte和short型变量时,不可以超出这些变量的取值范围,否则必须进行类型转换运算.
例如,常量128属于int型常量,超出byte变量的取值范围,如果赋值给byte型变量,则必须进行byte类型转换运算(将导致精度的损失),如:bytea=(byte)128;byteb=(byte)(-129);a和b得到的值分别是-128和127.
另外,一个常见的错误是把一个double型常量赋值给float型变量时,没有进行强制转换运算,如:floatx=12.
4;这样会导致语法错误,编译器将提示"possiblelossofprecision".
正确的写法如下:floatx=12.
4F;floatx=(float)12.
4;下面的例子2使用了基本数据类型的转换.
例子2(效果如图2-2所示):publicclassExample2_2{publicstaticvoidmain(Stringargs[]){intc=12;图2-2基本数据相互转换

bgpto:BGP促销,日本日本服务器6.5折$93/月低至6.5折、$93/月

bgpto怎么样?bgp.to日本机房、新加坡机房的独立服务器在搞特价促销,日本独立服务器低至6.5折优惠,新加坡独立服务器低至7.5折优惠,所有优惠都是循环的,终身不涨价。服务器不限制流量,支持升级带宽,免费支持Linux和Windows server中文版(还包括Windows 10). 特色:自动部署,无需人工干预,用户可以在后台自己重装系统、重启、关机等操作!bgpto主打日本(东京、大阪...

Dataideas:$1.5/月KVM-1GB/10G SSD/无限流量/休斯顿(德州)_主机域名

Dataideas是一家2019年成立的国外VPS主机商,提供基于KVM架构的VPS主机,数据中心在美国得克萨斯州休斯敦,主机分为三个系列:AMD Ryzen系列、Intel Xeon系列、大硬盘系列,同时每个系列又分为共享CPU和独立CPU系列,最低每月1.5美元起。不过需要注意,这家没有主页,你直接访问根域名是空白页的,还好他们的所有套餐支持月付,相对风险较低。下面以Intel Xeon系列共...

VoLLcloud:超便宜香港CMI大带宽vps-三网CMI直连-年付四免服务-低至4刀/月-奈飞

vollcloud LLC创立于2020年,是一家以互联网基础业务服务为主的 技术型企业,运营全球数据中心业务。致力于全球服务器租用、托管及云计算、DDOS安 全防护、数据实时存储、 高防服务器加速、域名、智能高防服务器、网络安全服务解决方案等领域的智 能化、规范化的体验服务。所有购买年付产品免费更换香港原生IP(支持解锁奈飞),商家承诺,支持3天内无条件退款(原路退回)!点击进入:vollclo...

java随机数为你推荐
百度k站被百度k站之后你一般是怎么处理的伪装微信地理位置如何用伪装微信地理位置?滚动代码来回滚动代码如何建立一个网站要建立一个网站怎么弄啊?如何建立自己的网站怎么创建自己的网站二层交换机什么是二层交换机什么是云平台谁能简单说一下什么是云平台啊?网站推广外链如何做网站推广 ,外链推广的方向在哪里?网站排名靠前如何让自己的网站排名靠前av终结者专杀工具AV终结者, 下什么专杀工具什么就立马销声匿迹!!!怎么办??
fc2新域名 日本软银 virpus 外国服务器 godaddy域名转出 新世界电讯 e蜗 789电视 老左正传 共享主机 可外链网盘 可外链相册 cdn加速是什么 789电视剧 免费的asp空间 东莞服务器托管 中国域名 wordpress中文主题 cdn网站加速 主机返佣 更多