Java语言基础知识_第1页
Java语言基础知识_第2页
Java语言基础知识_第3页
Java语言基础知识_第4页
Java语言基础知识_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

对标识符的规定如下:

标识符是以字母,下划线(_),美元符($)开始的一个字符序列。

除第一个字符外,后面可以跟字母,下划线,美元符,数字。标

识符对大小写敏感。

没有最大长度的限制。

java数据类型简单数据类型整数类型byte

short

int

long

浮点类型float

double

字符类型char

布尔类型Boolean

复合数据类型class

interface

数组

浮点型数据的常量

十进制数形式

由数字和小数点组成,且必须有小数点,如0.123,1.23,123.0

科学计数法形式

如:123e3或123E3,其中e或E之前必须有数字,且e或E后面的指数必须为整

数。

float型的值,必须在数字后加f或F,如1.23L

字符型变量:类型为char,它在机器中占16位,其范闱为0-65535。

换码序列意义解释

\t水平制表符

\n回车/换行

\f进纸

\r回车

V双引号

V单引号

\\反斜杠

\DDDASC码八进制的DDD字符

\UhhhhUnicode十六进制HHHH的字符

每个引用占据32位的内存空间,其值指向对象实际所在的内存中的位置,例如:

Dated=newDateQ;

通常我们称d为Date型的对象,实际上d就是引用,它是一个32位的数据,它的值指

向该Date对象实际所在的内存空间。

int|]a;〃声明整数数组a

int[]a=newint(100];/*创建一个可以存储100个整数的数组,数组的下标从0〜99*/

静态初始化

intintArray[]={l,2,3,4};

StringstringArray[]={‘'abc”,"How”,“you”};

动态初始化

简单类型的数组

arrayName=newtype|size|

例:

inta[];

a=newint|100];或inta[]=newint[100];

每个数组都有一个属性length指明它的长度,例如:intArray.length指明数组intArray的长

度。

匿名数组

newint[]{17,19,23,29,31,37};

二维数组的定义

typearrayName[][];

type[][]arrayName;

静态初始化

在声明数组时就进行初始化赋值。

intintArray[][]={{1,2),{2,3},{3,4,5)};

Java语言中,不要求二维数组每一维的大小相同。

动态初始化

直接为每一维分配空间,格式如下:

arrayName=newtype[arrayLengthl][arrayLength2];

例如:

inta[][]=newint[2][3];

例:

inta[][]=newint[2][];

a[0]=newint[3];

a[l]=newint[5];

注意:对二维复合数据类型的数组,

必须首先为最高雄分配引用空间,然后再顺次为低维分配空间。

必须为每个数组元素单独分配空何。

Strings[][]=newString[2][];

s[0]=newString[2];//为最高维分配引用空间

s[l]=newString[2];〃为最高维分配引用空间

s[0][0]=newString("Good");

//为每个数组元素单独分配空间

s[0][1]=newString("Luck");

//为每个数组元素单独分配空间

s[l][0]=newString(**tow);

//为每个数组元素单独分配空间

s[l][I]-newString("You");

//为每个数组元素单独分配空间

数组创建后不能改变它的大小,但是可以使用相同的引用变量指向一个全新的数组。

int[]luckyNumbers=smal1Primes;

luckyNumbers[5]=12;〃现在smallPrimes[5]的值也是12

System类提供了一个特殊的方法arrayCopy(),实现数组之间的复制,

System.arrayCopy(from,fromlndex,to,tolndex,count);

字符串是内存中连续排列的一个或多个字符。

java.lang中封装了类String和StringBuffer分别用于处理不变字符串和可变字符串。

String类有9个构造方法,StringBuffer有3个构造方法.

创造一个空字符串。

Stringsl=newString();

由字符数组创建字符串。

charchars[]={4a>,'b','c'};

Strings2=newString(chars);

用字符串常量初始化一个字符串。

Strings3="HelloWorld!”;

String类的对象实例是不可改变的。对字符串施加操作后并不改变字符串本身,而是又生

成另一个实例。

String类对象

字符串连接

concat(Stringstr)

Strings="Thisisthe";

Stringt=s.concat("String.");

t的内容为:"ThisistheString.w

重载运算符“+”

只要“+”的两个操作数中有一个是字符串,则另一个也自动变为字符串类型。

java中也可以使用关系运算符“==”判定两个字符串是否是同一实例,即它们在内存中的

存储空间是否相同。(注意和equals的区别)

一个字符数组的内容可以全部或部分地拷贝到一个字符串中。有两个静态方法用于这种拷

贝:

staticStringcopyValueOf(char[]data)

staticStringcopyValueOf(chart]data,intoffset,intcount)

例:charcLJ={A,,c,h,a,r,,a,r,r,a,y};

Stringsl=newString(),s2=newString();

sl=sl.copyValueOf(c);

s2-s2.copyValueOf(c,2,4);

结果:

sl="Achararrayw

s2="char”

字符串大小写转换

一个字符串可以整体转换为大写或小写字符。

例:

Stringsl="allislowercasew;

Strings2="SomeIsUppercase”;

sl=sl.toUpperCaseO;//sl=aALLISLOWERCASEM

s2=s2.toLowerCaseO;//s2=wsonieisuppercasew

字符串检索

两组方法:indexOf和lastlndexOf

intindexOf(intch)

intindexOf(Stringstr)

intlastindexOf(intch)

intlastindexOf(Stringstr)

例:

Stringstr="Thisisateststring”;

inti=str.indexOfCi*);//i=2

intj=str.lastindexOf(*i*);//j=18

intk=str.indexOf(*is*)://k=2

intl=str.lastindexOf(*is*);//l=5

字符串转换为数组

字符串可以转换为字节数组或字符数组。

字符串转为字节数组将进行特别处理,因为字符是16位长,而字节为8位长,所以要将字

符的高8位去掉,只保留低8位成为一个字节。有3个方法:

byte[]getBytesO

〃按系统默认字符集编码转换为字节数组

byte[]getBytes(Stringenc)//enc为字符集编码

char[]toCharArray()〃转换为字符数组

例:

bytebyteArr[];

charcharArr[];

Stringstr="Thisisateststring”;

byteArr=str.getBytes();

charArr=str.toCharArray();

注意:可以只声明数组而不创建,在转换过程中由系统自动创建。也可以直接创建数组,数

组长度可以是0或大于0的整数。

转换为字符串

valuoOf方法用来将其它数据类型转换成字符串,其参数可以是任何数据类型(byto类型除

外)。

例:

chardata[]=fa','b','c','d','e'};

System.Out.printin(String.valueOf(12D));

System.Out.printin(String.valueOf(3<2));

System.Out.printin(String.valueOf(data,1,3));

输出结果为:

12.0

false

bed

StringBuffer类

该类处理可变字符串。当修改一个StringBuffer类的字符串时,不用再创建一个新的字符

串对象,而是直接操作原字符串。???

系统为String类对象分配内存时,按照对象中所含字符的实际个数等量分配。

为StringBuffer类对象分配内存时,除去字符所占空间外,再另加16个字符大小的缓冲区。

对于StringBuffer类对象,使用length。方法可获得字符串的长度;用capacity()方法返

回缓冲区的容量。

StringBuffer();

/*分配16个字符的缓冲区*/

StringBuffer(intlen);

/*分配len个字符的缓冲区*/

StringBuffer(Strings);

/*除了按照s的大小分配空间外,再分配16个字符的缓冲区*/

[append方法

insert方法其

它方法】

append方法可以把各种数据类型转换成字符串后添加进来(byte类型除外),其基本用法为:

append(数据类型)。

例:

chardata□={'a','b','c','d','e'};

StringBufferbuffer=newStringBuffer();

buffer,append(100);

buffer.append(**');

buffer.append(2.5F);

buffer.appendisequalto");

buffer,append(250.0D);

buffer,append(*');

buffer,append(data);

buffer.append(*');

buffer,append(data,2,3);

输出结果:buffer=u100*2.5isequalto250.0abcdecde”

insert方法比append方法多了一个位置参数,该参数必须大于等于0。其基本用法为:insert

(插入位置,数据类型)。

例:

chardata口={,a,,,b,,,c,,,d,,,e,};

StringBufferbuffer=newStringBuffer();

buffer.insert(0,100);

buffer,insert(0,2.5F);

buffer,insert(3,';

buffer,insert(0,250.0D);

buffer,insert(5,*isequalto");

输出结果:buffer="250.0isequalto2.5*100”

常用其它方法:

publicStringBufferdelete(intstart,intcount)

〃删除子串

publicStringBufferdele

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论