第2章Java语法基础.docx
- 文档编号:25058763
- 上传时间:2023-06-04
- 格式:DOCX
- 页数:59
- 大小:367.82KB
第2章Java语法基础.docx
《第2章Java语法基础.docx》由会员分享,可在线阅读,更多相关《第2章Java语法基础.docx(59页珍藏版)》请在冰豆网上搜索。
第2章Java语法基础
第2章Java语法基础
一、教学目标:
标识符﹑分隔符和关键字、常量与变量、Java数据类型、运算符﹑表达式和语句﹑条件语句﹑循环语句.
二、重点与难点:
标识符﹑分隔符和关键字、常量与变量、Java数据类型、运算符﹑表达式和语句﹑条件语句﹑循环语句﹑条件语句.
2.1.1标识符﹑分隔符﹑和关键字
Java语言中为各种变量和常量、方法和类等起的名字统称为标识符。
Java标识符要符合下列命名规则:
(1)标识符由字母、下划线(_)和美元符($)开头,不能以数字开头.
(2)标识符可由字母、下划线(_)、美元符($)或数字组合.编程时为使程序有更好的可读性,在命名标识符时应一定程度上反映变量、常量、类名和对象名的实际意义.
(3)Java标识符大小写敏感,长度无限制.如class与Class、people与People代表不同的标识符.编程时应养成良好的编码习惯:
类名首字母应大写;变量、方法及对象的首字母应小写.
(4)系统的关键字(又叫保留字)不能作标识符.Java使用统一码unicode字符集,含有65535个字符,所以可包含全球各语言文字,如汉字、日文、朝鲜文、字母包括两种:
A~Z,a~z
合法标识符如:
dog、mail、HelloWorld_921、$bS5_c7
非法标识符如:
2dog、mail#、system、public、a-b、HelloWorld92.1
system、public是Java关键字
对于包名,每个单词的每个字母都要小写,例如com.frame。
对于常量名,每个单词的每个字母都要大写,如果由多个单词组成,通常情况下单词之间用下划线(_)分隔,例如:
MAX_VALUE。
2.1.2Java关键字
在Java语言中还定义了一些专有词汇,统称为关键字keyword,所有Java关键字都是小写,例如public、class、int等,它们都具有一种特定的含义,只能用于特定的位置,不能作为标识符使用。
TURE、FALSE、NULL、不是关键字,goto和const从不使用但是Java关键字。
Java关键字分9类:
(1)原始数据类型(也称基本数据类型):
byte﹑short﹑int﹑long﹑float﹑double﹑char﹑boolean.
(2)循环关键字:
do﹑while﹑for﹑break﹑continue.
(3)分支关键字:
if﹑else﹑switch﹑case﹑default﹑break.
(4)方法﹑变量和类修饰符:
private﹑public﹑protected﹑final﹑static﹑abstract﹑synchronized﹑volatile﹑strictfp.
(5)异常处理:
try﹑catch﹑finally﹑throw﹑throws.
(6)对象相关关键字:
new﹑extends﹑implements﹑class﹑instanceof﹑this﹑super.
(7)字面值常量:
false﹑true﹑null.
(8)方法相关关键字:
return﹑void.
(9)包相关关键字:
package﹑import.
2.1.3Java分隔符
Java分隔符包括分号”;”花括号”{}”和空格””分号作为语句结束符,花括号”{}”将一组语句括起来,形成一个语句块(block),程序中可插入任意数量的空格,包括换行.Java语句块主要用在:
定义类时类体必须用语句块
定义方法时方法体必须用语句块
定义循环语句时循环体必须用语句块
语句块可嵌套层数无限制,实现复杂程序。
2.2常量与变量
常量和变量在程序代码中随处可见,下面就具体讲解常量和变量的概念及使用要点,从而达到区别常量和变量的目的。
2.2.1常量的概念及使用要点
所谓常量,就是程序运行过程中值不改变的量。
常量有不同类型:
布尔常量﹑字符型常量﹑整数型常量﹑浮点型常量﹑和字符串常量,如:
.
布尔常量:
true﹑false代表真和假
字符型常量用单引号括起来:
'a'﹑'1'
整数型常量可采用:
八进制﹑十进制﹑十六进制表示
(1)八进制(以0开头的数字表示):
如011代表十进制的9
(2)十六进制(以0x开头的数字表示):
如0x11代表十进制的17
(3)整数型常量根据占用内存长度分一般(32位)和长整数(64位)型常量尾部用L和l表示:
如168l
(4)浮点型常量用于表示含有小数的数字常量,根据占用内存长度分单精度(F和f),双精度(D和d),由于双精度是JAVA默认设置因此可省略字母D和d
(5)字符串常量用双引号括起来:
如"hello".java.lang包有一个String类,该类所有实例都是字符串常量,如Stringcity="Beijingisabigcity";
Unicode字符(统一码,也称全球码)通常用十六进制编码表示,使用2个字节表示1个字符其范围为\u0000~\uFFFF,其中’\u’标志为Unicode编码字符,其中前255个(\u0000(a)~\u00FF(?
))字符与ASCII编码字符完全相同,如字符a的ASCII编码的二进制为01100001,Unicode字符编码的二进制为0000000001100001,都表示十进制数97,和C++一样,把字符作为整数对待.
转义字符常量,通过在字符前加反斜杠’\’实现,将’\’后的字符转换为其它含义。
如:
表2-1Java转义字符用法:
转义字符
功能
\b
退格
\f
走纸换页
\n
换行
\r
回车
\t
横向跳格
\\
反斜杠字符
\'
单引号字符
\"
双引号字符
\ddd
1到3位八进制数据所表示的字符
\udddd
1到4位十六进制数据所表示的Unicode字符
与C/C++不同,在Java中不能用#define定义常量,也不能用const定义常量,如果要声明一个常量,就必须用关键字final修饰,声明常量的具体方式如下:
final常量类型常量标识符;
例如:
finalintA=5;//整型常量
finalintYOUTH_AGE;//声明一个int型常量
finalfloatPIE;//声明一个float型常量
YOUTH_AGE=18;//初始化常量
PIE=3.14F;
注意:
按照Java命名规则,常量标识符所有的字符都要大写,各个单词之间用下划线_分隔
常量
在声明常量时,通常情况下立即为其赋值,即立即对常量进行初始化,声明并初始化常量的具体方式如下:
final常量类型常量标识符=常量值;
例如:
finalintYOUTH_AGE=18;//声明int型常量,初始化为18
finalfloatPIE=3.14F;//声明float型常量,初始化为3.14
说明:
为float型常量赋值时,需要在数值的后面加上一个字母“F”或“f”。
常量
声明多个同一类型的常量,可以采用下面的形式:
final常量类型常量1=常量值1,常量2=常量值2,……;
例如:
finalintNUM1=14,NUM2=25,NUM3=36;
注意:
如果在声明常量时已经对其进行了初始化,则常量的值不允许再被修改
2.2.2变量的概念及使用要点
所谓变量,就是值可以被改变的量。
变量用来存放数据并保存对象的状态,变量按作用域分为:
局部变量﹑类变量﹑方法参数和例外处理参数.声明变量的具体方式如下:
typename;--变量类型变量标识符;
例如:
Stringname;//声明String型变量
intpartyMemberAge;//声明int型变量
注意:
定义变量名时,按照Java的命名规则,第一个单词的首字母小写,其他单词的首字母大写,例如“partyMemberAge”。
变量
在声明变量时,可以立即为其赋值,即立即对变量进行初始化,具体语法如下:
变量类型变量标识符=变量值;
例如:
intpartyMemberAge=26;//声明一个int型变量
floatmoney=3150;//声明float类型变量
同类型变量
如果需要声明多个同一类型的变量,也可以采用下面的形式:
变量类型变量1,变量2,变量3;
变量类型变量4=变量值4,变量5=变量值5,变量6=变量值6;
例如:
intA,B,C;//声明3个int型变量用逗号隔开
intD=4,E=5,F=6;//声明3个int型变量并分别初始化
说明:
变量区别于常量,它的值允许被改变。
2.3Java的数据类型
Java语言中的数据类型划分为两大类:
分别是基本数据类型和引用数据类型。
其中基本数据类型由Java语言定义,不可以再进行划分。
基本数据类型的数据占用内存的大小固定,在内存中存入的是数值本身
引用数据类型在内存中存入的是引用数据的存放地址,并不是数据对象本身。
Java语言中的数据类型分类情况如图2-1所示:
图2-1
2.3.1基本数据类型(值类型)
基本数据类型分为4类8种:
(1)整数型(byte﹑short﹑int﹑long)
(2)浮点数型(float﹑double)
(3)字符型(char)
(4)逻辑型(布尔型boolean)
基本数据类型用来存储整数、小数、字符和布尔值,下面将依次讲解这4类8种基本数据类型的特征及使用方法。
1.逻辑型
声明为逻辑型的常量或变量用来存储逻辑值,逻辑值只有true和false,分别用来代表逻辑判断中的“真”和“假”,逻辑型利用关键字“boolean”进行声明。
例如下面的代码分别将true和false赋值给变量ba和bb。
booleanba=true;//将true赋值给变量ba
If(ba==true){
//dosomething
}
booleanbb=false;//将false赋值给变量bb
也可以将逻辑表达式赋值给boolean型变量,例如下面的代码分别将逻辑表达式“6<8”和逻辑表达式“6>8”赋值给boolean型变量ba和bb。
booleanba=6<8;//将表达式“6<8”赋值给变量ba
booleanbb=6>8;//将表达式“6>8”赋值给变量bb
2.字符型数据
Java中的字符通过Unicode字符编码,以二进制的形式存储到计算机中,计算机可通过数据类型判断要输出的是一个字符还是一个整数。
Unicode编码采用无符号编码,一共可存储65536个字符,所以Java中的字符几乎可以处理所有国家的语言文字。
声明为字符型的常量或变量用来存储单个字符,它占用内存的2个字节来存储,字符型利用关键字“char”进行声明。
在为char型常量或变量赋值时,无论值是一个英文字母,或者是一个符号,还是一个汉字,必须将所赋的值放在英文状态下的一对单引号中。
例如下面的代码分别将字母'M'、符号'*'和汉字'男'赋值给char型变量ca、cb和cc。
charca='M';//将大写字母“M”赋值给char型变量
charcb='*';//将符号“*”赋值给char型变量
charcc='男';//将汉字“男”赋值给char型变量
Intone=1;
chartwo='2';
charthree=(char)(one+two);//先将two转为int型计算再通过(char)将int型转为字符型three='3'
【例2.1p.14】Example2_1.java
publicclassExample2_1
{publicstaticvoidmain(Stringargs[])
{charchinaWord='你',japanWord='ぁ',two='2',three;
intp1=36328,p2=38358,one=1;
three=(char)(one+two);
System.out.println("three="+three);
System.out.println("\'three\'在unicode表中的顺序位置:
"+(int)three);//将字符three强制转换为整型代表unicode表中的顺序位置
System.out.println("汉字\'你\'在unicode表中的顺序位置:
"+(int)chinaWord);
System.out.println("日语\'ぁ\'在unicode表中的顺序位置:
"+(int)japanWord);
System.out.println("unicode表中第36328位置上的字符是:
"+(char)p1);//将unicode表中的顺序位置强制转换为代表的字符
System.out.println("unicode表中第38358位置上的字符是:
"+(char)p2);
}
}
3.整数型
(1)整数型常量(十进制整数如123﹑八进制整数以0开头,017代表15﹑十六进制整数以0x开头,0x2E代表十进制整数46(02e),0x123代表十进制整数291。
(0123)
(2)整数型变量有四种用来存储整数:
1.字节型(byte)-用关键字byte定义的整数型变量,内存分配1个字节,占8位(bit),声明格式为:
bytex;bytetwo=2;bytea,b,c=-127
2.短整型(short)-用关键字short定义的整数型变量,内存分配2个字节,占16位,声明格式为:
shortx;shorta,b,c=3276
3.整型(int)--用关键字int定义的整数型变量,内存分配4个字节,占32位,声明格式为:
intx;inttwo=99999;
4.长整型(long)-用关键字long定义的整数型变量,内存分配8个字节,占64位,声明格式为:
longx;longtwo=99;
这4个数据类型的区别是它们在内存中所占用的字节数不同,因此,它们所能够存储的整数的取值范围也不同。
数据类型
关键字
内存字节
取值范围
字节型
byte
1个字节(8位)
-128~127(-27~(27-1))
短整型
short
2个字节(16位)
-32768~32767(-215~(215-1))
整型
int
4个字节(32位)
-2147483648~2147483647(-231~(231-1))
长整型
long
8个字节(64位)
-9223372036854775808
~
9223372036854775807(-263~(263-1))
长整型数值
在为long型常量或变量赋值时,需要在所赋值的后面加上一个字母“L”(或“l”),说明所赋的值为long型。
如果所赋的值未超出int型的取值范围,也可以省略字母“L”(或“l”)。
例如下面的代码均是正确的。
longla=9876543234L;//超出了int取值范围,必须加“L”
longlb=98765432L;//未超出int取值范围,也可以加“L”
longlc=98765432;//未超出int取值范围,可以省略“L”
4浮点数(实型)
声明为浮点型的常量或变量用来存储小数,浮点数包括单精度型(float)和双精度(double)两个基本数据类型,这两个数据类型的区别是它们在内存中所占用的字节数不同,因此,它们所能够存储的十进制整数和小数的取值范围也不同
数据类型
关键字
占用内存字节数
取值范围
单精度型
float
4字节(32位)
-3.403E38~3.4028235E38
3.403×1038次方~3.403×1038次方)
双精度型
double
8字节(64位)
-1.798E308~1.7976931348623157E308
-1.798×10308次方~1.798×10308次方
1.Java浮点型常量有2种形式
(1)十进制数形式-含小数点,如:
3.14﹑314.0﹑.314
(2)科学记数法:
3.14e2﹑3.14E2﹑314E2
Java浮点型常量默认为double型,因此用float型需声明,如:
doubled=3.14;floatf=3.14f
2.Java浮点型变量
(1)float型定义如下:
floatx;floatscore;floata=1.2f
(2)double型定义如下:
doublex;doublescore;doublea=1234567.89
1.float型数值
在为float型常量或变量赋值时,需要在所赋值的后面加上一个字母“F”(或“f”),说明所赋的值为float型。
如果所赋的值为整数,并且未超出int型的取值范围,也可以省略字母“F”(或“f”)。
例如下面的代码均是正确的。
floatfa=9412.75F;//赋值为小数,必须“F”
floatfb=9876543210F;//赋值超出int取值范围,必须“F”
floatfc=9412F;//未超出int取值范围,可以“F”
floatfd=9412;//也可以省略“F”
2.double型数值
在为double型常量或变量赋值时,需要在所赋值的后面加上一个字母“D”(或“d”),说明所赋的值为double型。
如果所赋的值为小数,或者所赋的值为整数,并且未超出int型的取值范围,也可以省略字母“D”(或“d”)。
例如下面的代码均是正确的。
doubleda=9412.75D;//所赋值为小数,可以加上“D”
doubledb=9412.75;//所赋值为小数,也可以省略“D”
doubledc=9412D;//未超出int取值范围,可以加上“D”
doubledd=9412;//未超出int取值范围,可以省略“D”
doublede=9876543210D;//超出int取值范围,必须加上“D
【例2-1】DataType.java--基本数据类型的用法:
publicclassDataType{//声明一个数据类DataType
publicstaticvoidmain(Stringargs[]){
booleanb=true;//声明boolean型变量并赋值
intx,y=99;//声明(整型)int型变量
floatf=12.34f;//声明float型变量并赋值
doubled=3.1415;//声明double型变量并赋值
charc;//声明(字符型)char型变量
c='\u0031';//为char型Unicode变量赋值(1到4位十六进制数据所表示的Unicode字符)
x=999;//为int型变量赋值
y=15;//为int型变量赋值
System.out.println("b="+b);//输出个数据类型值b=true
System.out.println("x="+x);//x=999
System.out.println("y="+y);//y=99
System.out.println("f="+f);//f=12.34
System.out.println("d="+d);//d=3.1415
System.out.println("c="+c);//c=1
}
}
执行结果:
2.3.5引用数据类型
Java语言中除8种基本数据类型以外的数据类型被称为引用数据类型,也称复合数据类型。
包括类引用、接口引用以及数组引用,在程序中声明的引用类型变量只是为该对象起一个名字,或者说是对该对象的引用,变量值是对象在内存空间的存储地址而不是对象本身,因此称为引用类型.。
下面的代码分别声明一个java.lang.Object类的引用、java.util.List接口的引用和一个int型数组的引用。
Objectobject=null;//声明一个Object类的引用变量
Listlist=null;//声明一个List接口的引用变量
int[]months=null;//声明一个int型数组的引用变量
说明:
将引用数据类型的常量或变量初始化为null时,表示引用数据类型的常量或变量不引用任何对象。
数组属引用数据类型,是对象(object),数组中的每个元素相当于该对象的成员变量.数组中的元素可以是任何数据类型,包括基本数据类型和引用数据类型.
有两种方式可以创建数组,一种是通过new关键字(动态初始化)创建,另一种是通过“{}”(静态初始化)创建,例如:
int[]months=newint[12];//new关键字(动态初始化)创建数组months,其长度为12
boolean[]members={false,true,true,false};//(静态初始化)创建数组members,其长度为4
1.一维数组声明:
数据类型数组(变量)名[];(typevar[];)或数据类型[]数组名;(type[]var;)
如:
inta[];int[]a1;doubleb[];Mydate[]c;
Java语言中声明数组时不能指定长度(元素个数),如inta[5];是非法的,必须用new配置该数组内存空间,再指定数组元素个数.
【例2-2】Testarray.java–数组的使用
publicclassTestarray{
publicstaticvoidmain(Stringargs[]){
int[]s;//声明整形数组,数组名为s
s=newint[10];//创建数组对象(为整形数组s分配内存空间,并指定10个元素大小的数组.)
for(inti=0;i<6;i++){//通过for循环存取数组数据
s[i]=3*i+2;//数组元素下标index从0开始,长度取值范围为0~n-1(存)
System.out.println("s["+i+"]="+s[i]);//(用数组名和索引下标取数据)
}
System.out.println(s.length);//输出数组s长度。
length属性指明数组长度即数组元素个数为10
}
}
执行结果:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 语法 基础