财管家.园.fs119.net
财软 联盟 fs119.net
程序员对程序中的各个元素加以命名时使用的命名记号称为标识符(identifier)。Java语言中,标识符是以字母,下划线(_),美元符($)开始的一个字符序列,后面可以跟字母,下划线,美元符,数字。例如,identifier,userName,User_Name,_sys_val,$change为合法的标识符,而2mailroom#,class为非法的标识符。
2.保留字
具有专门的意义和用途,不能当作一般的标识符使用,这些标识符称为保留字(reservedword),也称为关键字,下面列出了java语言中的所有保留字:
bstract,break,byte,boolean,catch,case,class,char,continue,default,double,do,else,extends,false,final,float,for,finally,if,import,implements,int,interface,instanceof,long,length,native,new,null,package,private,protected,public,return,switch,synchronized,short,static,super,try,true,this,throw,throws,threadsafe,transient,void,while。 财,软联盟,fs119.net
财软联盟,fs119.net
java语言的数据类型有简单类型和复合类型:
简单数据类型包括:
整数类型(Integer):byte,short,int,long
浮点类型(Floating):float,double
字符类型(Textual):char
布尔类型(Logical):boolean
复合数据类型包括:
class
interface
数组
常量:用保留字final来实现
finaltypeSpecifiervarName=value[,varName[=value]…];
如:finalintNUM=100;
变量:是java程序中的基本存储单元,它的定义包括变量名、变量类型和作用域几个部分。其定义格式如下:
typeSpecifiervarName[=value[,varName[=value]…]; 财软联盟 fs119.net
如:intcount;charc='a';
变量的作用域指明可访问该变量的一段代码,声明一个变量的同时也就指明了变量的作用域。按作用域来分,变量可以有下面几种:局部变量、类变量、方法参数和例外处理参数。在一个确定的域中,变量名应该是唯一的。局部变量在方法或方法的一个块代码中声明,它的作用域为它所在的代码块(整个方法或方法中的某块代码)。类变量在类中声明,而不是在类的某个方法中声明,它的作用域是整个类。方法参数传递给方法,它的作用域就是这个方法。例外处理参数传递给例外处理代码,它的作用域就是例外处理部分。 财 管家园 fs119.net
财管家园 fs119.net
财管家,园,fs119.net
财管.家园.fs119.net
布尔型数据只有两个值true和false,且它们不对应于任何整数值。布尔型变量的定义如:
booleanb=true;
字符常量:
字符常量是用单引号括起来的一个字符,如'a','A';
字符型变量:
类型为char,它在机器中占16位,其范围为0~65535。字符型变量的定义如:
charc='a';
整型常量:
如123,-456,0
以0开头,如0123表示十进制数83,-011表示十进制数-9。
以0x或0X开头,如0x123表示十进制数291,-0X12表示十进制数-18。
整型变量:
实型常量:
由数字和小数点组成,且必须有小数点,如0.123,1.23,123.0
如:123e3或123E3,其中e或E之前必须有数字,且e或E后面的指数必须为整数。
财管家,园,fs119.net
【例2.1】
publicclassAssign{
publicstaticvoidmain(Stringargs[]){
intx,y;
floatz=1.234f;
doublew=1.234;
booleanflag=true;
charc;
Stringstr1="Hi";
c='A';
str="bye";
x=12;
y=300;
}
} 财管家 园 fs119.net
低------------------------------------------->高
byte,short,char->int->long->float->double
整型,实型,字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算,转换从低级到高级; 财,软联盟,fs119.net
高级数据要转换成低级数据,需用到强制类型转换,如:
inti;
byteb=(byte)i;
财软联盟 fs119.net
财.管家园.fs119.net
财,管家园,fs119.net
基本的运算符按功能划分,有下面几类:
32;
a-b;
i;
--i;
例如:
count>3;
I==0;
n!=-1;
flag=true;
!(flag);
flag&&false;
a=10011101;b=00111001;则有如下结果:
a<<3=11101000;
a>>3=11110011a>>>3=00010011;
a&b=00011001;a|b=10111101;
~a=01100010;a^b=10100100;
i=3;
i=3;
例如:result=(sum==0?1:num/sum);
System.out.println("helloworld");
intarray1[]=newint[4]; 财软.联盟.fs119.net
表达式的类型由运算以及参与运算的操作数的类型决定,可以是简单类型,也可以是复合类型:
布尔型表达式:x&&y||z;
整型表达式:num1num2;
表达式的运算按照运算符的优先顺序从高到低进行,同级运算符从左到右进行:
Result=sum==0?1:num/sum;
第1步:result=sum==0?1:(num/sum)
第2步:result=(sum==0)?1:(num/sum)
第3步:result=((sum==0)?1:(num/sum))
第4步:result=
财软 联盟 fs119.net
财.管家园.fs119.net
财软.联盟.fs119.net
财软,联盟,fs119.net
财管家园.fs119.net
财管家.园.fs119.net
if(boolean-expression)
statement1;
[elsestatement2;]
switch(expression){
casevalue1:statement1;
break;
casevalue2:statement2;
break;
…………
casevalueN:statemendN;
break;
[default:defaultStatement;]
}
财,软联盟,fs119.net
[initialization]
while(termination){
body;
[iteration;]
}
[initialization]
do{
body;
[iteration;]
}while(termination);
for(initialization;termination;iteration){
body;
}
◇
for(i=0,j=10;i<j;i,j--){
……
}
财,管家园,fs119.net
财,管家园,fs119.net
财软联盟,fs119.net
财管家,园,fs119.net
财 软联盟 fs119.net
财软联,盟,fs119.net
BlockLabel:{codeBlock}
break语句的第二种使用情况就是跳出它所指定的块,并从紧跟该块的第一条语句处执行。例如:
breakBlockLabel;
break语句
a:{……//标记代码块a
b:{……//标记代码块b
c:{……//标记代码块c
breakb;
……//此处的语句块不被执行
}
……/此处的语句块不被执行
}
……//从此处开始执行
}
continue语句用来结束本次循环,跳过循环体中下面尚未执行的语句,接着进行终止条件的判断,以决定是否继续循环。对于for语句,在进行终止条件的判断前,还要先执行迭代语句。它的格式为:
continue;
也可以用continue跳转到括号指明的外层循环中,这时的格式为
continueouterLable;
outer:for(inti=0;i<10;i){//外层循环
inner:for(intj=0;j<10;j){//内层循环
if(i<j){
……
continueouter;
财管家园 fs119.net
……
}
……
}
return语句从当前方法中退出,返回到调用该方法的语句处,并从紧跟该语句的下一条语句继续程序的执行。返回语句有两种格式:
returnexpression;
return;
财,管家园,fs119.net
包括try,catch,finally,throw语
财管家园 fs119.net
财,管家园,fs119.net
typearrayName[];
类型(type)可以为Java中任意的数据类型,包括简单类型和复合类型。
例如:
intintArray[];
DatedateArray[];
intintArray[]={1,2,3,4};
StringstringArray[]={"abc","How","you"};
◇动态初始化
1)简单类型的数组
intintArray[];
intArray=newint[5];
2)复合类型的数组
StringstringArray[];
StringstringArray=newString[3];
空间(32位)*/
stringArray[0]=newString("How");
stringArray[1]=newString("are");
stringArray[2]=newString("you");
数组元素的引用方式为:
arrayName[index]
Java语言中,多维数组被看作数组的数组。 财管家 园 fs119.net
财管 家园 fs119.net
typearrayName[][];
type[][]arrayName;
◇静态初始化
intintArray[][]={{1,2},{2,3},{3,4,5}};
◇动态初始化
1)直接为每一维分配空间,格式如下:
arrayName=newtype[arrayLength1][arrayLength2];
inta[][]=newint[2][3];
2)从最高维开始,分别为每一维分配空间:
arrayName=newtype[arrayLength1][]; 财.软联盟.fs119.net
arrayName[0]=newtype[arrayLength20];
arrayName[1]=newtype[arrayLength21];
…
arrayName[arrayLength1-1]=newtype[arrayLength2n];
3)例:
二维简单数据类型数组的动态初始化如下,
inta[][]=newint[2][];
a[0]=newint[3];
a[1]=newint[5];
对二维复合数据类型的数组,必须首先为最高维分配引用空间,然后再顺次为低维分配空间。
而且,必须为每个数组元素单独分配空间。
例如:
Strings[][]=newString[2][];
s[0]=newString[2];
s[1]=newString[2];
s[0][0]=newString("Good");
s[0][1]=newString("Luck");
s[1][0]=newString("to");
s[1][1]=newString("You");
对二维数组中的每个元素,引用方式为:arrayName[index1][index2]
例如:num[1][0];
【例2.2】两个矩阵相乘
publicclassMatrixMultiply{
publicstaticvoidmain(Stringargs[]){
inti,j,k;
inta[][]=newint[2][3];
intb[][]={{1,5,2,8},{5,9,10,-3},{2,7,-5,-18}};
一个二维数组
intc[][]=newint[2][4];
for(i=0;i<2;i)
for(j=0;j<3;j) 财软 联盟 fs119.net
a[i][j]=(i1)*(j2);
for(i=0;i<2;i){
for(j=0;j<4;j){
c[i][j]=0;
for(k=0;k<3;k)
c[i][j]=a[i][k]*b[k][j];
}
}
System.out.println("*******MatrixC********");
for(i=0;i<2;i){
for(j=0;j<4;j)
System.out.println(c[i][j]"");
System.out.println();
}
}
}
财.管家园.fs119.net
财管家,园,fs119.net
财软.联盟.fs119.net
财管 家园 fs119.net
Java语言中,把字符串作为对象来处理,类String和StringBuffer都可以用来表示一个字符串。(类名都是大写字母打头)
字符串常量是用双引号括住的一串字符。
"HelloWorld!"
用String表示字符串:
String(charchars[]);
String(charchars[],intstartIndex,intnumChars);
String(byteascii[],inthiByte);
String(byteascii[],inthiByte,intstartIndex,intnumChars);
String使用示例:
Strings=newString();生成一个空串
下面用不同方法生成字符串"abc":
charchars1[]={'a','b','c'};
charchars2[]={'a','b','c','d','e'};
Strings1=newString(chars1);
Strings2=newString(chars2,0,3);
byteascii1[]={97,98,99}; 财软联盟,fs119.net
byteascii2[]={97,98,99,100,101};
Strings3=newString(ascii1,0);
Strings4=newString(ascii2,0,0,3);
StringBuffer();
StringBuffer(intlen);
StringBuffer(Strings);
字符的缓冲区*/ 财软 联盟 fs119.net
财软,联盟,fs119.net
◇publicintlength()此方法返回字符串的字符个数
publiclastIndexOf(inch)
返回字符ch在字符串中出现的第一个和最后一个的位置
publicintlastIndexOf(Stringstr)
返回子串str中第一个字符在字符串中出现的第一个和最后一个的位置
publiclastIndexOf(inch,intfromIndex) 财软联盟 fs119.net
返回字符ch在字符串中位置fromIndex以后出现的第一个和最后一个的位置
publicintlastIndexOf(Stringstr,intfromIndex)
返回子串str中的第一个字符在字符串中位置fromIndex后出现的第一个和最后一个的位置。
srcbegin为要提取的第一个字符在源串中的位置,end为要提取的最后一个字符在源串中的位置,字符数组buf[]存放目的字符串, dstbegin为提取的字符串在目的串中的起始位置。
参数及用法同上,只是串中的字符均用8位表示。
方法capacity()用来得到字符串缓冲区的容量,它与方法length()所返回的值通常是不同的。
财,管家园,fs119.net
财软,联盟,fs119.net
concat()
replace()
substring()
toLowerCase()
toUpperCase()
◇publicStringcontat(Stringstr);
用来将当前字符串对象与给定字符串str连接起来。
用来把串中出现的所有特定字符替换成指定字符以生成新串。
publicStringsubstring(intbeginIndex,intendIndex);
用来得到字符串中指定范围内的子串。
把串中所有的字符变成小写。
把串中所有的字符变成大写。
append()
insert()
setCharAt()
如果操作后的字符超出已分配的缓冲区,则系统会自动为它分配额外的空间。
用来在已有字符串末尾添加一个字符串str。
用来在字符串的索引offset位置处插入字符串str。
用来设置指定索引index位置的字符值。
相反,StringBuffer中对字符串的连接操作是对源串本身进行的,操作之后源串的值发生了变化,变成连接后的串。
String中提供的方法:
equals()和equalsIgnoreCase()
它们与运算符'=='实现的比较是不同的。运算符'=='比较两个对象是否引用同一个实例,而equals()和equalsIgnoreCase()则比较 两个字符串中对应的每个字符值是否相同。
java.lang.Object中提供了方法toString()把对象转化为字符串。
运算符''可用来实现字符串的连接:
Strings="Heis"age"yearsold.";
其他类型的数据与字符串进行""运算时,将自动转换成字符串。具体过程如下:
Strings=newStringBuffer("heis").append(age).append("yearsold").toString();
财 管家园 fs119.net
财 软联盟 fs119.net财 管家园 fs119.net
数组是最简单的复合数据类型,数组是有序数据的集合,数组中的每个元素具有相同的数据类型,可以用一个统一的数组名和下标来唯一地确定数组中的元素。Java中,对数组定义时并不为数组元素分配内存,只有初始化后,才为数组中的每一个元素分配空间。已定义的数组必须经过初始化后,才可以引用。数组的初始化分为静态初始化和动态初始化两种,其中对复合数据类型数组动态初始化时,必须经过两步空间分配:首先,为数组开辟每个元素的引用空间;然后,再为每个数组元素开辟空间。Java中把字符串当作对象来处理,java.lang.String类提供了一系列操作字符串的方法,使得字符串的生成、访问和修改等操作容易和规范。
财软 联盟 fs119.net
财软联 盟 fs119.net
财管 家园 fs119.net
Google.cn搜索相关文章:
谷歌中搜索全球网 JAVA教程第二讲Java语言基础知识
百度中搜索 JAVA教程第二讲Java语言基础知识
谷歌中搜索www.fs119.net JAVA教程第二讲Java语言基础知识
下一篇:JAVA教程第一讲Java语言概述
