Java复习资料Word文档格式.docx

上传人:b****4 文档编号:17837422 上传时间:2022-12-11 格式:DOCX 页数:38 大小:40.24KB
下载 相关 举报
Java复习资料Word文档格式.docx_第1页
第1页 / 共38页
Java复习资料Word文档格式.docx_第2页
第2页 / 共38页
Java复习资料Word文档格式.docx_第3页
第3页 / 共38页
Java复习资料Word文档格式.docx_第4页
第4页 / 共38页
Java复习资料Word文档格式.docx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

Java复习资料Word文档格式.docx

《Java复习资料Word文档格式.docx》由会员分享,可在线阅读,更多相关《Java复习资料Word文档格式.docx(38页珍藏版)》请在冰豆网上搜索。

Java复习资料Word文档格式.docx

\b退格

字符串必须在同一行开始和结束。

变量(Varialbe):

成员变量(全局变量)、局部变量[两者同名时,局部变量覆盖成员变量]

变量由一个标识符类型及可选初始值的组合定义的。

Java中所有变量必须先声明后再使用,多个变量用“,”分开。

所有变量都定义了一个作用域(scope),该作用域只对该作用域内的程序可见。

1)成员变量(对象的属性)

定义其语法:

权限修饰符返回值类型方法名(参数类型参数名){

......//方法体

Return返回值;

参数可有可有,也可是对象或基本数据类型的变量

成员方法有返回值(无void,有return,使用后终止方法执行)和没有返回值(有void),另返回值类型要与方法返回类型一致。

注:

一个方法中含有与成员变量同名的局部变量,则方法中对这个变量的访问以局总变量进行访问(即局部变量覆盖成员变量)。

类成员变量和成员方法统称为类成员。

2)局部变量:

在成员方法内定义的一个变量。

(使用时必须初始化或赋值)

方法中的形参可以作为一个局部变量。

有效范围(作用域)为声明到该变量的结束为止,在相互不嵌套的scope中可以同时声明两个名称、类型相同的局部变量,在scope作用范围内没有声明局部变量的代码。

例:

packageNumber

publicclassFirst{

staticStrings1="

你好!

"

;

//成员变量或类变量

publicstaticviodmain{String[]args){

Strings2="

Java"

//局部变量

System.out.println(s1);

System.out.println(s2);

Java的转换类型:

1、Java的自动转换(隐式转换):

发生拓宽转换(低→高,不含逻辑和字符类型)

byte<

short<

int<

long<

float<

double

1)2种类型兼容

2)目的类型数的范围比来源类型的大

拓宽转换、数字转换(其中int和float)兼容,数字类型和字符类型或布尔类型不兼容。

intx=50;

floaty=x;

//将x赋值给y

2、强制转换(不兼容的类型转换,显示转换,高→低)

通用格式:

(目标类型)value

截断:

把浮点值赋给整数时发生(舍小数)

类型的提升:

所有byte和short型值都被提升到int型;

如有一个操作数是long型,整个表达式被提升到long型;

如有一个操作数是float型,整个表达式被提升到float型;

如有一个操作数是double型,整个表达式被提升到double型;

inta=(int)45.24;

//a为45

longy=(long)456.6F;

//y为456

intb=(int)'

d'

//b为100

运算符(operators):

4大运算符:

算术、位、关系、逻辑。

%(取余||取模,用于浮点型)、++(递增)、--(递减)、+=(加法赋值)、-=(减法赋值)、*=(乘法赋值)、/=(除法赋值)、%=(模运算赋值)

运算符可以是数字类型,可以用于char不能用于boolean,对整数进行除法运算时,所有余数都要被舍去。

y=++x<

==>

x=x+1andy=x;

y=x++<

y=x,x=x+1

1)位运算符(bitwiseoperators):

运算符含义

~按位非(NOT)

&

按位与(AND)

|按位或(OR)

^按位异或(XOR)

>

>

右移(正数右移,左边空出位用0

填充;

负数右移,左移空出位用1填

充;

一个数左移n位,就将此数*2n,

一个数右移n位,将此数/2n)

无符号右移(左边空出的位用0填充,

只对32位或者64位的值有效)

<

<

左移

&

=按位与赋值

|=按位或赋值

^=按位异或赋值

=右移赋值

=右移赋值(左边空出位用0填充)

=左移赋值

负数的二进制是其正数的二进制各个位取反再加1

对负数解码,首先对其所有位取反再加1

-0和0表示方法一样,-1的解码为11111111(-1右移总是-1)

Java用高位来代表负数,不管高位如何,它决定一个整数的符号,最高位为0,则代表正数;

最高位为1,则表示负数。

~(对运算符每一位取反)、&

(两数均为1,则为1)、OR("

|"

,任何一个数为1,则为1)、XOR("

^"

,两个数不同时为1)

位移运算符至少需要32位整型,当int型变量a>

n,且n大于32位时,则取a>

m,其中系统自动设置m=n%32,即m为n除以32后的余数。

inta=4试运行a>

33,并求其结果。

因n=33大于33,故m=33%32=1,所以a=1本例a>

33可以用a>

1替换。

2)关系运算符:

不等于(!

=)相等(==)

关系运算符产生的结果是布尔型。

3)布尔逻辑运算符(其运算数只能用于布尔型)

逻辑与

|逻辑或

^异或

||短路或

短路或

逻辑反

=逻辑与赋值

|=逻辑或赋值

^=异或赋值

==相等

!

=不相等

三元运算符(表达式?

值1:

值2)

运算符优先级

最高

()[].

++--~!

*/%

+-

(适用于byte、int、

short、long)

=<

=

==!

^

|

||

?

op=

最低

代码注释:

“//”→单行注释,从“//”开始到换行结束的所有内容。

“/**/”→多行注释,从符号“/*”到“*/”间所有内容(可换行,可嵌套单行注释)。

“/***/”→文档注释,从符号“/**”到“*/”间所有内容。

编码规范:

1、每条语句单独占一行,一条命令要以分号(英文状态下)结束。

2、在声明变量时,尽量使每个变量的声明单独占一行,即使是相同的数据类型也要将其放置在单独一行上,有助于添加注释,对于局部变量,应在声明的同时对其进行初始化。

3、在Java代码中,关键字与关键字间如果有多个空格均被初视为一个。

4、为了方便日后的维护,不要使用技术性很高、难懂、易混淆的语句。

5、对于关键的方法要多加注释。

语句:

1)复合语句(块语句):

可嵌套,由“{”开始到“}”结束。

2)条件语句(if语句)

if(布尔表达式){

语句序列//当仅为一条语句时,可省略“{}”,也可保留。

}

若干语句//当仅为一条语句时,可省略“{}”,也可保留。

}<

若干语句?

值2

else{

if(布尔表达式1){

语句序列1//当仅为一条语句时,可省略“{}”,也可保留。

elseif(布尔表达式2){

语句序列2//当仅为一条语句时,可省略“{}”,也可保留。

switch分支语句(测试一个变量是否符合某个条件)(intcharbyteshort)

switch(表达式){

case常量值1:

语句块1

[break;

]

case常量值n:

default:

语句块n+1

switch语句先计算表达式的值,如和某个case后的值相同,则执行该case语句后的若干语句,直到遇到break为止,如无break则继续执行case后的语句,直到遇到break为止,若表达式的值没有和case后的值相同,则执行default后的语句。

3)循环语句(while、do...while、for)

while(条件表达式){

执行语句

do{

While(条件表达式);

for(初始化表达式;

循环表达式;

循环后操作表达式){

语句序列

初始化表达式:

负责完成变量的初始化。

循环表达式:

值为boolean型表达式,指定循环条件。

循环后操作表达式:

负责修整变量,改变循环条件(通常是增加或减少控制变量的一个表达式)。

用for实现无限循环:

For(;

){

......//可以用break语句跳出循环

foreach(元素变量x:

遍历对象){//x不必对其初始化

引用了x的Java语句

break和continue区别:

break用于跳出循环语句,不再进行这次循环的迭达表达式;

continue用于终止当前这一轮的循环,而进入下一轮。

另标签只可放在循环前端,否则无法编译。

字符串

1、声明字符串:

Stringstr=[null](省略null表示str变量是未初始化的状态,否则表示声明的值就等于null

2、创建字符串

创建String(chara[])方法:

String(chara[],intoffset,intlength)

offest:

开始截取字符串的位置

length:

截取字符串的长度

chara[]={'

s'

'

t,'

u'

e'

n'

t'

};

Strings=newString(a,2,4);

等价于Srings=newString("

uden"

);

3、字符串连接

1)用“+”连接多个字符串,一句相连的字符串不能分开在两行写;

如要分开写,则用“+”连接,且“+”两边字符串用“”连接。

System.out.println("

Ilike"

+

连接其它字符串"

):

2)如果将字符串同其他基本数据类型进行连接,会将其他基本数据类型直接转换成字符串。

4、获取字符串

1)获取字符串长度:

用String的length()方法(含空格)

语法:

str.length();

例:

Strings="

Wearestudent"

intsize=str.length();

//size=15

2)字符串查找:

indexOf()与lastIndexOf()方法

str.indexOf(substr);

str.lastIndexOf(substr)

indexOf:

首次出现的位置

lastIndexOf:

最后次出现的位置

indexOf(Strings)如果没有检索到字符串s,则返回值-1

lastInderOf(substr)(substr:

要查找的字符串)如果参数为空,则返回的结果与调用该字符串的length()方法的返回值相同。

intsize=str.indexOf("

a"

//size=3

intsize=str.lastIndexOf("

等价于

intsize=str.length()

3)获取指定索引位置的字符串

str.charAt(intindex)(index:

整型值,用于指定要返回字符的下标,字符下标从0开始)

publicclassRef{//创建类

publicstaticvoidmain(Stringargs[]){//主方法

Stringstr="

helloword"

//定义字符串str

charmychar=str.charAt(5);

/*将字符串str中索引位置是5的字

符返回*/

System.out.println("

字符串str中索引位置是5的字符为:

+mychar);

//输出信息(空格)

4)字符串的操作

[1]获取子字符串:

{1}str.substring(intbeginIndex):

从指定的索引位置开始截取,直到字符串结尾的子串。

(空格占一字符)

Strings=newString("

HelloJava"

Stringsubstr=str.substring(3)//值为loJava{2}str.substring(intbeginIndex,intendIndex):

从字符串的某一索引位置开始截取到某一索引位置结束的子串。

(两者都包含)

Strings=newString("

Stringsubstr=str.substring(0,3)//值为hel

[2]除去空格:

str.trim();

去除空格后长度:

+str.str.trim().length());

//值为9

[3]字符串替换:

str.replace(charoldChar,charnewChar)

oldChar:

要替换的字符或字符串。

newChar:

用于替换原来的字符串的内容。

如果oldChar没有出现在表达式中,则将原字符串返回;

如果一个字符多次出现,由替换所有该字符。

要替换的oldChar的大小写要与原字符串中字符的大小写一致。

Stringsubstr=str.replace("

H"

,h)//值为helloJava

4)判断字符串开始与结尾

starsWith()与endsWith()返回值为boolean类型

starsWith()用于判断当前字符串对象的前缀是否是参数指定的字符串。

str.starsWith(Stringprefix);

endsWith():

用于判断当前字符串是否是以给定的子字符串结束。

str.endsWith(Stringsuffix);

Stringnum="

2201948"

booleana=num.starsWith("

22"

booleanb=num.endsWith("

48"

System.out.println("

字符串num是否以22开始?

+a);

字符串num是否以48结束?

+b);

5)判断字符串是否相等:

用equals()方法和equalsIgnoreCase()方法

如两个字符串具有相同的字符和长度,则用equals()方法,返回值为true

str.equals(Stringotherstr)//区分大小写

str.equalsIgnoreCase(Stringotherstr)//不区分大小写

sr、otherstr是两个参加比较的字符串对象。

Stringa=newString("

Iamastudent"

Stringb=newString("

iamastudent"

booleans1=a.equals(b);

booleans2=a.equalsIgnoreCase(b);

System.out.println(a+"

equals"

+b+"

:

+s1);

equalsIgnoreCase"

+"

+s2);

6)按字典顺序比较两个字符串(基于各个字符的Unicode值)

将String对象表示的字符序列与参数字符串所表示的字符序列进行比较:

如果按字典顺序此String对象位于参数字符串之前,则比较结果为一个负整数;

如果按字典顺序此String对象位于参数字符串之后,则比较结果为一个正整数;

如果这两个字符串相等,则结果为0。

pareTo(Stringotherstr)//compareTo只有在equals()返

回true时才返回0

7)字母大小写转换

str.toLowerCase()//大写转为小写

str.toUpperCase()//小写转为大写

如无被转换的字符,则将字符串返回。

publicclassUpAndLower{//创建类

publicstaticvoidmain(Stringargs[]){//主方法

Stringstr=newString("

abcDEF"

//创建的字符串str

Stringnewstr=str.toLowerCase();

//使用toLowerCase()方法实行小写转换

Stringnewstr2=str.toUpperCase();

//使用toUpperCase()方法实行大写转换

System.out.println(newstr);

//将转换后的结果输出

System.out.println(newstr2);

8)字符串的分割

两种形式:

(1)split(Stringsign)//根据给定的分割符对字符串进行拆分

//sign为分割字符串的分割符,可用正则表达式

(2)split(Stringsign,intlimit)//limit为限定分割的次数

Stringstr=newstring("

and,tjha,thak,tye,lix,kja"

Stringnewstr[]=str.split("

"

for(inti=0;

i<

newstr.length;

i++)

System.out.println(newstr[i]);

Stringnewstr2[]=str.length("

2);

newstr2.length;

System.out.println(newstr2[i]);

9)格式化字符串(format()用于创建格式化的字符串)

(1)str.format(Stringformat,object...args)//args格式字符串中由格式说明符用

的参数

(2)str.format(Local1,Stringformat,boject...args)//1---格式化过程中要应用的语

言环境,如果1为null,则不进行本地化

10)日期和时间字符串格式化

(1)日期格式化

Datedate=newDate();

Strings=String.format("

%te"

date);

//返回一个月中的天数

常见的日期格式化转换符

转换符说明示例

%te一个月中的某一天(1-31)2

%tb指定语言环境中的月份简称Feb(英文)、二月(中文)

%tB指定语言环境中的月份全称February、二月

%tA指定语言环境中的星期几全称Monday、星期一

%ta指定语言环境中的星期几简称Mon、星期一

%tc包括全部日期和时间信息星期二三月2513:

37:

23

CST2008

%tY4位年份2008

%tj一年中的第几天(001-366)085

%tm月份03

%td一个月中的第几天(01-31)02

%ty2位年份08

(2)时间格式化

常见的时间格式化转换符

转换符说明示例

%tH2位数字的24小时制(00-23)12

%tI2位数字的12小时制(01-12)05

%tk2位数字的24小时制(0-23)5

%tl2位数字的12小时制(0-12)10

%tM2位数字的分钟(00-59)05

%tS2位数字的秒数(00-60)12

%tL3位数字的毫秒数(000-999)920

%tN9位数字的微秒数(000000000-999999999)085000000

%tp指定语言环境下上午或下午标记下午、pm

%tz相对于GMTRFC82格式的数字时区偏移量+0800

%tZ时区缩写形式的字符串CST

%ts1970-01-0100:

00:

00至现在经过的秒数1206426646

%tQ1970-01-0100:

00至现在经过的毫秒数1206426737453

(3)格式化常见的时间日期组合

常见的时间和日期组合斯格式

转换符说明示例

%tF"

年-月-日"

格式(4位年份)2008-03-09

%tD“月/日/年”格式(2位年份)03/25/08

%tc全部日期和时间信星期二三月2515:

20:

35CST2008

%tr“时:

分:

秒PM(AM)”格式(12时制)03:

22:

06下午

%tT“时:

秒”格式(24时制)15:

23:

25

%tR“时:

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

当前位置:首页 > PPT模板 > 图表模板

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

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