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

下载本文档

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

文档简介

第二章Java语言基础朱海波1主要内容:

标识符与保留字变量和常量基本数据类型运算符与表达式基本数据类型数组2第一节标识符与保留字一、标识符二、保留字三、分隔符3一、标识符(Identifier)定义:所谓标识符就是指用来标识Java中的包、类、方法、变量、常量等的名称。就像我们要为每个新出生的婴儿取一个名字,我们同样要为Java的每个元素指定一个名称,以便编译器可以唯一识别它们。规则:(1)标识符由字母(a~z,A~Z)、数字、下划线_和美元符号$组成;(2)首字母不能使用数字;(3)标识符不能是保留字,例如class;(4)大小写字母表示不同的意义,即代表不同的标识符。思考:判定下面标识符的有效性?

myMethod;_demo;yu$12;8value;lee#;ONE-HUNDRED;class4二、保留字(ReservedWord)定义:保留字也称关键字(Keyword),就是已经被Java语言本身使用,不能作其他用途使用的符号串。 保留字具有固定的语法含义,全部由小写英文字母组成。Java语言的保留字包括:1、原始数据类型:byte、short、int、long、float、double、char、boolean2、循环保留字:

do、while、for、break、continue3、分支保留字:

if、else、switch、case、default、break5二、保留字4、方法、变量和类修饰符:

private、public、protected、final、static、abstract、synchronized、volatile5、异常处理:try、catch、finally、throw、throws6、对象相关保留字:

new、extends、implements、class、instanceof、this、super7、字面值常量:

false、true、null8、方法相关保留字:return、void9、包相关保留字:package、import10、备用:const、goto

留作将来供语言设计者扩充语言功能时使用。6三、分隔符定义:分隔符是用来分隔Java程序中的基本元素的符号,有空白符和普通分隔符两种。1、空白符:空格、回车、换行符、制表符。

Java编译器忽略空白符,所以空白符主要用来格式化源代码。7三、分隔符2、普通分隔符

(4种){};

,:

{}用来定义类体、方法体等。一对花括号括起来的代码段就是一个语句块。分号‘;’用来表示语句的结束逗号‘,’用来区分方法中的各个参数以及区分变量声明中的各个变量。例如:Sum(a,b)intx,y冒号‘:’用于语句标号中8第二节变量和常量

Java程序运行过程中,其值可以改变的量称为变量。变量名Vs变量值变量对应着内存中的一个或几个单元,变量的值就存放在所对应的内存单元中。变量名就是给对应的内存单元取一个名称,这样在程序中,可以按变量名称来区分和使用这些内存单元。123xyz29第二节变量和常量Java程序运行时值不可修改的量称为常量。10一、变量的特性变量名:变量名是一个合法的标识符,其命名必须遵循前面的标识符命名规则。 变量名一般应该具有的一定的含义,以增加程序的可读性,例如:student,teacher。

11一、变量的特性变量的数据类型:可以是Java语言的任意一种数据类型;变量的作用域:指明可以访问该变量的一段代码。 声明一个变量的同时也就指明了该变量的作用域。12二、变量的声明变量在使用之前必须声明。声明一个变量就是在内存中开辟一块区域,并与该变量名建立起联系。变量声明的语法:类型变量名1[=变量值1]

[,变量名2

[=变量值2]…];

例如:inta=1024,b=123;charc=‘A’;a102413三、变量的作用域前面讲到,在声明变量的同时也就确定了该变量的作用域。实际上,是由变量声明在程序中的位置来决定变量的作用域。按照变量作用域的不同,可以把变量分成下面四种类型:

(1)局部变量:在方法中声明,其作用域为该方法;

(2)类变量(全局变量):在类中,而不是在类的某个方法中声明,其作用域为整个类;

(3)方法参数:方法参数传递给方法,它的作用域是这个方法;14三、变量的作用域

(4)异常处理参数:异常处理参数传递给异常处理器,其作用域为该异常处理器。publicclassAClass类变量声明.....

局部变量声明

try{

.....

catch(异常处理参数)

.....类变量作用域方法参数作用域局部变量作用域异常处理参数作用域

publicvoidMethod1(参数行)15四、常量

常量:在程序运行期间不会改变的量,如数字、字符、字符串等。

Java语言中的常量有下面两大类:自定义常量:用final关键字修饰的变量,该变量的值一旦初始化,就不允许再发生改变。

例如,finalintNUM=100;NUM是一个整型的自定义常量;普通常量:又称字面值,是源程序中表示的常数值,如12.6、246、false等,表示一个个具体的值。16四、常量普通常量按照数据类型的不同又分成下面五种:整型常量:123、-456、0。布尔型常量:true和false,分别代表真和假。字符常量:用单引号引起来的单个字符,如‘1’、‘a’、‘A’、‘$’等。17四、常量实型常量:0.123、1.23。字符串常量:用双引号引起来的零个或者多个字符,如“”、“hello,Java”等。18第三节基本数据类型19一、整型数据类型类型缺省值长度取值范围byte08位-27~27-1short016位-215~215-1int032位-231~231-1long064位-263~263-120二、浮点型数据类型类型缺省值长度取值范围float0.032位-3.4*1038~3.4*1038

double0.064位-1.7*10308~1.7*1030821三、字符型数据类型类型缺省值长度取值范围char'\u0000'

16位\u0000~\uFFFF

注:Java语言的字符使用16位的Unicode编码表示,例如“\u0041”表示字母A。而一般计算机语言则使用ASCII码,用8位表示一个字符。ASCII码是Unicode码的一个子集。Unicode码通常用十六进制表示,例如“\u00FE”等。其中“\u0000

~“\u00FF”

表示ASCII码,“

\u0100”~“\uFFFF”表示其他的Unicode码。“\u”是一个转义字符,用来表示其后的4个数字代表一个Unicode码。其他转义字符如“\n”:换行、“\r”:回车。22Unicode编码与ASCII编码Java的字符数据类型与其他语言相比有较大的改进。C语言的字符类型是采用ASCII编码,每个数据占用8个比特位,总共可以表示256个不同的字符。ASCII编码具有一定的局限性,最典型的体现在处理以汉字为代表的东方文字方面。汉字的字符集大,仅用8位编码是不够的,所以传统的处理方法是用两个8位的字符来表示一个汉字。23Unicode编码与ASCII编码为了简化问题,Java的字符类型采用了一种新的国际标准编码方案——Unicode编码。每个Unicode码占用16个比特位,包含的信息量比ASCII码多了很多倍,总共可以表示65536个不同的字符。无论东方字符还是西方字符,都可以统一用一个字符表达。由于采用Unicode编码方案,为Java程序在基于不同语言的平台间实现平滑移植铺平了道路。24四、布尔型数据类型类型缺省值长度取值范围booleanfalse

1位{false,true}25数据类型的转换自动(隐式)数据类型转换:

当不同数据类型的数据之间进行混合运算时,系统自动将数据从取值范围小的类型转换到取值范围大的类型。

例如:

bytea=20; shortb=30;

intc=a+b;

小大26数据类型的转换强制(显式)数据类型转换:

取值范围大的数据类型转换到取值范围小的类型时,必须强制进行数据类型的转换。

大小强制转换27数据类型的转换强制转换的格式为:

(目标数据类型)变量或表达式

例如:inta=20; byteb=(byte)a;!!在进行强制类型转换时要注意使目标类型能够容纳原类型的所有信息。!!布尔型数据不能转换成数值型数据。28第四、五节运算符与表达式运算符:对操作数(变量、常量和子表达式等)进行运算的符号。

Java运算符包括:算术运算符、关系运算符、逻辑运算符、赋值运算符、位运算符等。表达式:用运算符把操作数连接起来,用来表达某种运算或含义的式子。29与C语言的不同与C不同之处:Java是强类型语言,类型限制比C严格,运算符的操作数的类型会受到更多限制。Java不提供指针运算符,增加了对象操作符

instanceof,字符串运算符

+和零填充的右移>>>等301、算术运算符与算术表达式运算符含义表达式+加a+b

-减a-b

*乘a*b

/除a/b

%取模a%b

++递增a++或++a--递减b--或--b-取负数c=-a312、关系运算符与关系表达式关系运算符用于测试两个操作数之间的关系。关系表达式将返回一个布尔结果。运算符含义表达式==等于a==b!=不等于a!=b>大于a>b<小于a<b>=大于或等于a>=b<=小于或等于a<=b323、逻辑运算符与逻辑表达式运算符含义表达式说明&&逻辑与A&&BA、B都为假表达式为假||逻辑或A||BA、B都为真表达式为真^逻辑异或A^BA、B互异表达式为真!逻辑非!AA的反逻辑运算符总是与布尔操作数一起使用334、位运算符与位运算表达式运算符含义表达式~

按位非(NOT)

~a

&

按位与(AND)

a&b

|

按位或(OR)

a|b

^

按位异或(XOR)

a^b

>>

右移

(右移1位相当于除2)a>>2

>>>

右移,左边空出的位以0填充

a>>>2

<<

左移

(左移1位相当于乘2)a<<1

34移位运算示例00000000000000000000000000111111<<3的值为

00000000000000000000000111111000=504//(右边永远加0);2)0000000000000000

0000000000111111>>3的值为

0000000000000000

0000000000000111=7//(最左边为0时,左边加0)3)11111000000000000000000001111010>>3的值为

11111111000000000000000000001111//(最左边为1时,左边加1)4)11111000000000000000000001111010>>>3的值为

00011111000000000000000000001111//(左边永远加0)355、赋值运算符与赋值表达式赋值表达式的形式:变量名=子表达式或采用复合形式:变量名操作符=子表达式如:x+=y;//等价于x=x+y;一次可以为多个变量赋值,如:inta=20000;intp,q,r,s;p=q=r=s=a;赋值运算符(=)用于为变量赋值366、条件运算符(?:)与条件表达式条件运算符(?:)可以替代if-else语句true

false子表达式1?子表达式2:子表达式3

classTernaryOp{publicstaticvoidmain(Stringargs[]){intsalary,daysPresent=30;

salary=daysPresent==20?2000:3000;

System.out.println("您本月薪资为

$"+salary);}}377、Instanceof运算符与表达式classStudent{publicstaticvoidmain(Stringargs[]){ Studentd=newStudent(); if(dinstanceofStudent){

System.out.println("d是学生类的实例"); } else{

System.out.println("d不是学生类的实例"); }}}

可以判断对象是否属于一个特定的类38运算符的优先次序表达式的运算通常按照运算符的优先顺序从高到低进行,同级运算符从左到右进行。首先单运算符,接着乘除加减,然后位运算符,之后比较运算,最后是赋值运算。单运算符乘除加减位运算符比较运算赋值运算>>>>39第六节

基本数据类型数组数组是一种比较特殊的数据类型,分为基本数据类型的数组和复合数据类型的数组。本章我们主要介绍基本数据类型的数组。数组是有序数据的集合,数组中的每个元素具有相同的数据类型,可以用一个统一的数组名和下标来唯一地确定数组中的元素。数组分为一维数组和多维数组。40第六节

基本数据类型数组

声明数组数组的创建与初始化多维数组41一、声明数组声明包含两部分:数组的类型与数组的名称。格式:采用C,C++标准形式:基本数据类型数组名[];基本数据类型[]数组名;

例如:chars[];intp[];char[]s;int[]p;其中,方括号[]是数组的标志,不可或缺。42与C的不同之处

Java在声明数组时,并不为数组元素分配内存空间。因此在声明数组时,[]中可以不用指出数组的大小。

Java是在创建数组时来指明数组的长度,并为数组元素分配内存空间。

Java对数组元素进行越界检查,可以很好的保证数组操作的安全性。43二、数组的创建与初始化声明数组仅仅指定数组的名字和数组元素的类型,要想真正使用数组还需要为它开辟内存空间,即创建数组。在创建数组时必须指明数组的长度,以精确地确定该数组所占据的内存空间的大小。创建数组的语法格式为:数组名=new基本数据类型

[数组元素个数];chars[];44二、数组的创建与初始化例如:s=newchar[10];

创建数组也可以与声明数组结合在一起,用一条语句来完成,例如:chars[]=newchar[10];

也可以通过给数组赋初始值的方式来创建数组,例如:char

m[]={‘a’,‘b’,

‘c’,

‘d’,

‘e’,

‘f’,

‘g’,

‘h’,

‘i’}

数组名=new

基本数据类型

[数组元素个数];chars[];45一维数组元素的引用

数组元素的引用方式为:

数组名[index]

index为数组下标,它可以为整型常数或表达式,下标从0开始计算。例如:

s[5]表示数组s中的第6个元素chars[]=newchar[10];46数组元素的个数与赋值

float[]tax=newfloat[5];

数组被创建后,该数组的大小值会被放在所分配内存区的第一个地址,并以length作此地址的参考。所以我们可用tax.length

来获得此数组的大小值。数组被赋值的方法如下:

tax[0]=6786.5; tax[1]=8763.79;

47三、多维数组声明方法

inta[][];或

int[][]a;构建方法

a=newint[2][4];//直接为每一维分配内存,生成规则数组

a=new

温馨提示

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

评论

0/150

提交评论