java基础知识部分(合集5篇)

时间:2019-05-14 20:31:45下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《java基础知识部分》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《java基础知识部分》。

第一篇:java基础知识部分

问题一:List和Set集合有什么区别?

解析:List和Set是Collection接口的两个子接口,也是使用最多的两种集合类型。程序员应该熟悉这两个接口的基本特征,能够更准确地选择正确的集合类型。参考答案:List实现了列表类型的集合,List中的元素是有序(ordered)的,每个元素根据放入集合的顺序而对应一个索引值,可以根据这个索引值返回集合原宿。而Set实现了不重复元素集合,即Set中的元素不能够重复,重复的元素将无法添加到集合中。

问题二:使用java语言如何创建线程对象?

请列出常用的两种方法。解析:Java 语言能够支持多线程编程,将线程封装成Thread类型的对象,只要创建Thread类型的对象,就能够便捷地启动线程、执行线程体。程序员首先必须掌握创建线程的常用方法。参考答案:Java语言中经常使用两种方法创建线程。①创建Thread类的子类,在子类中覆盖Thread类的run方法,实现线程的运行体,只要创建该子类对象就是线程对象。②创建Runable接口的实现类,在实现类中覆盖接口中的run方法,实现线程的运行体。使用Thread(Runable)构造方法可以创建线程对象,参数是Runable接口实现类的实例。

问题三:sleep()和 wait()有什么区别?

sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复。调用sleep不会释放对象锁。在sleep 时间间隔期满后,线程不一定立即恢复执行。这是因为在那个时刻,其它线程可能正在运行而且没有被调度为放弃执行,除非(a)“醒来”的线程具有更高的优先级,(b)正在运行的线程因为其它原因而阻塞。wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,释放当前线程锁定的任何对象。进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。问题四:final类与final方法有什么作用?

解析:final修饰符是一个用途非常广泛的修饰符,可以修饰类,方法,以及属性。参考答案:final类是不能够被继承的类,称为终极类,如String类就是final类,不能有 子类。final修饰方法后,是终极方法,不能被子类覆盖,但是可以被子类继承使用。问题五:String类和StringBuffer类有什么区别?

解析:JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer。典型地,你可以使用StringBuffers来动态构造字符数据。

第二篇:java程序员基础知识

目前,JAVA是开发人员的热宠,很多论坛都有不少热爱JAVA的开发人员,也有不少想成为JAVA程序员,但苦于不知道该如何学习,也不清楚该学些什么知识才能成为一个JAVA程序员。本人在这里抛砖引玉,和大家讨论成为一个JAVA初级程序员应该具有的知识,与大家共享。

个人认为想成为一个合格的JAVA初级程序员应该具备如下知识:

一、面向对象的知识:JAVA是一个面向对象的开发语言,因此熟悉面向对象对学习JAVA很有必要,您要了解:什么是对象,什么是类;什么是封装,什么是多态,什么是继承;什么是抽象类,什么是接口。了解了概念后,您还需要这些概念是如何体现的,如类和对象有什么区别?类是如何封装的?

二、JAVA语法:如果您已经有了开发经验,恭喜您,您学习JAVA语法来将比较容易。如果您有C++等面向对象语言的开发经验,您只需简单的翻看一下介绍JAVA的相关书籍就可以了。如果您是新手,没有关系,您下些工夫,好好研究一本JAVA初级教程之类的书就可以了。

学习了JAVA语法,加上面向对象的知识,只有您用心,您就可以写出来比较好的JAVA代码了。如果您再抽出时间熟悉一下JAVA编程规范,您代码的水平就应该不俗了。

三、JSP和HTML:在我国的绝大多数公司,做JAVA程序员都少不了和JSP以及HTML打交道。因此,想成为JAVA程序员就不可避免的要熟悉JSP和HTML,您最好能知道JSP的几个内置对象,如Session,Request,Reponse,以及常用的JSP标签,如

include,userBean等。尽管一些工具会帮您生成HTML代码,但您还是要熟悉比如title等。如果您再熟悉一下JS和CSS就更好了,那会使您制作的页面更友好。

四、WebServer:熟悉了以上三种,可以肯定的说您已经可以制作出来JSP页面了,您也可以在您的页面里使用自己开发的JAVA类,但您的页面总要跑起来才能看到您要的效果,这就要求您必须熟悉一种WebServer,比如:TOMCAT等。您要熟悉如何发布您的应用,如何利用WebServer的数据库资源等。

五、开发工具:大家都知道,开发工具可以帮助您更好更快地开发,因此熟悉几种开发工具很有必要。目前JAVA的开发工具比较流行的有Eclipse,HTML的开发工具有Dreamweaver等。

六、熟悉一种框架:熟悉一种框架其实是成为JAVA程序员的一种可选知识,但目前开发B/S结构的应用的开发小组,都差不多会采用一种框架来构建自己的应用系统。框架都会有许多可重用的代码,良好的层次关系和业务控制逻辑,基于框架的开发使你可以省出很多的开发成本。目前比较流行的框架有Struts和Spring等。

如何成为一名合格的java程序员?(转)

程序学习2008-05-27 19:56阅读35评论01、语法:必须比较熟悉,在写代码的时候IDE的编辑器对某一行报错应该能够根据

报错信息知道是什么样的语法错误并且知道任何修正。

2、命令:必须熟悉JDK带的一些常用命令及其常用选项,命令至少需要熟悉:appletviewer、HtmlConverter、jar、java、javac、javadoc、javap、javaw、native2ascii、serialver,如果这些命令你没有全部使用过,那么你对java实际上还很不了解。

3、工具:必须至少熟练使用一种IDE的开发工具,例如Eclipse、Netbeans、JBuilder、Jdeveloper、IDEA、JCreator或者Workshop,包括进行工程管理、常用选项的设置、插件的安装配置以及进行调试。

4、API:Java的核心API是非常庞大的,但是有一些内容笔者认为是必须熟悉的,否则不可能熟练的运用Java,包括:

1)、java.lang包下的80%以上的类的功能的灵活运用。

2)、java.util包下的80%以上的类的灵活运用,特别是集合类体系、规则表达式、zip、以及时间、随机数、属性、资源和Timer。

3)、java.io包下的60%以上的类的使用,理解IO体系的基于管道模型的设计思路以及常用IO类的特性和使用场合。

4)、java.math包下的100%的内容。

5)、java.net包下的60%以上的内容,对各个类的功能比较熟悉。

6)、java.text包下的60%以上的内容,特别是各种格式化类。

7)、熟练运用JDBC。

8)、java.security包下40%以上的内容,如果对于安全没有接触的话根本就不可能掌握java。

9)、AWT的基本内容,包括各种组件事件、监听器、布局管理器、常用组件、打印。

10)、Swing的基本内容,和AWT的要求类似。

11)、XML处理,熟悉SAX、DOM以及JDOM的优缺点并且能够使用其中的一种完成XML的解析及内容处理。

5、测试:必须熟悉使用junit编写测试用例完成代码的自动测试。

6、管理:必须熟悉使用ant完成工程管理的常用任务,例如工程编译、生成javadoc、生成jar、版本控制、自动测试。

7、排错:应该可以根据异常信息比较快速的定位问题的原因和大致位置。

8、思想:必须掌握OOP的主要要求,这样使用Java开发的系统才能是真正的Java系统。

9、规范:编写的代码必须符合流行的编码规范,例如类名首字母大写,成员和方法名首字母小写,方法名的第一个单词一般是动词,包名全部小写等,这样程序的可读性才比较好。

第三篇:Java基础知识总结

Java总结

标识符

 Java对各种变量、方法和类等要素命名时使用的字符数列称为标识符。

 凡是自己可以起名字的地方都叫标识符,都遵循标识符的规则

 Java标识符命名规则:

 标识符由字母、下划线“__”、美元”$”或数字组成 标识符应以字母、下划线、美元符开头

 Java标识符大小写敏感,长度无限制

 约定俗成:Java标识符选取因“见名知意”且不能与Java语言的关键字重名

关键字

 Java中一些赋以特定的含义,用做专门用途的字符串称为关键字(keyword)。

 大多数编译器会将关键字用特殊的方式标出

 所有Java关键字都是小写英文。

 goto 和const虽然从未使用,但也作为被Java关键字保留。

Java常量

 Java的常量值用字符串表示,区分为不同的数据类型。

 如整型常量123

 实型常量3.12

 字符常量„a‟

 逻辑常量true,false

 字符串常量“helloword”

 注意:区分字符串常量和字符常量

 注意:“常量”这个名词还会用在另外其他语境中表示值不可变的变量

 参见final关键字

Java变量

 Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。

 Java程序中每一个变量都属于特定的数据类型,在使用前必须对其声明,声明格式:

 type varName[=value] [{,varName [=value]}]

 例如:

 int I = 100;

 float f = 12.3f;

 double d1,d2,d3 = 0.123;

 String s = “Hello”;

 从本质上讲,变量其实是内存中的一小块区域,使用变量名来访问这块区域,因此,每一个变量使用前必须要先申请(声明),然后必须进行赋值(填充内容),才能使用

Java变量的分类

 按被声明的位置划分:

 局部变量:方法或语句块内部定义的变量

 成员变量:方法外部、类的内部定义的变量

 注意:类外部(与类对应的大括号外面)不能有变量的声明

 按所属的数据类型划分:

 基本数据类型变量

 引用数据类型变量

Java局部变量与成员变量

 方法体内部声明的变量(包括形参)称为局部变量:

 方法体内部是指与方法对应的大括号内部

 在方法体外,类体内声明的变量成为成员变量

 public void method(){

 int i;

 int j = i+5;//编译出错,变量i还未被初始化

 double d = 3.14;

 Dog dog;

 Dog = new Dog(22,1964);

 }

 注:以上程序面前还不能编译

Java基本数据类型

 Java中定义了4类8种基本数据类型

 逻辑型—boolean

 文本型---char

 整数型---byte,short,int,long

 浮点数型---float,double

逻辑型boolean

 boolean类型适于逻辑运算,一般用于程序流程控制。

 boolean类型数据只容许取值true或false,不可以0或非0的整数替代true和false,这点和C语言不同。字符型char

 Char型数据用来表示通常意义上“字符”

 字符常量用单引号括起来的单个字符,例如:

 Char eChar = „a‟;char cChar = „中‟

 Java字符采用Unicode编码,每个字符占两个字节,因而可用十六进制编码形式表示,例如:

 Char c1 = „u0061‟;

 注:Unicode是全球语言统一编码

 Java语言中还允许使用转义字符„‟来将其后转变为其他含义,例如:

 Char c1 = „n‟;//‟n‟代表换行

 补充:2进制,10进制,16机制之间的转换

 1101---1*1 + 0*2 + 1*4 + 1*8

 13---1 + 4 + 8---1101

 1101---D

整数类型

 Java各整数类型有固定的表示范围和字段长度,其不受具体操作系统的影响,以保证Java程序的可移

植性。

 Java语言整型常量的三种表示形式:

 10进制整数:12-3140。

 8进制,要求以0开头,如:012。

 16进制,要求0x或0X开头,如:0x12

 Java语言的整型常量默认为int类型,声明long型常量可以后加‟l‟或‟L‟,如:

 int i1 = 600;long l1 = ***L;//必须加L否则出错

浮点类型

 与整数类型类似,Java浮点类型有固定的表示范围和字段长度,不受平台影响。

 Java浮点类型常量有两种表示形式:

 10进制形式,例如:3.14312.0

 科学记数形式:3.14e23.14E2

 Java浮点数默认为double类型,如要声明一个常量为float类型,则需要在数字后面加f或F

 double d = 12323.6;float f = 12.3f;必须加f否则出错

基本数据类型转换

 Boolean类型不可以转换为其他的数据类型

 整型,字符型、浮点型的数据在混合运算中相互转换,转换时遵循以下原则:

 容量小的类型自动转换为容量大的数据类型:数据类型按容量大小排序为:

 Byte,short,char->int->long->float-> double

 Byte,short,char之间不会相互转换,他们三者在计算时首先转换为int类型

 容量大的数据类型转换为为容量小的数据类型时,要加上强制转换符,但可能造成精度降低或

溢出:使用时格外注意。

 有多种类型的数据混合也算时,系统首先自动的将所有数据类型转换为容量最大的,然后在进

行计算

 实数常量(如:1.2)默认为double

 整数常量(如:12)默认为int

运算符

 Java语言支持如下运算符:

 算术运算符:+、-、*、/、%、++、--关系运算符:>、<、>=、<=、==、!= 逻辑运算符:!、&、|、^、&&、|| 位运算符:&、|、^、~、>>、<<、>>>

 赋值运算符:=

 扩展赋值运算符:+=、-=、*=、/=

 字符串连接运算符:+

逻辑运算符

逻辑运算:!--逻辑非&--逻辑与 |--逻辑或 ^--逻辑异或 &&--短路与 ||--短路或

赋值运算符与扩展赋值运算符

 赋值运算符(=)

 当”=”两侧数据类型不一致时,可以适用默认类型转换或使用强制类型转换原则进行处理

 long m = 100;int n =(int)m

 注意:可以将整型常量直接赋值给byte,short,char等类型变量,而不需要进行强制类型转换,只

要不超出其表示范围:

 byte b = 12;char c = 100;

 byte bb = 256;short s =-32769

字符串连接符

 “+”除用于算术加法运算外,还可以对字符串进行连接操作

 int id = 800 + 90

 String s = “Hello” + “World”;

 “+”运算符两侧的操作数中只要有一个字符串类型,系统自动将另一个操作数转换为字符串然后再进行

连接。

 int c = 12;

 System.out.println(“c=”+c);

 当进行打印时,无论任何类型,都自动转为字符串进行打印

 System.out.println(c);

三目条件运算符

 三目运算符,语法格式:

 X ? y : z

 其中x为boolean类型表达式,先计算x的值,若为true,则整个三目运算的结果为表达

式y的值,否则整个运算结果为表达式z的值。

语句

 条件语句—根据不同条件,执行不同语句

 if

 if…else

 if…else if

 if…else if…else if…else

 switch

 循环语句—重复执行某些动作

 for

 while

 do…while

if语句

 if if…else… if…else if… if…else if…else if…

 if…else if…else if…else

 只有一句需要执行的语句时,可以省略{}

for循环语句

 for语句为如下形式:

 for(表达式1;表达式2;表达式3){ 语句;……}

 执行过程

达式3,再判断表达式2的值;依此重复下去,直到表达式2的值=false

 for语句中三个表达式都可以省略

while & do while语句

 while语句为如下形式:

 while(逻辑表达式){语句……}

 执行过程:先判断逻辑表达式的值。若=true则执行其后面的语句,然后再次判断条件

并反复执行,直到条件不成立。

 do while语句为如下形式:

 do{语句…} while(逻辑表达式); 首先计算表达式1,接着执行表达式2,若表达式2的值=true,则执行语句,接着计算表

 执行过程:先执行语句,再判断逻辑表达式的值,若为true,再执行语句,否则结束循

环。

break & continue语句

 break在循环体中用于强制退出循环,不再执行循环中剩余的部分

 continue在循环体内,用于终止当前的循环,返回到循环的开始处,接着开始新的一次循环。switch语句(条件语句补充)

 switch(){

case xx:

….case xx:

….default:

…. }

小心case穿透,推荐使用break语句

多个case可以合并到一起

default可以省略,但不推荐省略

在switch语句里的选择值只能是字符或是常量。

方法

 Java的方法类似于其他语言的函数,是一段用来完成特定功能的代码片段,声明格式:

 [修饰符1,修饰符2…]返回值类型 方法名(形式参数列表){}

 形式参数:在方法调用时用于接收外界输入的数据

 实参:调用方法时实际传给方法的数据

 返回值:方法在执行完毕后返回给调用它的环境的数据。返回值类型:事先约定的返回值的数据类型,如无返回值,必须给出返回值类型void Java语言中使用下述形式调用方法:对象名.方法名(实参列表)实参的数目、数据类型和次序必须和所调用方法声明的形参列表匹配

 Return语句终止方法的运行指定要返回的数据

 Java中进行函数调用中传递参数时,遵循传递的原则:

 基本类型传递的是该数据本身。引用类型传递的是对对象的引用,而不是对象本身

递归调用

 递归调用指在方法执行过程中出现该方法本身的调用:

总结

 标识符

 不用记规则,动手

 关键字

 局部变量vs成员变量

 变量作用域

 内存布局

 基础类型变量

 4类8种,相互转换

 分支、循环

 方法

 形参、实参、返回值、返回值类型

 递归调用

第四篇:JAVA基础知识精华总结

1、对象的初始化

(1)非静态对象的初始化

在创建对象时,对象所在类的所有数据成员会首先进行初始化。

基本类型:int 型,初始化为0.如果为对象:这些对象会按顺序初始化。

※在所有类成员初始化完成之后,才调用本类的构造方法创建对象。

构造方法的作用就是初始化。

(2)静态对象的初始化

程序中主类的静态变量会在main方法执行前初始化。

不仅第一次创建对象时,类中的所有静态变量都初始化,并且第一次访问某 类(注意此时未创建此类对象)的静态对象时,所有的静态变量也要按它们在类 中的顺序初始化。

2、继承时,对象的初始化过程

(1)主类的超类由高到低按顺序初始化静态成员,无论静态成员是否为private.(2)主类静态成员的初始化。

(3)主类的超类由高到低进行默认构造方法的调用。注意,在调用每一个 超类的默认构造方法前,先进行对此超类进行非静态对象的初始化。

(4)主类非静态成员的初始化。

(5)调用主类的构造方法。3、关于构造方法

(1)类可以没有构造方法,但如果有多个构造方法,就应该要有默认的构 造方法,否则在继承此类时,需要在子类中显式调用父类的某一个非默认的构造 方法了。

(2)在一个构造方法中,只能调用一次其他的构造方法,并且调用构造方 法的语句必须是第一条语句。

4、有关public、private 和protected(1)无public修饰的类,可以被其他类访问的条件是:a.两个类在同一文 件中,b.两个类在同一文件夹中,c.两个类在同一软件包中。

(2)protected :继承类和同一软件包的类可访问。

(3)如果构造方法为private,那么在其他类中不能创建该类的对象。

5、抽象类

(1)抽象类不能创建对象。

(2)如果一个类中一个方法为抽象方法,则这个类必须为abstract抽象类。

(3)继承抽象类的类在类中必须实现抽象类中的抽象方法。

(4)抽象类中可以有抽象方法,也可有非抽象方法。抽象方法不能为private.(5)间接继承抽象类的类可以不给出抽象方法的定义。6、final 关键字

(1)一个对象是常量,不代表不能转变对象的成员,仍可以其成员进行操 作。

(2)常量在使用前必须赋值,但除了在声明的同时初始化外,就只能在构 造方法中初始化。

(3)final 修饰的方法不能被重置(在子类中不能出现同名方法)。

(4)如果声明一个类为final,则所有的方法均为final,无论其是否被 final 修饰,但数据成员可为final 也可不是。7、接口interface(用implements来实现接口)

(1)接口中的所有数据均为static和final 即静态常量。尽管可以不用这 两个关键字修饰,但必须给常量赋初值。

(2)接口中的方法均为public,在实现接口类中,实现方法必须可public 关键字。

(3)如果使用public来修饰接口,则接口必须与文件名相同。8、多重继承

(1)一个类继承了一个类和接口,那么必须将类写在前面,接口写在后面,接口之间用逗号分隔。

(2)接口之间可多重继承,注意使用关键字extends.(3)一个类虽只实现了一个接口,但不仅要实现这个接口的所有方法,还 要实现这个接口继承的接口的方法,接口中的所有方法均须在类中实现。9、接口的嵌入

(1)接口嵌入类中,可以使用private 修饰。此时,接口只能在所在的类 中实现,其他类不能访问。

(2)嵌入接口中的接口一定要为public.10、类的嵌入

(1)类可以嵌入另一个类中,但不能嵌入接口中。

(2)在静态方法或其他方法中,不能直接创建内部类对象,需通过手段来 取得。

手段有两种:

class A { class B {} B getB(){ B b = new B(); return b ; } } static void m(){ A a = new A(); A.B ab = a.getB(); // 或者 是 A.B ab = a.new B(); }(3)一个类继承了另一个类的内部类,因为超类是内部类,而内部类的构 造方法不能自动被调用,这样就需要在子类的构造方法中明确的调用超类的构造 方法。接上例:

class C extends A.B { C(){ new A()。super(); // 这一句就 实现了对内部类构造方法的调用。} } 构造方法也可这样写:

C(A a){ a.super(); } // 使用这个构造方法创建对象,要写成C c = new C(a); a是A 的对象。

11、异常类

JAVA中除了RunTimeException类,其他异常均须捕获或抛出。

第五篇:java部分数据结构总结

package datastructtest;

import java.io.File;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

import java.util.LinkedList;

import java.util.Scanner;

import javax.swing.JFrame;

public class Testbase {

public static void main(String[] args)throws IOException{

//100之内被3或7整除的数的个数

//int m=0,n=0;

//for(int i=0;i<100;i++){

//if(i%3==0){

//m++;

//}

//if(i%7==0){

//n++;

//}

//}

//System.out.println(“m=”+m+“ ;”);

//System.out.println(“n=”+n+“ ;”);

//1~100之间的整数累加和,并显示每个整数和当前累加和的对应关系 //int sum=0;

//for(int i=1;i<=100;i++){

//

//System.out.print(“i=”+i+“,sum=”+sum);

//sum+=i;

//System.out.println(“;i+sum=”+sum);

//}

//计算30的阶乘

//int m=jiecheng(30);

//System.out.println(m);

//直接插入排序

//int[] test={64,5,7,89,6,24};

//int n=test.length;

//insertSort(test);

//for(int i=0;i

//System.out.print(test[i]+“,”);

//}

//希尔排序

//int[] test={65,34,25,87,12,38,56,46,14,77,92,33};//int n=test.length;

//int d[]={6,3,1};//每次循环用到的增量值

//int numOfD=d.length;//共进行几次循环

//shellSort(test,d,numOfD);

//for(int i=0;i

//System.out.print(test[i]+“,”);

// }

//直接选择排序

//int[] test={65,34,25,87,12,38,56,46,14,77,92,33};

//int n=test.length;

//

//selectSort(test);

//for(int i=0;i

//System.out.print(test[i]+“,”);

// }

////字符串逆转

//char[]a={'a','f','g','h','j'};

//char[]b=reverse1(a);

//for(int i=0;i

//System.out.print(b[i]+“,”);

//}

//Scanner类的应用和split的使用

//System.out.println(“请输入带逗号的字符:”);

//Scanner sc=new Scanner(System.in);

//

//while(sc.hasNext()){

//StringBuffer str=new StringBuffer();

//str=str.append(sc.next());

////System.out.println(str);

//String st=str.toString();

//String[] a=st.split(“,”);

//System.out.println(“字符串被逗号分割之后:”);

//for(int i=0;i

//System.out.println(a[i]);

//}

//}

//写文件和读文件复制文件aa到bb

//FileReader filein=new FileReader(new File(“d://aa.txt”));//此句会产生异常

//FileWriter fileout=new FileWriter(new File(“d://bb.txt”));//int c;

//while((c=filein.read())!=-1){

//fileout.write(c);

//}

//filein.close();

//fileout.close();

//

}

private static int jiecheng(int n){

if(n==1)

return 1;

else

return n*jiecheng(n-1);

}

//栈

private LinkedList list=new LinkedList();

public void push(Object v){

list.addFirst(v);

}

public Object top(){

return list.getFirst();

}

public Object pop(){

return list.removeFirst();

}

//直接插入排序

public static void insertSort(int[] a){

int i,j,temp;

int n=a.length;

for(i=0;i

temp=a[i+1];

j=i;

while(j>-1&&temp<=a[j]){

a[j+1]=a[j];

j--;

}

a[j+1]=temp;

}

//for(i=0;i

//temp=a[i+1];

//// j=i;

//while(i>-1&&temp<=a[i]){

//a[i+1]=a[i];

//i--;

//}

//a[i+1]=temp;

//}

}

//希尔排序

public static void shellSort(int[]a,int[]d,int numOfD){

int i,j,k,m,span;

int temp;

int n=a.length;

for(m=0;m

span=d[m];//取本次的增量值

for(k=0;k

for(i=k;i

temp=a[i+span];

j=i;

while(j>-1&&temp<=a[j]){

a[j+span]=a[j];

j=j-span;

}

a[j+span]=temp;

}

}

}

}

//直接选择排序

public static void selectSort(int[]a){

int i,j,small;

int temp;

int n=a.length;

for(i=0;i

small=i;//设第i个数据元素最小

for(j=i+1;j

if(a[j]

if(small!=i){

temp=a[small];

for(j=small;j>i;j--)//把该区段尚未排序元素依次后移

a[j]=a[j-1];

a[i]=temp;//插入找出的最小元素

}

}

}

public static char[] reverse1(char[]a){

int n=a.length;

char[]b=new char[n];

for(int i=0;i

b[n-i-1]=a[i];

}

return b;

}

}

下载java基础知识部分(合集5篇)word格式文档
下载java基础知识部分(合集5篇).doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    java面试题(基础部分)

    21 Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型? 方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之......

    java学习笔记(部分)

    作业:a.登陆验证,SSJ 通过MySQL进行数据校验,如果成功转向到main.jsp 失败则返回。 b.登陆用户信息存放session Maven 搭建环境的步骤: 1).新建Maven Project 错误解决 :是......

    造价员基础知识部分

    第1题 量价合一、量价分离中的“价”指的是( )。 A. 人工费、材料费 B. 人工费、机械费 C. 企业管理费、利润 D. 材料费、利润 【正确答案】:C试题解析: 第2题 ( )是指项目......

    专业基础知识部分

    专业基础知识部分 一、判断题(判断对错,对的在题后括号内打“√”,错的打“×”。本大题共10 小题,每小题1 分,共10 分) 1.跑一般分为起跑、途中跑、终点冲刺三部分。() 2.跳高......

    java基础知识面试题(范文大全)

    java 和javasciprt 的区别。【基础】JSP 和Servlet 有哪些相同点和不同点,他们之间的联系是什么?【基础】jsp 的四种范围?【基础】一个“.java”源文件中是否可以包含多个类(不......

    java程序员部分面试题答案

    一、你对MVC的理解,MVC有什么优缺点?结合Struts,说明在一个Web应用如何去使用? 答: MVC设计模式(应用观察者模式的框架模式) M: Model(Business process layer),模型,操作数据的业务......

    专业基础知识部分.doc

    专业基础知识部分 一、判断题(判断对错,对的在题后括号内打“√”,错的打“×”。本大题共10小题,每小题1分,共10分) 1.跑一般分为起跑、途中跑、终点冲刺三部分。() 2.跳高......

    化验员培训----基础知识部分

    化验员培训----基础知识部分 比色皿的正确选择与使用 紫外和可见吸光度分析法的分析仪器品种很多,其用途都是测定溶液的吸光度或投射比。仪器主要由光源、单色器、比色皿、信......