KRJAVA001Java使用指南Ver01.docx

上传人:b****8 文档编号:10478675 上传时间:2023-02-13 格式:DOCX 页数:110 大小:200.27KB
下载 相关 举报
KRJAVA001Java使用指南Ver01.docx_第1页
第1页 / 共110页
KRJAVA001Java使用指南Ver01.docx_第2页
第2页 / 共110页
KRJAVA001Java使用指南Ver01.docx_第3页
第3页 / 共110页
KRJAVA001Java使用指南Ver01.docx_第4页
第4页 / 共110页
KRJAVA001Java使用指南Ver01.docx_第5页
第5页 / 共110页
点击查看更多>>
下载资源
资源描述

KRJAVA001Java使用指南Ver01.docx

《KRJAVA001Java使用指南Ver01.docx》由会员分享,可在线阅读,更多相关《KRJAVA001Java使用指南Ver01.docx(110页珍藏版)》请在冰豆网上搜索。

KRJAVA001Java使用指南Ver01.docx

KRJAVA001Java使用指南Ver01

JAVA使用指南

Ver0.1

历史记录

JAVA使用指南1

Ver0.11

1学习Java语言5

1.1Java语言基础5

1.1.1变量(Variables)5

1.1.2运算符5

1.1.3流程控制语句5

1.2对象基础和简单数据对象5

1.2.1对象的生命周期5

1.2.2Characters和Strings5

1.2.3字符串转换为其他类型5

1.2.4数值5

1.2.5数组5

1.3类与继承5

1.3.1类的建立(Declaration)5

1.3.2管理继承5

1.3.3实现嵌套类5

1.4接口与包5

1.4.1建立接口5

1.4.2建立和使用包5

2Java基本类5

2.1使用异常处理5

2.1.1什么是异常5

2.1.2处理异常5

2.1.3指定方法抛出的异常5

2.1.4怎样抛出异常5

2.2线程5

2.2.1使用Timer和TimerTask类5

2.2.2自定义线程的run方法5

2.2.3线程的生命周期5

2.2.4理解线程优先级5

2.2.5同步线程5

2.2.6分组线程5

2.3I/O5

2.3.1I/O流概述5

2.3.2使用流5

2.3.3对象序列化5

2.3.4随机访问文件5

2.3.5其他5

2.4设置程序属性5

2.4.1使用Properties管理程序属性5

2.4.2命令行参数5

2.5访问系统资源5

3集合5

3.1接口5

3.1.1Collection接口5

3.1.2Set接口5

3.1.3List接口5

3.1.4Map接口5

3.1.5对象排序5

3.1.6SortedSet接口5

3.1.7SortedMap接口5

3.2实现5

3.2.1通用实现5

3.2.2封装实现5

3.2.3方便的实施5

3.3算法5

3.3.1排序5

3.3.2打乱5

3.3.3常规数据操作5

3.3.4查找5

3.3.5查找特殊值5

3.4自定义实现5

3.5协同工作5

3.5.1兼容性5

3.5.2API设计5

3.6解决通用集合问题5

4JDBC数据库访问5

4.1JDBC基础5

4.1.1建立一个连接5

4.1.2建表5

4.1.3查询数据5

4.1.4更新表5

4.1.5使用预定义语句5

4.1.6使用Joins5

4.1.7使用事务5

4.1.8存储过程5

4.1.9建立完整的JDBC应用程序5

4.2JDBC2.0的新特性5

5定制网络5

5.1网络基础5

5.2使用URL5

5.2.1建立一个URL5

5.2.2解析URL5

5.2.3从URL直接读取5

5.2.4连接到URL5

5.2.5从URLConnection中读取和写入5

5.3关于Sockets5

5.3.1读写Socket5

5.3.2服务器端Socket5

5.4关于数据包5

5.4.1什么是数据包5

5.4.2编写Datagram客户端和服务器5

5.4.3广播方式5

6字符集转换5

6.1使用Charset进行转换5

6.2当前系统所有支持字符集5

6.3Servlet字符集转换5

6.4一般的字符集转换5

7JavaBeans5

7.1JavaBeans概念和Beans开发工具5

7.1.1JavaBeans概念5

7.1.2Beans开发工具包5

7.2使用BeanBox5

7.3写一个简单的Bean5

1学习Java语言

1.1Java语言基础

1.1.1变量(Variables)

1.1.1.1数据类型

Java有两类数据类型:

简单类型和引用类型。

简单类型的变量就是类似数值、字符、布尔值等。

1.1.1.1.1简单数据类型(PrimitiveDataTypes)

关键字

说明

大小/格式

(整数)

byte

Byte-lengthinteger

8-bittwo'scomplement

short

Shortinteger

16-bittwo'scomplement

int

Integer

32-bittwo'scomplement

long

Longinteger

64-bittwo'scomplement

(实数)

float

Single-precisionfloatingpoint

32-bitIEEE754

double

Double-precisionfloatingpoint

64-bitIEEE754

(其他)

char

Asinglecharacter

16-bitUnicodecharacter

boolean

Abooleanvalue(trueorfalse)

trueorfalse

通常可以在数值后面加上l或者L来声明一个long类型,用f或者F生命float类型,d或者D生命double类型。

1.1.1.1.2引用类型

数组、类和接口是引用类型。

这些引用类型变量的值包含一个指向实际内容的地址指针。

1.1.1.2变量名

习惯上来说,变量名称用小写字母开头,类名称使用大写字母开头。

如果变量名包含多个单词,从第二个单词开始用大写字母开头。

比如:

isVisiable。

下划线(_)也是可以在名称中使用的字符,但是通常只是在常量的单词之间作为间隔。

1.必须是合法标识符,无限制长度的字母开头的Unicode字符序列。

2.必须不是关键字

3.必须在作用域范围内唯一

1.1.1.3作用域(Scope)

作用域的定义和C语言中的相同。

bytelargestByte=Byte.MAX_VALUE;

shortlargeShort=Short.MAX_VALUE;

1.1.1.4变量初始化

可以直接初始化变量,有一些常量可以使用。

1.1.1.5Final变量

可以在任何未知定义final变量,final变量在初始化之后不能被改变,其实就是其他语言中的常量。

finalintaFinalVar=0;

1.1.2运算符

1.1.2.1数值操作

Operator

Use

Description

+

op1+op2

Addsop1andop2

-

op1-op2

Subtractsop2fromop1

*

op1*op2

Multipliesop1byop2

/

op1/op2

Dividesop1byop2

%

op1%op2

Computestheremainderofdividingop1byop2

另外,++和――操作和C++中相同。

1.1.2.2关系运算和条件运算

Operator

Use

Returnstrueif

&&

op1&&op2

op1andop2arebothtrue,conditionallyevaluatesop2

||

op1||op2

eitherop1orop2istrue,conditionallyevaluatesop2

!

!

op

opisfalse

&

op1&op2

op1andop2arebothtrue,alwaysevaluatesop1andop2

|

op1|op2

eitherop1orop2istrue,alwaysevaluatesop1andop2

^

op1^op2

ifop1andop2aredifferent--thatisifoneortheotheroftheoperandsistruebutnotboth

1.1.2.3位移运算

Operator

Use

Operation

>>

op1>>op2

shiftbitsofop1rightbydistanceop2

<<

op1<

shiftbitsofop1leftbydistanceop2

>>>

op1>>>op2

shiftbitsofop1rightbydistanceop2(unsigned)

Operator

Use

Operation

&

op1&op2

bitwiseand

|

op1|op2

bitwiseor

^

op1^op2

bitwisexor

~

~op2

bitwisecomplement

1.1.2.4分配运算符

Operator

Use

Equivalentto

+=

op1+=op2

op1=op1+op2

-=

op1-=op2

op1=op1-op2

*=

op1*=op2

op1=op1*op2

/=

op1/=op2

op1=op1/op2

%=

op1%=op2

op1=op1%op2

&=

op1&=op2

op1=op1&op2

|=

op1|=op2

op1=op1|op2

^=

op1^=op2

op1=op1^op2

<<=

op1<<=op2

op1=op1<

>>=

op1>>=op2

op1=op1>>op2

>>>=

op1>>>=op2

op1=op1>>>op2

1.1.2.5其他运算符

Operator

Description

?

:

Shortcutif-elsestatement

[]

Usedtodeclarearrays,createarrays,andaccessarrayelements

.

Usedtoformqualifiednames

(params)

Delimitsacomma-separatedlistofparameters

(type)

Casts(converts)avaluetothespecifiedtype

new

Createsanewobjectoranewarray

instanceof

Determineswhetheritsfirstoperandisaninstanceofitssecondoperand

●数组定义要使用

float[]arrayOfFloats=newfloat[10];

●Instanceof操作符测试第一个操作数是否是第二个操作数的实例

op1instanceofop2

op1必须是变量名称,op2必须是类名称。

1.1.3流程控制语句

StatementType

Keyword

looping

while,do-while,for

decisionmaking

if-else,switch-case

exceptionhandling

try-catch-finally,throw

branching

break,continue,label:

return

1.2对象基础和简单数据对象

1.2.1对象的生命周期

1.2.1.1建立对象

需要注意的是,类的直接赋值传递的是地址引用,因为它是引用类型。

1.2.1.2使用对象

1.2.1.3清除未使用对象

一般来说,系统会自动进行内存的垃圾收集,释放内存,当然,也可以使用System类中的gc方法来手动收集。

在某些特定情况下,我们可能需要手动释放一些资源,在Java的类中有一个finalize方法用来给用户一个这样的机会进行手动资源释放。

可以通过重载finalize方法来实现,如果重载了finalize方法,就需要在方法中最后执行super.finalize来调用超类的此过程。

1.2.2Characters和Strings

Java平台包括三种字符串处理的类。

●Character——可以用来保存一个单独字符的类。

●String——可以用来保存不能更改的顺序字符串。

●StringBuffer——用于保存和操作可变的顺序字符串。

1.2.2.1Characters

Character类型对象用来保存一个单独的字符值。

当需要使用一个字符对象而不是一个简单类型的char变量的时候使用,因为作为对象传递的是地址而不是值。

当需要传递一个饮用的时候才使用。

1.2.2.2两个字符串类

Java平台提供了两个类,String和StringBuffer用于保存和操作字符串类型的数据。

String类提供定值的字符串操作。

StringBuffer类用于可能会变更的字符串。

因为String类型是常量类型,所以更加高效。

1.2.2.3字符串访问方法

Java的字符串是从0开始计数的。

●indexOf(intcharacter)

●lastIndexOf(intcharacter)

Returntheindexofthefirst(last)occurrenceofthespecifiedcharacter.

●indexOf(intcharacter,intfrom)

●lastIndexOf(intcharacter,intfrom)

Returntheindexofthefirst(last)occurrenceofthespecifiedcharacter,searchingforward(backward)fromthespecifiedindex.

●indexOf(Stringstring)

●lastIndexOf(Stringstring)

Returntheindexofthefirst(last)occurrenceofthespecifiedString.

●indexOf(Stringstring,intfrom)

●lastIndexOf(Stringstring,intfrom)

Returntheindexofthefirst(last)occurrenceofthespecifiedString,searchingforward(backward)fromthespecifiedindex.

1.2.2.4其他类型转换为字符串

可以使用ToString来转换为字符串,也可以使用valueOf函数来转换其他类型为字符串。

System.out.println(String.valueOf(Math.PI));

1.2.3字符串转换为其他类型

可以使用其他类型的valueOf函数来转换。

StringpiStr=“3.14159”;

Floatpi=Float.valueOf(piStr);

1.2.3.1String类型的动态拷贝

默认情况下,如果把一个字符串赋值给另一个字符串,那么两个字符串是相同的,但是如果另一个的值改变了,系统会自动拷贝一个到新的内存并且建立一个新的字符串。

这也是和String类型不可修改相一致的。

Strings1="hello";

Strings2=s1;

System.out.println("s1="+s1+";s2="+s2);

System.out.println("System.identityHashCode(s1)="+System.identityHashCode(s1));

System.out.println("System.identityHashCode(s2)="+System.identityHashCode(s2));

s1+="world";

System.out.println("\ns1="+s1+";s2="+s2);

System.out.println("System.identityHashCode(s1)="+System.identityHashCode(s1));

System.out.println("System.identityHashCode(s2)="+System.identityHashCode(s2));

输出:

s1=hello;s2=hello

System.identityHashCode(s1)=2452092

System.identityHashCode(s2)=2452092

s1=helloworld;s2=hello

System.identityHashCode(s1)=7474923

System.identityHashCode(s2)=2452092

1.2.4数值

1.2.4.1格式化数字

NumberFormat类和DecimalFormat类研究一下,在java.text中。

1.2.4.2使用预定义格式

可以使用NumberFormat类中的几个方法来格式化数字。

Doubleamount=newDouble(345987.246);

NumberFormatnumberFormatter;

StringamountOut;

numberFormatter=NumberFormat.getNumberInstance(currentLocale);

amountOut=numberFormatter.format(amount);

System.out.println(amountOut+""+currentLocale.toString());

类似的还有getCurrencyInstance和getPercentInstance

1.2.4.3自定义格式

DecimalFormatmyFormatter=newDecimalFormat(pattern);

Stringoutput=myFormatter.format(value);

System.out.println(value+""+pattern+""+output);

1.2.4.3.1定义模式

pattern:

=subpattern{;subpattern}

subpattern:

={prefix}integer{.fraction}{suffix}

prefix:

='\\u0000'..'\\uFFFD'-specialCharacters

suffix:

='\\u0000'..'\\uFFFD'-specialCharacters

integer:

='#'*'0'*'0'

fraction:

='0'*'#'*

Notation

Description

X*

0ormoreinstancesofX

(X|Y)

eitherXorY

X..Y

anycharacterfromXuptoY,inclusive

S-T

charactersinS,exceptthoseinT

{X}

Xisoptional

1.2.5数组

Java中的数组是从0下标开始的。

1.2.5.1建立和使用数组

publicclassArrayDemo{

publicstaticvoidmain(String[]args){

int[]anArray;//declareanarrayofintegers

anArray=newint[10];//createanarrayofintegers

//assignavaluetoeacharrayelementandprint

for(inti=0;i

anArray[i]=i;

System.out.print(anArray[i]+"");

}

System.out.println();

}

}

1.2.5.2对象数组

1.2.5.3ArraysofArrays

publicclassArrayOfArraysDemo{

publicstaticvoidmain(String[]args){

String[][]cartoons=

{

{"Flintstones","Fred","Wilma","Pebbles","Dino"},

{"Rubbles","Barney","Betty","BamBam"},

{"Jetsons","George","Jane","Elroy","Judy","Rosie","Astro"},

{"ScoobyDooGang","ScoobyDoo","Shaggy","Velma","Fred","Daphne"}

};

for(inti=0;i

System.out.print(cartoons[i][0]+":

");

for(intj=1;j

System.out.print(cartoons[i][j]+"");

}

System.out.println();

}

}

}

1.2.5.4数组复制

使用系统提供的arraycopy方法可以有效的从一个数组向另一个复制数据。

publicstatic

voidarraycopy(Objectsource,

intsrcIndex,

Objectdest,

intdestIndex,

intlength)

两个对象分别是源和目标数

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

当前位置:首页 > 农林牧渔 > 农学

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

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