第2章Java基础_第1页
第2章Java基础_第2页
第2章Java基础_第3页
第2章Java基础_第4页
第2章Java基础_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

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

文档简介

1、 第二章第二章学习目标学习目标主要讲述java编程语言的基本语法知识,如java 中的关键字、简单数据类型,复合数据类型、运算符的使用。通过本讲的学习,同学们可以编写简单的java程序。1 深刻理解各知识点的概念,并熟记java 的语法规范。2 熟练使用各种数据类型的定义,表示和引用。难重点2.1 标识符和关键字标识符和关键字2.2 数据类型与常量、变量数据类型与常量、变量2.3 运算符和表达式运算符和表达式2.1 标识符和关键字标识符和关键字 Java语言采用语言采用Unicode字符集,采用字符集,采用16位位编码,前编码,前256个字符与个字符与ASCII相同。相同。标识符u标识符是用来

2、标识变量、常量、方法、类、对象标识符是用来标识变量、常量、方法、类、对象等元素的有效字符序列。等元素的有效字符序列。uJava 的标识符由字母、数字、的标识符由字母、数字、_和和$组成,长度组成,长度不限,但实际命名不宜过长。不限,但实际命名不宜过长。u标识符的第一个字符必须为字母、标识符的第一个字符必须为字母、 “_”或或 “$” 。标识符区分大小写。标识符区分大小写。合法的标识符:合法的标识符: name, s_no, $2, boy_number不合法的标识符:不合法的标识符: 2y,a*b,w/u为了提高程序的可读性,标识符最好为了提高程序的可读性,标识符最好“见名见名知义知义”,而且

3、规范大小写的使用方式:,而且规范大小写的使用方式:u变量名、对象名、方法名、包名等标识符变量名、对象名、方法名、包名等标识符全部采用小写字母;如果标识符由多个单全部采用小写字母;如果标识符由多个单词构成,则首字母小写,其后单词的首字词构成,则首字母小写,其后单词的首字母大写,其余字母小写。母大写,其余字母小写。如如getAge。u类名首字母大写。类名首字母大写。u常量名全部字母大写。常量名全部字母大写。关键字 关键字是由关键字是由Java语言定义的、具有语言定义的、具有特殊含义的字符序列。用户只能按照系特殊含义的字符序列。用户只能按照系统规定的方式使用,不能自行定义。统规定的方式使用,不能自行

4、定义。 关键字一律用小写字母表示。关键字一律用小写字母表示。2.2 数据类型与常量、变量数据类型与常量、变量 Java的数据类型分为2大类:基本数据类型和引用数据类型。 基本数据类型是由一种简单数据组成的数据类型,其数据是不可分解的。例如,整数类型int的数据有34,17等,可以进行整除运算34/17。 基本数据类型已由Java预定义,类型名是关键字,如int,float,char和boolean等。 基本数据的变量中保存数据值,而引用数据类型的变量保存地址。Java的引用数据类型包括数组(array)、类(class)和接口(interface) 。Java数据类型数据类型基本类型基本类型整

5、型整型浮点型浮点型字符型字符型布尔型布尔型引用类型引用类型数组数组接口接口类类Java基本数据类型l整数类型整数类型 整数类型数据值有负整数、零和正整数。整数类型又细分为4种子类型。不同整数类型的差别在于占用的内存空间和数据取值范围的不同。 数据类型所占字节取值范围long(长整型)8-92233720368547758089223372036854775807int(整型)4-21474836482147483647short(短整型)2-3276832767byte(位)1-128127 一个整数的缺省类型为int。要表示一个整数为long型,在其后加后缀L或l,如345L。 Java还提

6、供了3种进制的整数表示形式:u十进制数。用09之间的数字表示的数,其首位不能为0。u八进制数。用07之间的数字表示的数,以0为前缀。u十六进制数。用09之间的数字或af,AF之间的字母表示的数,以0 x或0X为前缀。l浮点数类型浮点数类型 浮点数类型有2种表示形式:u标准记数法:由整数部分、小数点和小数部分组成,如12.37u科学记数法:由尾数、E或e及阶码组成,也称为指数形式,如2.5E4表示2.5104 有2种浮点数类型:float(单精度浮点数)和double(双精度浮点数)。浮点数类型所占字节取值范围float(单精度浮点数)4-3.4E383.4E38double(双精度浮点数)8-

7、1.7E3081.7E308取值范围及所占用的内存大小一个浮点数缺省类型为double。要表示一个浮点数为float型,在其后加后缀F或f,如34.5f。 l字符类型字符类型 字符类型(char)表示Unicode字符,1个字符占16位。 字符类型数据表示方法:u用单引号括起来的单个字符u用Unicode码表示,前缀是“u”uUnicide字符集中的控制字符需要通过转义字符表示。转义字符功能Unicode码b退格u0008t水平制表u0009n换行u000af换页u000cr回车u000du由多个字符组成的字符序列称为字符串,字符串用双引号括起来。如green 就是一个字符串。l布尔类型 布尔

8、类型(boolean)只有true(真)和false(假)2个值。布尔类型值占1个字节。数据类型所占字节表示范围long(长整形)8-9223372036854775808 9223372036854775807int(整型)4-2147483648 2147483647short(短整型)2-3276832767byte(位)1-128127char(字符)10256boolean(布尔)1true 或 falsefloat(单精度)4-3.4E38 3.4E38double(双精度)8-1.7E308 1.7E308Java基本类型表常量常量 常量是指在程序运行过程中其值始终保持不变的量。

9、Java中的常量有整型、浮点数型、字符型、布尔型和字符串型。如26,47.3,a,true,“student ”分别是整数型、浮点数型、字符型、布尔型和字符串型常量,常量的这种表示方式称为直接常量。 可以用标识符表示常量,称为符号常量。 符号常量必须先声明,后使用。符号常量的声明方式如下: final 修饰符 类型标识符 常量名=(直接)常量; 修饰符是表示该常量使用范围的权限修饰符:public,private,protected或缺省。 如:final float PI=3.14159; final char SEX=M; final int MAX=100;声明符号常量的优点如下:声明符

10、号常量的优点如下:u增加了程序的可读性,从常量名可知常量的含义。u增强了程序的可维护性,只要在常量的声明处修改常量的值,就自动修改了程序中所有地方所使用的常量值。变量变量 变量是指在程序运行过程中其值可以改变的量。变量必须先定义后使用。其格式为: 修饰符 类型标识符 变量名=常量;n类型标识符可以是任意的基本数据类型或引用数据类型。n变量名必须符合标识符的规定,并习惯采用小写字母。如果变量名由多个单词构成,则首字母小写,其后单词的首字母大写,其余字母小写。取名时最好符合“见名知意”的原则。例如:int age;n如果声明中包含“=常量”部分,系统将此常量的值赋予变量,作为变量的初始值。n可以同

11、时声明同一数据类型的多个变量,各变量之间用逗号分隔。 以下是合法的变量声明:float x=25.4, y;char c;boolean flag1=true, flag2;int l, m;其中,变量x和flag1被赋予初始值,其它变量没有初始化。例:例:使用整数型变量public class Integers public static void main(String args) int a=015; /八进制数 int b=20; /十进制数 int c=0 x25; /十六进制数 short x=30; long y=123456L; System.out.println(a=+a)

12、; /输出a的值 System.out.println(b=+b); System.out.println(c=+c); System.out.println(x=+x); System.out.println(y=+y); 程序运行结果如下:a=13 b=20 c=37x=30 y=123456例:使用单精度和双精度类型变量public class Floats public static void main(String args) float a=35.45f; double b=3.56e18; System.out.println(a=+a); System.out.println(

13、b=+b); 程序运行结果如下:a=35.45b=3.56E18例:例:使用字符类型变量 public class Characters public static void main(String args) char ch1=a; char ch2=B System.out.println(ch1=+ch1); System.out.println(ch2=+ch2); 程序运行结果如下:ch1=a ch4=B例:使用字符串类型数据public class Samp2_5 public static void main(String args) String str1=abc; Strin

14、g str2=n; String str3= 123; System.out.println(str1=+str1+str2+str3=+str3); 程序运行结果如下:str1=abc str3=123例:例:使用逻辑类型变量public class Logic public static void main(String args) boolean instance1=true; boolean instance2=false; System.out.println(“逻辑状态1=”+instance1+” “+ ”逻辑状态2=+instance2); 程序运行结果如下:逻辑状态1=tru

15、e 逻辑状态2=false 2.3 运算符和表达式运算符和表达式1 运算符运算符 对数据进行加工和处理称为运算,表示各种运算的符号称为运算符,参与运算的数据称为操作数。 根据操作数的个数,可以将运算符分为单目、双目和多目运算符。单目运算符只对1个操作数运算,双目运算符对2个操作数运算。 根据操作数和运算结果,运算符分为:算术运算符、关系运算符、逻辑运算符、位运算符。算术运算符 算术运算符完成数学上的加、减、乘、除四则运算。算术运算符包括双目运算符和单目运算符。 双目算术运算符包括+(加)、-(减)、*(乘)、/(除)和%(取余)。 例如:23+5 /结果是286*5 /结果是3027/3 /结

16、果是945/4 /结果是119%3 /结果是09%4 /结果是1wangend 单目算术运算符包括+(自增)、-(自减)、-(负号)。“+”和“-”只能用于整数类型的变量,而不能用于常量或表达式。“+”和“-”既可以出现在变量的左边,也可以出现在变量的右边。例如:int j=5;j+; /结果,j等于6+j; /结果,j等于7-j; /结果,j等于6j-; /结果,j等于5 关系运算符 关系运算是2个操作数之间的比较运算。关系运算符有:、=、a b如果a b成立,结果为true;否则,结果为false=a= b如果a b成立,结果为true;否则,结果为false a b如果a b成立,结果为

17、true;否则,结果为false=a 10.4 /结果是true45!=45 /结果是false76 /结果是falsetrue!=false /结果是trueTa /结果是trueu20) & (age30) /判断age的值是否在2030之间( ch= =b) | (ch= =B) /判断ch的值是否为字母b 或B, 位运算符位运算是对整数类型的操作数按二进制的位进行运算,所运算结果仍然是整数类型值。位运算符有:(位反)、&(位与)、|(位或)、(位异或)、(右移位)、(无符号右移位)。abaa&ba|bab001000011011100011110110位运算真值表 运算符用例功能a将a

18、逐位取反&a&ba、b逐位进行与操作|a|ba、b逐位进行或操作aba、b逐位进行异或操作aaba向右移动b位aba向右移动b位,移动后的空位用0填充位运算符 例如:x=132,y=204;计算x和xy的值(1)将整数转换为二进制数。 x=10000100,y=11001100(2)对x按位进行取反操作。 00000000 00000000 00000000 10000100= 11111111 11111111 11111111 01111011 (3)对x,y按位进行异或操作 10000100 11001100 01001000(4)所得结果:x=-133,xy=72。赋值运算符 赋值运算

19、用于给变量赋值,形式如下: 变量名=表达式; 赋值运算的次序是从右向左的,即先计算表达式的值,再将表达式的值赋予变量。 例如: int i=3, j; /i的初始值是3 j=i+2; /结果,j的值是5 i=2*j; /结果,i的值是10 j=j+4; /结果,j的值是9 赋值运算符还可以与算术运算符、逻辑运算符和位运算符组合成复合赋值运算符,使用方法见表。运算符用例等价于运算符涌例等价于+=x += yx=x+y&=x &= yx=x&y-=x-= yx=x-y|=x |= yx=x|y*=x*= yx=x*y=x = yx=xy/=x /= yx=x/y=x = yx=x=x = yx=x

20、y=x = yx=xy 例如:i*=10; 等价于i=i*10;条件运算符 条件运算格式如下: 表达式1 ?表达式2 :表达式3 “?:”称为条件运算符,它是三目运算符。 如果“表达式1”的值是true, “表达式2”的值是最终表达式的值;如果“表达式1”的值是false,“表达式3”的值是最终表达式的值。 例如: int min , x=4, y=20; min=(xy)? x : y; /结果使min取x和y中的较小值,即min的值是4括号运算符 圆括号运算符“()”用于改变表达式中运算符的运算次序。先进行括号内的运算,再进行括号外的运算;在有多层括号的情况下,优先进行最内层括号内的运算,

21、再依次从内向外逐层运算。 2 表达式 表达式是用运算符将操作数连接起来的符合语法规则的运算式。 例如:int i=5, j=10, k;k=(24+3*i)*j; 运算符的优先级运算符描述优先级结合性. ( ) 域,数组,括号1从左至右+ - - ! 一元运算符2从右至左* / %乘,除,取余3从左至右+ - 加,减4从左至右 位运算5从左至右 =逻辑运算6从左至右= !=逻辑运算7从左至右&按位与8从左至右按位异或9从左至右 续前表运算符描述优先级结合性|按位或10从左至右&逻辑与11从右至左|逻辑或12从左至右? :条件运算13从左至右 = *= /= %= += = = = &= = |

22、= 位运算14从左至右表达式的数据类型 表达式的数据类型由运算结果的数据类型决定。 例如: int i=3, j=21, k; boolean f; k=(i+3)*4; /(i+3)*4是算术表达式 f=(i*2)j; /(i*2)j是布尔表达式 例 单目操作符实例public class OOperator public static void main(String args) int i=15, j1, j2, j2, j4; j1=i+; /在操作数的右面 System.out.println(i+=+j1); j2=+i; /在操作数的左面 System.out.println(+i=+j2); j3=-i; System.out.println(-i=+j3); j4=i-; System.out.println(“i-=+j

温馨提示

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

评论

0/150

提交评论