java基础知识大全(必看经典)Word文件下载.docx

上传人:wj 文档编号:6941712 上传时间:2023-05-07 格式:DOCX 页数:67 大小:215.86KB
下载 相关 举报
java基础知识大全(必看经典)Word文件下载.docx_第1页
第1页 / 共67页
java基础知识大全(必看经典)Word文件下载.docx_第2页
第2页 / 共67页
java基础知识大全(必看经典)Word文件下载.docx_第3页
第3页 / 共67页
java基础知识大全(必看经典)Word文件下载.docx_第4页
第4页 / 共67页
java基础知识大全(必看经典)Word文件下载.docx_第5页
第5页 / 共67页
java基础知识大全(必看经典)Word文件下载.docx_第6页
第6页 / 共67页
java基础知识大全(必看经典)Word文件下载.docx_第7页
第7页 / 共67页
java基础知识大全(必看经典)Word文件下载.docx_第8页
第8页 / 共67页
java基础知识大全(必看经典)Word文件下载.docx_第9页
第9页 / 共67页
java基础知识大全(必看经典)Word文件下载.docx_第10页
第10页 / 共67页
java基础知识大全(必看经典)Word文件下载.docx_第11页
第11页 / 共67页
java基础知识大全(必看经典)Word文件下载.docx_第12页
第12页 / 共67页
java基础知识大全(必看经典)Word文件下载.docx_第13页
第13页 / 共67页
java基础知识大全(必看经典)Word文件下载.docx_第14页
第14页 / 共67页
java基础知识大全(必看经典)Word文件下载.docx_第15页
第15页 / 共67页
java基础知识大全(必看经典)Word文件下载.docx_第16页
第16页 / 共67页
java基础知识大全(必看经典)Word文件下载.docx_第17页
第17页 / 共67页
java基础知识大全(必看经典)Word文件下载.docx_第18页
第18页 / 共67页
java基础知识大全(必看经典)Word文件下载.docx_第19页
第19页 / 共67页
java基础知识大全(必看经典)Word文件下载.docx_第20页
第20页 / 共67页
亲,该文档总共67页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

java基础知识大全(必看经典)Word文件下载.docx

《java基础知识大全(必看经典)Word文件下载.docx》由会员分享,可在线阅读,更多相关《java基础知识大全(必看经典)Word文件下载.docx(67页珍藏版)》请在冰点文库上搜索。

java基础知识大全(必看经典)Word文件下载.docx

与GUI(图形用户界面)相比,明显小很多

1.1.4健壮

取消了指针算法

C的最关键的一个特性是它的强大指针算法,比如可以用指针访问字符串、数组甚至文件,很容易产生指针溢出,意外地改写内存和损毁数据。

JAVA里有一个指针模型,对于普通的任务,如访问字符串、数组,根本不用指针,而一旦需要,比如访问对象、文件时,也可以获得指针的强大能力,但JAVA同时有高度的指针安全保障,用户永远不可能访问一个坏掉的指针、不可能造成内存分配错误,也用不着专门提防可能出现的内存漏洞。

1.1.5多线程

强大的多线程能力

多线程可以使程序有更好的交互性和实时性,并可以最大限度地利用多处理器系统。

JAVA有着强大的多线程处理能力,因为各主流操作系统平台在线程的实施方面有重大的差异,所以JAVA为不同的操作系统实现了专门的多线程机制。

在这点上来说,JAVA没有做到平台无关。

a

1.2Java简史

首次亮相--1995年5月

Java技术起先是作为小型的计算机语言,用于消费类设备,比如有线电视交换盒等。

因为这些设备的功能和内存均不足以运行大程序,所以程序要尽可能小;

另外,由于不同的厂商可能选用不同的CPU,所以要求这种语言不能受限于任何一种独立的体系结构。

1995年5月23日召开的SunWorld'

95大会上,一种全新的浏览器(今天的HotJava的前身)亮相,标志着Java的诞生。

开始流行--1996年1月

那时网景公司决定在Netscape2.0加入对Java的支持,Netscape2.0在1996年1月发布,从这一版本开始,所有Netscape浏览器均支持Java。

注册了Java使用许可证的还有IBM、Symantec、Inprise和其他许多公司。

就连微软,也加入了这一行列(尽管他们支持的Java和标准的Java稍有不同)。

SUN的第一个JAVA版本--1996年初

Sun公司于1996年初发布了Java1.02,遗憾的是,Java1.02还未摆脱其小型语言的影子,只适合用来做诸如网页上一个随机移动的文字之类的工作,并不适合用来做正规的程序开发。

Java1.02作为一种正规的编程语言,可以说,准备得很不充分。

成熟--1998年

1998年12月,Java1.2问世了。

它是一个功能全面的、具有高度扩展能力的新版本。

3天后,Java1.2被改进成Java2,向"

一次编写,到处运行"

的目标前进了一大步。

现状

现在最新的Java版本是JDK1.4,它是一个测试版,稳定的正式版是JDK1.3。

用户可以到

1.3JDK的安装与编程环境的设定

1.3.1Java程序的开发过程

经典的Java工具包是JDK。

尽管可以用任何文本编辑器,如记事本,都可以直接编写Java程序然后用JDK的命令编译和运行,为了调试方便,也为了初学者容易上手,本教程课件将使用一个叫JPadPro的Java编写工具来调用JDK的工具。

用户可以到下载这个工具。

1.3.2JDK的安装

1.3.3安装运行之后,应该首先设置JDK工具包所在的路径。

菜单栏的JDK-〉selectJDKDirectory-〉选择刚才安装的JDK路径-〉OK。

1.3.4新建一个project

菜单栏的File->

newprojects->

选择路径,输入project的名字。

1.4两个简单的程序示例

1.4.1Java应用程序:

Hello.java

编写

新建一个.java文件。

File-〉new-〉javafile-〉输入一个名字:

Hello-〉点creatfile.出现了一个空的java文件。

编译

JDK-〉compileHello.java或者点击如演示所示的按钮。

实际上是执行JDK工具包里的javac.exe命令,与javacG:

\java2jiaocheng\example\teach1\Hello.java是等价的。

便已完成之后在同一个文件夹就会有一个同名的.class文件。

看编译结果,改错 

错误举例:

少写一个分号;

录入错误;

运行

JDK-〉Runclasses-〉选择要运行的class,输入参数(这里,没有参数)或者点击如演示所示的按钮。

一个有参数的例子

看运行结果

1.4.2JavaApplet:

StarterApplet.java

新建一个JavaApplet文件。

File-〉new-〉javaApplet-〉输入一个名字:

StarterApplet-〉出现了一个空的java文件和一个Html文件。

JDK-〉compileStarterApplet.java或者点击如演示所示的按钮。

\java2jiaocheng\example\teach1\StarterApplet.java是等价的。

注意不要隐藏文件的扩展名,否则给编译时带来麻烦!

可以在工

工具/文件夹先项/查看/中修改!

JDK-〉TestApplet-〉选择要运行的class,输入参数(这里,没有参数)

或者点击如演示所示的按钮

或者直接双击Html文件。

1.5如果获得帮助

1.5.1下载帮助

JDK并不包含帮助文件,需要到网站上下载,里面有示例和说明。

http:

//www.confluent.fr/javadoc/jdk13e.html,下载下来时候,双击安装。

1.5.2使用帮助

敲入想查找的关键字,按回车。

1.6编程的一些约定

注意:

在一个原文件中只能有一个public类!

且文件名与public类同名!

1.6.1命名规则

类名与文件名应该一致,否则编译出错。

比如,classHello的文件名应该是Hello.java

类名首字母大写,每个单词开头大写,其他用小写。

比如:

Hello.java,StarterApplet.java。

变量名用第一个单词用小写字母,第二个以后的单词首字母大写。

intmyAge;

方法的名字第一个单词用小写字母,第二个以后的单词首字母大写,比如:

getMyAge();

1.6.2注释

/*

*Hereisablockcomment.

*/

表示完整的一段注释;

if(condition){

/*Handlethecondition.*/

...

}

表示注释该行以下部分

if(a==2){

returnTRUE;

/*specialcase*/

}else{

returnisPrime(a);

//worksonlyforodda

注释一行

1.6.3分行

如果一行太长需要换行。

someMethod(longExpression1,longExpression2,longExpression3, 

longExpression4,longExpression5);

var=someMethod1(longExpression1,

someMethod2(longExpression2,

longExpression3));

var=someMethod1(longExpression1,someMethod2

(longExpression2,

讲演计划

第三讲语句

Java的语句可以分为以下4种:

表达式语句

方法调用语句

控制语句

3.1表达式语句

一个表达式加上一个分号就构成了一个语句。

分号表示一个语句的结束,缺少分号,编译将出错。

最典型的表达式语句是赋值语句。

intx;

x=23;

3.2方法调用语句

调用一个类的对象的方法:

类名(或对象名).方法名(参数列表)。

System.out.println("

Hello"

).

如果方法有返回值,还可以把返回值赋值给一个变量。

Strings="

intlen;

len=s.length();

3.3控制语句

Java语言的控制语句有2种:

条件语句、循环语句。

条件语句:

条件语句有两种:

if语句和switch语句。

if语句:

if(条件) 

{代码块1}

else 

{代码块2}

如果条件为真,则执行代码块1,否则执行代码块2。

else部分是可选的,也就是说,可以没有else。

如果有else,则与最近的if结合:

switch语句

switch语句是多分支的开关语句,它的一般格式定义如下:

switch(表达式)

{

case常量值1:

break;

case常量值2:

……

default:

{代码块}

语句中表达式的值必须是整型或者字符型;

常量值1到常量值n必须也是整型或者字符型。

switch语句首先计算表达式的值,如果表达式的值和某个case后面的常量值相同,就执行该case里的若干个语句直到break语句为止。

如果没有一个常量与表达式的值相同,则执行default后面的若干个语句。

default是可有可无的,如果它不存在,并且所有的常量值都和表达式的值不相同,那么switch语句就不会进行任何处理。

需要注意的是,在switch同一个语句中,case后的常量值必须互不相同。

循环语句:

循环语句,顾名思义,是反复执行的语句。

比如,计算100的阶乘,1*2*3*...*100,就需要用到循环语句,不然,就要写一百遍乘法。

循环语句需要特别小心,很容易陷入死循环,所以循环体的代码块里需要有能使循环结束的语句。

Java有三种循环语句:

while语句,do-while语句和for语句。

while语句:

while语句的格式是:

while(条件)

当条件成立的时候,执行代码块,再检查条件,如果还成立,再执行代码块,……直到条件不成立。

比如,计算10的阶乘:

do-while语句

do-while语句的格式是:

do{

代码块

}while(条件)

do-while语句和while语句的区别在于:

while语句先检查条件,如果条件不成立,则不进入循环体;

do-while语句先执行循环体的代码,再检查条件,如果条件成立,则在此执行循环体的代码。

所以,do-while语句至少要执行一遍循环体的代码块。

for语句

for语句是Java语言中用得最多的循环语句。

它的格式如下:

for(表达式1,表达式2,表达式3)

其中,表达式1完成变量的初始化,表达式2时布尔类型的表达式,是循环条件,表达式3是党执行了一遍循环之后,修改控制循环的变量值。

for语句的执行过程是这样的:

首先计算表达式1,完成必要的初始化工作;

然后判断表达式2的值,如果表达式的值为true,则执行循环体;

如果为false,则跳出循环。

执行完循环体之后紧接着计算表达式3,以便改变循环条件,这样一轮循环就结束了。

第二轮循环从计算表达式开始,如果表达式的值仍为true,则继续循环;

否则循环结束,执行for语句后面的语句。

嵌套循环

经常可以遇到嵌套循环的例子。

所谓嵌套循环,是指一个循环体里还有一个或者更多个循环。

比如计算10以内的阶乘之和,或者求50以内的素数,就需要用到嵌套循环。

我们以求50以内的素数为例,说明嵌套循环的用法;

求10以内的阶乘之和,将留作作业。

循环语句里的break语句和continue语句:

在循环体中,遇到break语句,那么整个循环语句就结束;

如果遇到continue语句,那么本次循环就结束,就是说,不再执行本次循环中continue语句后面的语句,而是转入下一次循环。

3.5变量的作用域

变量是由作用域的。

所谓变量的作用域,是指一个变量在什么地方生效。

总的来说,变量的作用域是声明它的块。

所谓块,是指用一对花括号包围起来的任意数量的Java语句。

变量只在声明它的块中有效,在这块以外,变量是无效的。

然而,不可以在两个嵌套的块中声明两个完全同名的变量。

注意,在C++中,这是允许的,内部定义会掩盖外部定义。

这很容易造成错误,所以Java不允许这样做。

小结

这一讲,我们主要学习了Java的语句,主要是流程控制语句,包括条件语句和循环语句等。

语句是程序的基本组成部分,是我们进一步学习Java的基础。

希望同学们切实掌握好这部分内容,为我们的进一步学习打下坚实的基础。

习题

1.编一个计算1!

+2!

+…+10!

的应用程序

编写一个应用程序计算100以内的全部质数

2.一个数如果恰好等于它的因子之和,这个数就称为“完数”,编写一个应用程序,求1000之内的所有完数。

3.求45和的最大公约数和最小公倍数。

 

第四讲数组和字符串

4.1什么是数组?

为什么要数组?

除了基本数据类型,Java还提供一种导出类型:

数组。

数组是相同类型的数据按顺序组成的一种复合数据类型,通过数组名和下标,可以使用数组中的数据。

下标从0开始。

数组是所有编程语言中常用的数据结构。

为什么要数组呢?

我们来举一个例子。

假设我们需要表示一个班50个人的数学成绩,要求求出平均成绩。

如果没有数组,我们需要用前面学过的声明变量的方法,声明50个变量,写50次加法运算!

数组可以大大地简化类似的问题!

我们只要声明一个长度为50的整型数组,结合上一讲我们学过的循环语句,就可以很方便地解决这个问题!

在以前的编程语言比如C或者C++中,字符串也使用数组来表示的:

字符串是字符数组!

所以字符串与数组有着天然的联系。

但是在Java中,提供了一种更方便的表示字符串的方法:

用一个String类来表示。

类是面向对象的语言特有的概念,对于初次接触面向对象技术的人来说,比较难理解。

所以,这一讲,我们将学习表示字符串的String类,也对类的使用有一个粗略的了解,作为下一讲详细学习类的准备。

需要指出的是,C语言里的其他两种导出类型:

结构体和共用体,在Java里已经被取消。

下面,我们来学习数组和字符串。

4.2数组的声明、创建和初始化

1.数组的声明:

声明数组,包括声明数组的名字、数组包含的元素的数据类型。

数组可以一维的,也可以是二维或者多维的。

举例来说:

一个班有50个人,我们用一个长度为50的一维数组表示;

如果要表示每个同学的五门高考成绩,那我们就需要用一个第一维长度为50,第二维长度为5的二维数组。

声明一维数组有两种格式:

数组元素类型数组名[];

数组元素类型[]数组名;

比如:

intstudent[];

或者:

int[]student;

类似地,声明二维数组有两种格式:

数组元素类型数组名[][];

数组元素类型[][]数组名;

intscore[][];

int[][]score;

下面,我们主要以一维数组为例,学习数组的用法。

2.数组的创建:

声明数组仅仅给出了数组名字和元素的数据类型,想要真正使用数组还必须为数组分配内存空间,也就是创建数组。

在为数组分配内存空间时必须指明数组的长度。

为数组分配内存空间的格式如下:

数组名=new数组元素的类型[数组的长度]

例如:

student=newint[50];

score=newint[50][4];

事实上,数组的声明和创建可以一起完成,比如:

intstudent[]=newint[50];

一旦数组被创建,数组的大小就不能改变。

如果在程序运行期间,需要对数组的大小进行扩展,通常需要使用另一种数据对象:

Vector。

有关向量和扩展数组,有兴趣的同学可以在Java帮助中查找Vector的帮助。

student数组创建之后,其内存模式如图:

3.数组的初始化:

创建数组后,系统会给每个元素一个默认的值,比如,整型数组的默认值是0。

我们也可以在声明数组的同时给数组一个初始值,我们称之为初始化。

intnum[]={2,4,4,1}。

这个初始化动作相当于:

intnum[]=newint[4];

num[0]=2;

num[1]=5;

num[2]=4;

num[3]=1;

4.3数组的使用

1.数组的访问

前面我们已经看到,数组通过下标访问数组元素,比如:

student[0]=70,student[49]=87等。

注意,下标从0开始,如果数组长度为n,则下标是0~n-1,如果使用n或者以上的元素,将会发生数组溢出异常。

student[50]=79,虽然编译的时候能通过,程序运行时将中止。

二维数组的使用与之类似。

2.数组的复制

可以把一个数组变量复制给另一个,但两个变量引用的都会是同一个内存空间,所以改变一个数组的值,另一个数组变量的值也会改变。

intnum[]={2,3,5,1};

intnumcopy[]=num;

numcopy[2]=5;

现在,num[2]也变成了5。

如果真的想把一个数组的所有值都复制到另一个数组中,就需要采用System.arrarycopy()方法:

System.arrarycopy(num,0,numcopy,0,4)。

这样,num和numcopy将指向不同的内存空间,numcopy的值的改变,不会在影响num。

有兴趣的同学可以参考帮助文件。

4.4字符串

前面已经说过:

Java使用java.lang包中的String类来表示字符串,尽管我们可以用字符数组来实现类似的功能。

关于类的详细知识,我们下一讲将会讲到。

由于类是面向对象编程语言最核心的概念,学习起来有些难度,我们在这里先通过String类对类的概念有一个粗略的了解,以使我们下面的学习更顺利一些。

字符串,顾名思义,就是一串字符。

"

student100"

"

China"

等。

用一对双引号表示字符串。

我们也可以把字符串看成字符数组(事实上,C就是把字符串当作字符数组来处理),但是把它视为类更方便一些。

为什么?

我们下面马上会看到。

字符串的声明、创建

字符串声明的格式是:

String字符串名

St

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 生产经营管理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2