第2章Java语法基础.doc_第1页
第2章Java语法基础.doc_第2页
第2章Java语法基础.doc_第3页
第2章Java语法基础.doc_第4页
第2章Java语法基础.doc_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

第 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非法标识符如: 2 dog 、 mail #、system 、public、 a-b 、Hello World 92.1system 、public是Java关键字对于包名,每个单词的每个字母都要小写,例如com.frame。对于常量名,每个单词的每个字母都要大写,如果由多个单词组成,通常情况下单词之间用下划线(_)分隔,例如:MAX_VALUE。2.1.2 Java关键字在Java语言中还定义了一些专有词汇,统称为关键字keyword,所有Java关键字都是小写,例如public、class、int等,它们都具有一种特定的含义,只能用于特定的位置,不能作为标识符使用。TURE 、FALSE 、NULL 、不是关键字,goto和const从不使用但是Java关键字。Java关键字分9类:(1)原始数据类型(也称基本数据类型):byteshortintlongfloatdoublecharboolean.(2) 循环关键字: dowhileforbreakcontinue.(3) 分支关键字:ifelseswitchcasedefaultbreak.(4) 方法变量和类修饰符:privatepublicprotectedfinalstaticabstractsynchronizedvolatilestrictfp.(5) 异常处理:trycatchfinallythrowthrows.(6) 对象相关关键字:newextendsimplementsclassinstanceofthissuper.(7) 字面值常量:falsetruenull.(8) 方法相关关键字:returnvoid.(9) 包相关关键字:packageimport.2.1.3 Java分隔符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类,该类所有实例都是字符串常量,如 String city= Beijing is a big city;Unicode字符(统一码,也称全球码)通常用十六进制编码表示,使用2个字节表示1个字符其范围为u0000uFFFF,其中u标志为Unicode编码字符,其中前255个(u0000(a)u00FF (?)字符与ASCII编码字符完全相同,如字符a的ASCII编码的二进制为01100001,Unicode字符编码的二进制为00000000 01100001,都表示十进制数97,和C+一样,把字符作为整数对待.转义字符常量,通过在字符前加反斜杠实现,将后的字符转换为其它含义。如:表2-1 Java转义字符用法:转义字符功 能b退格f走纸换页n换行r回车t横向跳格反斜杠字符 单引号字符双引号字符ddd1到3位八进制数据所表示的字符udddd1到4位十六进制数据所表示的Unicode字符与C/C+不同,在Java中不能用#define定义常量,也不能用const定义常量,如果要声明一个常量,就必须用关键字final修饰,声明常量的具体方式如下:final 常量类型 常量标识符;例如: final int A=5; /整型常量final int YOUTH_AGE; / 声明一个int型常量final float PIE; / 声明一个float型常量YOUTH_AGE = 18; /初始化常量PIE = 3.14F;注意:按照Java命名规则,常量标识符所有的字符都要大写,各个单词之间用下划线 _ 分隔常量在声明常量时,通常情况下立即为其赋值,即立即对常量进行初始化,声明并初始化常量的具体方式如下:final 常量类型 常量标识符 = 常量值;例如:final int YOUTH_AGE = 18; / 声明int型常量,初始化为18final float PIE = 3.14F; / 声明float型常量,初始化为3.14说明:为float型常量赋值时,需要在数值的后面加上一个字母“F”或“f” 。 常量声明多个同一类型的常量,可以采用下面的形式:final 常量类型 常量1= 常量值1, 常量2= 常量值2, ;例如:final int NUM1 = 14, NUM2 = 25, NUM3 = 36;注意:如果在声明常量时已经对其进行了初始化,则常量的值不允许再被修改 2.2.2 变量的概念及使用要点所谓变量,就是值可以被改变的量。变量用来存放数据并保存对象的状态,变量按作用域分为:局部变量类变量方法参数和例外处理参数.声明变量的具体方式如下:type name; - 变量类型 变量标识符;例如:String name;/ 声明String型变量int partyMemberAge ;/ 声明int型变量注意:定义变量名时,按照Java的命名规则,第一个单词的首字母小写,其他单词的首字母大写,例如 “partyMemberAge”。 变量在声明变量时,可以立即为其赋值,即立即对变量进行初始化,具体语法如下:变量类型 变量标识符 = 变量值;例如:int partyMemberAge = 26;/ 声明一个int型变量float money = 3150;/ 声明float类型变量同类型变量如果需要声明多个同一类型的变量,也可以采用下面的形式:变量类型 变量1, 变量2, 变量3; 变量类型 变量4= 变量值4, 变量5= 变量值5, 变量6= 变量值6;例如:int A, B, C; / 声明3个int型变量用逗号隔开int D = 4, E = 5, F = 6; / 声明3个int型变量并分别初始化说明:变量区别于常量,它的值允许被改变。 2.3 Java的数据类型 Java语言中的数据类型划分为两大类:分别是基本数据类型和引用数据类型。其中基本数据类型由Java语言定义,不可以再进行划分。基本数据类型的数据占用内存的大小固定,在内存中存入的是数值本身引用数据类型在内存中存入的是引用数据的存放地址,并不是数据对象本身。Java语言中的数据类型分类情况如图2-1所示: 图2-12.3.1 基本数据类型 (值类型)基本数据类型分为4类8种:(1)整数型(byteshortintlong)(2)浮点数型(floatdouble)(3)字符型 (char)(4)逻辑型(布尔型boolean)基本数据类型用来存储整数、小数、字符和布尔值,下面将依次讲解这4类8种基本数据类型的特征及使用方法。 1逻辑型声明为逻辑型的常量或变量用来存储逻辑值,逻辑值只有true和false,分别用来代表逻辑判断中的“真”和“假”,逻辑型利用关键字“boolean”进行声明。例如下面的代码分别将true和false赋值给变量ba和bb。boolean ba = true;/ 将true赋值给变量baIf (ba=true) /do somethingboolean bb = false;/ 将false赋值给变量bb也可以将逻辑表达式赋值给boolean型变量,例如下面的代码分别将逻辑表达式“6 8”赋值给boolean型变量ba和bb。boolean ba = 6 8;/ 将表达式“6 8;/ 将表达式“6 8”赋值给变量bb2. 字符型数据Java中的字符通过Unicode字符编码,以二进制的形式存储到计算机中,计算机可通过数据类型判断要输出的是一个字符还是一个整数。Unicode编码采用无符号编码,一共可存储65536个字符,所以Java中的字符几乎可以处理所有国家的语言文字。声明为字符型的常量或变量用来存储单个字符,它占用内存的2个字节来存储,字符型利用关键字“char”进行声明。在为char型常量或变量赋值时,无论值是一个英文字母,或者是一个符号,还是一个汉字,必须将所赋的值放在英文状态下的一对单引号中。例如下面的代码分别将字母M、符号*和汉字男 赋值给char型变量ca、cb和cc。char ca = M;/ 将大写字母“M”赋值给char型变量char cb = *;/ 将符号“*”赋值给char型变量char cc = 男;/ 将汉字“男”赋值给char型变量Int one=1;char two=2;char three=(char) (one+two); /先将two转为int型计算再通过(char)将int型转为字符型three=3【例2.1 p.14】Example2_1.javapublic class Example2_1 public static void main (String args ) char chinaWord=你,japanWord=, two=2,three; int p1=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),声明格式为:byte x; byte two=2; byte a , b, c =-1272. 短整型(short)-用关键字short定义的整数型变量,内存分配2个字节,占16位,声明格式为: short x; short a, b, c=32763. 整型(int)-用关键字int定义的整数型变量,内存分配4个字节,占32位,声明格式为: int x; int two=99999;4. 长整型(long)-用关键字long定义的整数型变量,内存分配8个字节,占64位,声明格式为: long x ; long two=99;这4个数据类型的区别是它们在内存中所占用的字节数不同,因此,它们所能够存储的整数的取值范围也不同。数据类型关键字内存字节取值范围字节型byte1个字节(8位)-128127(-27(27-1)短整型short2个字节(16位)-3276832767(-215(215-1)整型int4个字节(32位)-21474836482147483647(-231(231-1)长整型long8个字节(64位)-92233720368547758089223372036854775807(-263(263-1)长整型数值 在为long型常量或变量赋值时,需要在所赋值的后面加上一个字母“L”(或“l”),说明所赋的值为long型。如果所赋的值未超出int型的取值范围,也可以省略字母“L”(或“l”)。例如下面的代码均是正确的。long la = 9876543234L;/ 超出了int取值范围,必须加“L”long lb = 98765432L; / 未超出int取值范围,也可以加“L”long lc = 98765432; / 未超出int取值范围,可以省略“L”4 浮点数(实型)声明为浮点型的常量或变量用来存储小数,浮点数包括单精度型(float)和双精度(double)两个基本数据类型,这两个数据类型的区别是它们在内存中所占用的字节数不同,因此,它们所能够存储的十进制整数和小数的取值范围也不同数据类型关键字占用内存字节数取值范围单精度型float4字节(32位)-3.403E383.4028235E38 3.4031038次方 3.4031038次方)双精度型double8字节(64位)-1.798E3081.7976931348623157E308-1.79810308次方 1.79810308次方1Java 浮点型常量有2种形式(1)十进制数形式-含小数点,如: 3.14314.0 .314(2)科学记数法: 3.14e23.14E2314E2Java浮点型常量默认为double型,因此用float型需声明,如:double d = 3.14 ; float f = 3.14f2Java浮点型变量(1)float型定义如下:float x; float score; float a = 1.2f(2) double型定义如下:double x; double score; double a =1234567.891. float型数值在为float型常量或变量赋值时,需要在所赋值的后面加上一个字母“F”(或“f”),说明所赋的值为float型。如果所赋的值为整数,并且未超出int型的取值范围,也可以省略字母“F”(或“f”)。例如下面的代码均是正确的。float fa = 9412.75F;/ 赋值为小数,必须 “F”float fb = 9876543210F;/ 赋值超出int取值范围,必须 “F”float fc = 9412F;/ 未超出int取值范围,可以 “F”float fd = 9412;/ 也可以省略“F”2. double型数值在为double型常量或变量赋值时,需要在所赋值的后面加上一个字母“D”(或“d”),说明所赋的值为double型。如果所赋的值为小数,或者所赋的值为整数,并且未超出int型的取值范围,也可以省略字母“D”(或“d”)。例如下面的代码均是正确的。double da = 9412.75D; / 所赋值为小数,可以加上 “D”double db = 9412.75;/ 所赋值为小数,也可以省略 “D”double dc = 9412D;/ 未超出int取值范围,可以加上 “D”double dd = 9412;/ 未超出int取值范围,可以省略“D”double de = 9876543210D;/ 超出int取值范围,必须加上 “D【例2-1】DataType.java-基本数据类型的用法: public class DataType /声明一个数据类DataTypepublic static void main (String args ) boolean b = true; /声明boolean型变量并赋值 int x, y=99; / 声明(整型)int型变量 float f = 12.34f; / 声明float型变量并赋值 double d = 3.1415; /声明double型变量并赋值 char c; /声明(字符型)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=999System.out.println(y= + y); / y=99System.out.println(f= + f); / f= 12.34System.out.println(d= + d); / d=3.1415System.out.println(c= + c); / c=1执行结果:2.3.5 引用数据类型Java语言中除8种基本数据类型以外的数据类型被称为引用数据类型,也称复合数据类型。包括类引用、接口引用以及数组引用,在程序中声明的引用类型变量只是为该对象起一个名字,或者说是对该对象的引用,变量值是对象在内存空间的存储地址而不是对象本身,因此称为引用类型.。下面的代码分别声明一个java.lang.Object类的引用、java.util.List接口的引用和一个int型数组的引用。Object object = null;/ 声明一个Object类的引用变量List list = null;/ 声明一个List接口的引用变量int months = null;/ 声明一个int型数组的引用变量说明:将引用数据类型的常量或变量初始化为null时,表示引用数据类型的常量或变量不引用任何对象。数组属引用数据类型,是对象(object), 数组中的每个元素相当于该对象的成员变量. 数组中的元素可以是任何数据类型,包括基本数据类型和引用数据类型.有两种方式可以创建数组,一种是通过new关键字(动态初始化)创建,另一种是通过“ ”(静态初始化)创建,例如: int months = new int12; /new关键字(动态初始化)创建数组months,其长度为12boolean members = false, true, true, false ;/(静态初始化)创建数组members,其长度为4 1.一维数组声明:数据类型 数组(变量)名 ; ( type var ; ) 或 数据类型 数组名; ( type var; )如: int a; int a1; double b; Mydate c; Java语言中声明数组时不能指定长度(元素个数),如int a5; 是非法的,必须用new配置该数组内存空间,再指定数组元素个数. 【例2-2】 Testarray.java 数组的使用public class Testarray public static void main(String args) int s; /声明整形数组, 数组名为s s = new int10; /创建数组对象(为整形数组s分配内存空间,并指定10个元素大小的数组. )for ( int i=0; i3) ? 5 : 7; / 43成立,取5b = (43) ? 5 : 7; / 4=!= , 逻辑运算符:&|三元运算符也使用中缀记号op1 ? op2 : op3 /中缀记号,如a = (43) ? 5 : 7; / 43成立,取5操作除执行操作外,还返回一个数值.返回值类型依赖运算符和运算对象数据类型,如算术运算返回其算术运算结果的数据类型.按运算功能分运算符分为下列几类: (1)算术运算符:+(加); -(减); *(乘); /(除); %(取余); +(加1); -(减1).-只适用Java基本数据类型的数值型(byte,short,char,int,long,float,double). 与其它语言不同,取余运算符的操作数可以是浮点数,如10.6%3 为1.6. 10%3.5为3.0(2)关系运算符:(大于); =(大于等于); (右移运算符);(无符号右移运算符); (按位取反); &(按位与); (按位异或); | (按位或)(5) 赋值运算符: =.(6) 扩展赋值运算符: +=; *=; /=; 等.(7) 条件运算符: ?: .(8) 其它运算符: ., (分量运算符); (下标运算符); instanceof (实例运算符), new (内存分配运算符); (类型) (强制类型转换运算符); (.) (方法调用运算符)等.1. 算术运算符算术运算符支持整数型数据和浮点数型数据的运算,当整数型数据与浮点数型数据之间进行算术运算时,Java会自动完成数据类型的转换,并且计算结果为浮点数型。注意:+可作为连接字符串运算符运 算 符功 能举 例运 算 结 果结 果 类 型+加法运算op1+op2 10 + 7.517.5double-减法运算op1-op2 10 7.5F2.5Ffloat*乘法运算op1*op2 3 * 721int/除法运算op1/op2 21 / 3L7Llong%求余(取模)运算op1%op2 10 % 31int【例2-6】 TestArithmetic.java -算术运算符应用public class TestArithmetic public static void main(String args) int i = 33; /定义变量 int j = 47; String a=“blue”; String b=“sky”; double x =16.475; double y =9.22;System.out.println(“变量数值.”);System.out.println(“ i = ” + i); / 结果: 33System.out.println(“ j = ” + j); / 结果: 47System.out.println(“ x = ” + x); /结果: 16.475System.out.println(“ y = ” + y); /结果: 9.22 /加System.out.println(“加.”); / 结果:加System.out.println(“ i + j = ” + (i + j); /结果: 80System.out.println(“ x + y = ” + (x + y); /结果: 25.695System.out.println(“ a + b = ” + (a + b); /结果: bluesky/减System.out.println(“减.”); /结果:减System.out.println( i - j = + (i - j); /结果:-14 System.out.println( x - y = + (x - y); /结果:7.255000000000001/乘System.out.println(“乘.”); / 结果:乘System.out.println(“ i * j = ” + (i * j); /结果: i * j = 1551System.out.println(“ x * y = ” + (x * y); /结果: x

温馨提示

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

评论

0/150

提交评论