ImageVerifierCode 换一换
格式:DOCX , 页数:33 ,大小:102.07KB ,
资源ID:8859339      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8859339.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(最新java基础知识大全必看经典.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

最新java基础知识大全必看经典.docx

1、最新java基础知识大全必看经典第一讲 Java语言入门1.1 Java的特点1.1.1面向对象: 与C+相比,JAVA是纯的面向对象的语言 C+为了向下兼容C,保留了很多C里面的特性,而C,众所周知是面向过程的语言,这就使C+成为一个混血儿。而JAVA语法中取消了C里为兼容C所保留的特性,如取消了头文件、指针算法、结构、单元等。1.1.2可移植(平台无关性): 生成中间字节码指令 与其他编程语言不同,Java并不生成可执行文件(.exe文件),而是生成一种中间字节码文件(.class文件)。任何操作系统,只要装有Java虚拟机(JVM),就可以解释并执行这个中间字节码文件。这正是Java实现

2、可移植的机制。 原始数据类型存储方法固定,避开移植时的问题 Java的原始数据类型的大小是固定的。比如,在任何机器上,整型都是32位,而C+里整型是依赖于目标机器的,对16位处理器(比如8086),整数用两个字节表示;在像Sun SPARC这样的32位处理器中,整数用4个字节表示。在Intel Pentium处理器上,整数类型由具体的操作系统决定:对于DOS和Win32来说,整数是2个字节;对于Windows 9x 、NT和2000,整数是4个字节。当然,使整数类型平台无关之后,性能必然有所下降,但就Java来说,这个代价是值得的。Java的字符串,则采用标准的Unicode格式保存。可以说,

3、没有这个特性,Java的可移植性也不可能实现。1.1.3简单 JAVA在语法上与C+类似 JAVA的语法与C+很接近,有过C或者C编程经验的程序员很容易就可以学会JAVA语法; 取消了C+的一些复杂而低效的特性比如:用接口技术代替了C+的多重继承。C中,一个类允许有多个超类,这个特性叫做多重继承,多重继承使得编译器非常复杂且效率不高;JAVA的类只允许有一个超类,而用接口(Interface)技术实现与C的多继承相类似的功能 其它被取消的特性包括:虚拟基础类、运算符过载等 JAVA的基本解释器和类支持模块大概仅40K 即使加入基本的标准库和支持线程的模块,也才220K左右。与GUI(图形用户界

4、面)相比,明显小很多1.1.4健壮 取消了指针算法 C的最关键的一个特性是它的强大指针算法,比如可以用指针访问字符串、数组甚至文件,很容易产生指针溢出,意外地改写内存和损毁数据。JAVA里有一个指针模型,对于普通的任务,如访问字符串、数组,根本不用指针,而一旦需要,比如访问对象、文件时,也可以获得指针的强大能力,但JAVA同时有高度的指针安全保障,用户永远不可能访问一个坏掉的指针、不可能造成内存分配错误,也用不着专门提防可能出现的内存漏洞。1.1.5多线程 强大的多线程能力 多线程可以使程序有更好的交互性和实时性,并可以最大限度地利用多处理器系统。JAVA有着强大的多线程处理能力,因为各主流操

5、作系统平台在线程的实施方面有重大的差异,所以JAVA为不同的操作系统实现了专门的多线程机制。在这点上来说,JAVA没有做到平台无关。 a1.2 Java简史 首次亮相-1995年5月 Java技术起先是作为小型的计算机语言,用于消费类设备,比如有线电视交换盒等。因为这些设备的功能和内存均不足以运行大程序,所以程序要尽可能小;另外,由于不同的厂商可能选用不同的CPU,所以要求这种语言不能受限于任何一种独立的体系结构。1995年5月23日召开的SunWorld 95大会上,一种全新的浏览器(今天的HotJava的前身)亮相,标志着Java的诞生。 开始流行-1996年1月 那时网景公司决定在Net

6、scape2.0加入对Java的支持,Netscape2.0在1996年1月发布,从这一版本开始,所有Netscape浏览器均支持Java。注册了Java使用许可证的还有IBM、Symantec、Inprise和其他许多公司。就连微软,也加入了这一行列(尽管他们支持的Java和标准的Java稍有不同)。 SUN的第一个JAVA版本-1996年初 Sun公司于1996年初发布了Java 1.02,遗憾的是,Java1.02还未摆脱其小型语言的影子,只适合用来做诸如网页上一个随机移动的文字之类的工作,并不适合用来做正规的程序开发。Java1.02作为一种正规的编程语言,可以说,准备得很不充分。 成

7、熟-1998年 1998年12月,Java1.2问世了。它是一个功能全面的、具有高度扩展能力的新版本。3天后,Java1.2被改进成Java2,向一次编写,到处运行的目标前进了一大步。 现状 现在最新的Java版本是JDK1.4,它是一个测试版,稳定的正式版是JDK1.3。用户可以到 1.3 JDK的安装与编程环境的设定 1.3.1 Java程序的开发过程 经典的Java工具包是JDK。尽管可以用任何文本编辑器,如记事本,都可以直接编写Java程序然后用JDK的命令编译和运行,为了调试方便,也为了初学者容易上手,本教程课件将使用一个叫JPadPro的Java编写工具来调用JDK的工具。用户可以

8、到下载这个工具。1.3.2 JDK的安装1.3.3安装运行之后,应该首先设置JDK工具包所在的路径。 菜单栏的JDK-select JDK Directory-选择刚才安装的JDK路径-OK。1.3.4 新建一个project 菜单栏的File-new projects-选择路径, 输入project的名字。 1.4两个简单的程序示例 1.4.1 Java 应用程序:Hello.java 编写 新建一个.java文件。File-new-java file-输入一个名字:Hello-点creat file.出现了一个空的java文件。 编译 JDK-compile Hello.java 或者点击

9、如演示所示的按钮。实际上是执行JDK工具包里的javac.exe命令,与javac G:java2jiaochengexampleteach1Hello.java是等价的。便已完成之后在同一个文件夹就会有一个同名的.class文件。 看编译结果,改错 错误举例:少写一个分号;录入错误; 运行 JDK-Run classes-选择要运行的class,输入参数(这里,没有参数)或者点击如演示所示的按钮。 一个有参数的例子 看运行结果 1.4.2 Java Applet: StarterApplet.java 新建一个Java Applet文件。File-new-java Applet-输入一个名字

10、:StarterApplet-出现了一个空的java文件和一个Html文件。 编译 JDK-compile StarterApplet.java 或者点击如演示所示的按钮。实际上是执行JDK工具包里的javac.exe命令,与javac G:java2jiaochengexampleteach1 StarterApplet.java是等价的。 注意 不要隐藏文件的扩展名,否则给编译时带来麻烦!可以在工工具/文件夹先项/查看/中修改! 看编译结果,改错 运行 JDK-Test Applet-选择要运行的class,输入参数(这里,没有参数) 或者点击如演示所示的按钮 或者直接双击Html文件。

11、看运行结果 1.5 如果获得帮助 1.5.1 下载帮助 JDK并不包含帮助文件,需要到网站上下载,里面有示例和说明。 http:/www.confluent.fr/javadoc/jdk13e.html,下载下来时候,双击安装。1.5.2 使用帮助 敲入想查找的关键字,按回车。 1.6 编程的一些约定 注意:在一个原文件中只能有一个public 类!且文件名与public类同名!1.6.1命名规则 类名与文件名应该一致,否则编译出错。比如,class Hello的文件名应该是Hello.java 类名首字母大写,每个单词开头大写,其他用小写。比如:Hello.java, StarterAppl

12、et.java。 变量名用第一个单词用小写字母,第二个以后的单词首字母大写。比如:int myAge; 方法的名字第一个单词用小写字母,第二个以后的单词首字母大写,比如:getMyAge();1.6.2 注释/* Here is a block comment.*/表示完整的一段注释;if (condition) /* Handle the condition. */.表示注释该行以下部分if (a = 2) return TRUE; /* special case */ else return isPrime(a); / works only for odd a注释一行1.6.3 分行 如果

13、一行太长需要换行。比如:someMethod(longExpression1, longExpression2, longExpression3,longExpression4, longExpression5);var = someMethod1(longExpression1,someMethod2(longExpression2,longExpression3);var = someMethod1(longExpression1, someMethod2(longExpression2,longExpression3);讲演计划 第三讲 语句 Java的语句可以分为以下4种: 表达式语句

14、 方法调用语句 控制语句 3.1表达式语句 一个表达式加上一个分号就构成了一个语句。分号表示一个语句的结束,缺少分号,编译将出错。最典型的表达式语句是赋值语句。比如:int x;x=23;3.2方法调用语句 调用一个类的对象的方法:类名(或对象名).方法名(参数列表)。比如:System.out.println(Hello).如果方法有返回值,还可以把返回值赋值给一个变量。比如:String s=Hello,int len;len=s.length();3.3控制语句 Java语言的控制语句有2种:条件语句、循环语句。 条件语句: 条件语句有两种:if语句和switch语句。 if语句: if

15、 (条件)代码块1else代码块2 如果条件为真,则执行代码块1,否则执行代码块2。 else部分是可选的,也就是说,可以没有else。 如果有else,则与最近的if结合: switch语句 switch语句是多分支的开关语句,它的一般格式定义如下:switch(表达式)case 常量值1:代码块1break;case 常量值2:代码块2break;default:代码块 语句中表达式的值必须是整型或者字符型;常量值1到常量值n必须也是整型或者字符型。switch语句首先计算表达式的值,如果表达式的值和某个case后面的常量值相同,就执行该case里的若干个语句直到break语句为止。如果没

16、有一个常量与表达式的值相同,则执行default后面的若干个语句。default是可有可无的,如果它不存在,并且所有的常量值都和表达式的值不相同,那么switch语句就不会进行任何处理。 需要注意的是,在switch同一个语句中,case后的常量值必须互不相同。 3.3控制语句 Java语言的控制语句有2种:条件语句、循环语句。 条件语句: 条件语句有两种:if语句和switch语句。 if语句: if (条件)代码块1else代码块2 如果条件为真,则执行代码块1,否则执行代码块2。 else部分是可选的,也就是说,可以没有else。 如果有else,则与最近的if结合: switch语句

17、switch语句是多分支的开关语句,它的一般格式定义如下:switch(表达式)case 常量值1:代码块1break;case 常量值2:代码块2break;default:代码块 语句中表达式的值必须是整型或者字符型;常量值1到常量值n必须也是整型或者字符型。switch语句首先计算表达式的值,如果表达式的值和某个case后面的常量值相同,就执行该case里的若干个语句直到break语句为止。如果没有一个常量与表达式的值相同,则执行default后面的若干个语句。default是可有可无的,如果它不存在,并且所有的常量值都和表达式的值不相同,那么switch语句就不会进行任何处理。 需要注

18、意的是,在switch同一个语句中,case后的常量值必须互不相同。 循环语句: 循环语句,顾名思义,是反复执行的语句。比如,计算100的阶乘,1*2*3*.*100,就需要用到循环语句,不然,就要写一百遍乘法。循环语句需要特别小心,很容易陷入死循环,所以循环体的代码块里需要有能使循环结束的语句。Java有三种循环语句:while语句,do-while语句和for语句。 while语句: while语句的格式是:while(条件)代码块 当条件成立的时候,执行代码块,再检查条件,如果还成立,再执行代码块,直到条件不成立。 比如,计算10的阶乘: do-while语句 do-while语句的格式

19、是:do代码块while(条件) do-while语句和while语句的区别在于:while语句先检查条件,如果条件不成立,则不进入循环体;do-while语句先执行循环体的代码,再检查条件,如果条件成立,则在此执行循环体的代码。所以,do-while语句至少要执行一遍循环体的代码块。 比如,计算10的阶乘: for语句 for语句是Java语言中用得最多的循环语句。它的格式如下:for(表达式1,表达式2,表达式3)代码块 其中,表达式1完成变量的初始化,表达式2时布尔类型的表达式,是循环条件,表达式3是党执行了一遍循环之后,修改控制循环的变量值。 for语句的执行过程是这样的:首先计算表达

20、式1,完成必要的初始化工作;然后判断表达式2的值,如果表达式的值为true,则执行循环体;如果为false,则跳出循环。执行完循环体之后紧接着计算表达式3,以便改变循环条件,这样一轮循环就结束了。第二轮循环从计算表达式开始,如果表达式的值仍为true,则继续循环;否则循环结束,执行for语句后面的语句。 比如,计算10的阶乘: 嵌套循环 经常可以遇到嵌套循环的例子。所谓嵌套循环,是指一个循环体里还有一个或者更多个循环。比如计算10以内的阶乘之和,或者求50以内的素数,就需要用到嵌套循环。我们以求50以内的素数为例,说明嵌套循环的用法;求10以内的阶乘之和,将留作作业。 循环语句里的break语

21、句和continue语句: 在循环体中,遇到break语句,那么整个循环语句就结束;如果遇到continue语句,那么本次循环就结束,就是说,不再执行本次循环中continue语句后面的语句,而是转入下一次循环。 3.5 变量的作用域 变量是由作用域的。所谓变量的作用域,是指一个变量在什么地方生效。总的来说,变量的作用域是声明它的块。所谓块,是指用一对花括号包围起来的任意数量的Java语句。变量只在声明它的块中有效,在这块以外,变量是无效的。 然而,不可以在两个嵌套的块中声明两个完全同名的变量。 注意,在C+中,这是允许的,内部定义会掩盖外部定义。这很容易造成错误,所以Java不允许这样做。

22、小结 这一讲,我们主要学习了Java的语句,主要是流程控制语句,包括条件语句和循环语句等。语句是程序的基本组成部分,是我们进一步学习Java的基础。希望同学们切实掌握好这部分内容,为我们的进一步学习打下坚实的基础。 习题 1. 编一个计算1!+2!+10!的应用程序 编写一个应用程序计算100以内的全部质数 2. 一个数如果恰好等于它的因子之和,这个数就称为“完数”,编写一个应用程序,求1000之内的所有完数。 3. 求45和的最大公约数和最小公倍数。 第四讲 数组和字符串4.1什么是数组?为什么要数组? 除了基本数据类型,Java还提供一种导出类型:数组。数组是相同类型的数据按顺序组成的一种

23、复合数据类型,通过数组名和下标,可以使用数组中的数据。下标从0开始。数组是所有编程语言中常用的数据结构。 为什么要数组呢?我们来举一个例子。假设我们需要表示一个班50个人的数学成绩,要求求出平均成绩。如果没有数组,我们需要用前面学过的声明变量的方法,声明50个变量,写50次加法运算!数组可以大大地简化类似的问题!我们只要声明一个长度为50的整型数组,结合上一讲我们学过的循环语句,就可以很方便地解决这个问题! 在以前的编程语言比如C或者C+中,字符串也使用数组来表示的:字符串是字符数组!所以字符串与数组有着天然的联系。但是在Java中,提供了一种更方便的表示字符串的方法:用一个String类来表

24、示。类是面向对象的语言特有的概念,对于初次接触面向对象技术的人来说,比较难理解。所以,这一讲,我们将学习表示字符串的String类,也对类的使用有一个粗略的了解,作为下一讲详细学习类的准备。 需要指出的是,C语言里的其他两种导出类型:结构体和共用体,在Java里已经被取消。 下面,我们来学习数组和字符串。 4.2数组的声明、创建和初始化 1. 数组的声明: 声明数组,包括声明数组的名字、数组包含的元素的数据类型。数组可以一维的,也可以是二维或者多维的。举例来说:一个班有50个人,我们用一个长度为50的一维数组表示;如果要表示每个同学的五门高考成绩,那我们就需要用一个第一维长度为50,第二维长度

25、为5的二维数组。 声明一维数组有两种格式: 数组元素类型 数组名 ; 数组元素类型 数组名; 比如:int student ; 或者: int student; 类似地,声明二维数组有两种格式: 数组元素类型 数组名 ; 数组元素类型 数组名; 比如:int score ; 或者: int score; 下面,我们主要以一维数组为例,学习数组的用法。1. 数组的创建: 声明数组仅仅给出了数组名字和元素的数据类型,想要真正使用数组还必须为数组分配内存空间,也就是创建数组。在为数组分配内存空间时必须指明数组的长度。为数组分配内存空间的格式如下: 数组名 = new 数组元素的类型 数组的长度 例如

26、:student = new int 50;score = new int 50 4; 事实上,数组的声明和创建可以一起完成,比如:int student = new int 50; 一旦数组被创建,数组的大小就不能改变。如果在程序运行期间,需要对数组的大小进行扩展,通常需要使用另一种数据对象:Vector。有关向量和扩展数组,有兴趣的同学可以在Java帮助中查找Vector的帮助。 student数组创建之后,其内存模式如图:1. 数组的初始化: 创建数组后,系统会给每个元素一个默认的值,比如,整型数组的默认值是0。 我们也可以在声明数组的同时给数组一个初始值,我们称之为初始化。int nu

27、m = 2, 4, 4, 1。 这个初始化动作相当于:int num = new int 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,虽然编译的时候能通过,程序运行时将中止。 二维数组的使用与之类似。1. 数组的复制 可以把一个数组变量复制给另一个,但两个变量引用的都会是同一个内

28、存空间,所以改变一个数组的值,另一个数组变量的值也会改变。比如:int num = 2, 3, 5, 1;int numcopy =num;numcopy2 =5;现在,num2也变成了5。 如果真的想把一个数组的所有值都复制到另一个数组中,就需要采用System . arrarycopy()方法:System . arrarycopy ( num, 0, numcopy, 0, 4)。这样,num和numcopy将指向不同的内存空间,numcopy的值的改变,不会在影响num。有兴趣的同学可以参考帮助文件。 4.4字符串 前面已经说过:Java使用java.lang包中的String类来表示字符串,尽管我们可以用字符数组来实现类似的功能。关于类的详细知识,我们下一讲将会讲到。由于类是面向对象编程语言最核心的概念,学习起来有些难度,我们在这里先通过String类对类的概念有一个粗略的了解,以使我们下面的学习更顺利一些。 字符串,顾名思义,就是一串字符。比如:student100, China等。用一对双引号表示字符串。我们也可以把字符串看成字符数组(事实上,C就是把字符串当作字符数组来处理),但是把它视为类更方便一些。为什么?我们下面马上会看到。 字符串的声明、创建 字符串声明的格式是: Stri

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1