Java程序设计教程课件:Java语言编程基础_第1页
Java程序设计教程课件:Java语言编程基础_第2页
Java程序设计教程课件:Java语言编程基础_第3页
Java程序设计教程课件:Java语言编程基础_第4页
Java程序设计教程课件:Java语言编程基础_第5页
已阅读5页,还剩86页未读 继续免费阅读

下载本文档

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

文档简介

Java语言编程基础Java

本章内容提要标识符、关键字和注释基本数据类型运算符与表达式控制语句数组标识符Java标识符命名规范:由字母、数字、

和$组成;■

标识符的第一个字符不能是数字;■标识符区分大小写;长度不限,但通常不超过15个字符;■不能取名为Java关键字;不能夹有空格。2.1标识符、关键字和注释

如果确实需要分隔,可以用下划线代替空格,如

“MAX

SIZE”。§

标识符用来命名变

量、符号常量、数组、方法、类、对象、接口、包等。为了提高程序的可读性,标识符最好“见

名知义”,而且规范

大小写的使用方式。2.1标识符、关键字和注释例

:合法的标识符

identifier

User

Name非法的标识符2mailuserName

sys

valroom#2.1标识符、关键字和注释$changeclassJava语言使用Unicode

标准字符集,Unicode

标准字符集由UNICODE协会管理并接受其

技术上的修改,最多可以识别65536个字符,所

以字母包括下面几种:·A---Z,a---Z·0—9·汉字、日文、朝鲜文、德文、希腊文等多国语言中的符号2.1标识符、关键字和注释关键字关键字又称保留字,是

Java语言规定了特

定含义的标识符。·

用户

只能按照系统规定的方式使用;·

不能自行定义

;·

关键字一律用小写字母表示。2.1标识符、关键字和注释abstractbooleanbreakbytecasecatchcharclasscontinuedefaultdodoubleelseextendsfalsefinalfinallyfloatforifimplementsimportinstanceofintinterfacelongnativenewnullpackageprivateprotectedpublicreturnshortstaticstrictfpsuperswitchsynchronizedthisthrowthrowstransienttruetryvoidvolatilewhile2.1标识符、关键字和注释2.

1标识符、关键字和注释1.单行注释以

/

/

开始,并以换行符结束。2.

块注释以/*开始,并以*/结束。这种注释不能互相嵌套。3

.

doc

注释以/**开始,并以*/结束。

Doc注释一

般位于整个文档的最前面,它是Java特有的。说明数据类型占内存空间(位数)字节型byte1字节(8位)短整型short2字节(16位)整型int4字节(32位)长整型long8字节(64位)单精度浮点型float4字节(32位)双精度浮点型double8字节(64位)布尔型boolean1字节(8位)字符型char2字节(16位)

与C语言有哪些区别2.2基本数据类型数据类型概述整数类型整数类型又称为整型,整型数据是一种数值型数据,是指那些没有小数部分的数据。整型常量

:123、6000(十进制),077(八进制),0x3ABC(十六进制).整型变量的定义分为

4

:1.int

型(4个字节)使用关键字int

来定义

int型整型变量。

例:int

x;2.2基本数据类型2.字节型(1个字节)使用关键字

byte

来定义字节型整型变量。

例:byte

x,tom_12;3.短整型(2个字节)使用关键字

short来定义短整型变量。

例:shortx,tom_12;2

.

2基本数据类型4

.

长整型(8个字节)使用关键字long来定义长型整型变量。例

:longx,long

tom

12;Java没有提供任何无符号整数类型2

.

2基本数据类型浮点类型浮点类型又称为实型,指的是包含小数部分的数据,分为float和double

两种类型。1.float

型(4个字节)常量:123.5439

f,12389.987F,123.0f,2e40f(f

不可省略)变量:使用关键字float

来定义

float型变量

例:float

x,float

tom

12;2.2基本数据类型2

.

2基本数据类型2.double

型(8个字节)常量:12389.5439d(d可以省略),12389908.987,123.0,6e-140(6乘10的-140次方,科学计数法)变

量:如果变量赋值时没有对float

类型加上后缀

f,就会出错:float

f1=125.39;使用关键字

double来定义double

型变量。例:doublex,tom

12;布尔类型常量

true,false变

量:使用关键字

boolean

来定义逻辑变量例:boolean

x;boolean

tom

12; Java中的布尔值和数字之间不能来回转换,即

false和tru

e不

对应于任何0或非0的整数值。2.2基本数据类型字符常量:'A',‘!”,

‘9”,

“好”,

‘¥t'字符变量:使用关键字

char

来定义字符变量例

:char

x,tom

12;对于char型变量,内存分配2个字节,char

型变

量的取值范围为0—65535。例

:charx=‘a';charx=97;字符串常量:“A”,“Hello

¥n

Java”2.2基本数据类型字符类型要观察一个字符在Unicode

字符集中的顺序位置,必须使用int类型显示转

,如(int)'a'

。反之,如果要得到一个0—65535之

间的数所代表的Unicode表中的相应位置上的字

符也必须使用char型显示转换,如(char)123。[例2-1]字符型数据与整型数据的相互转换汉字”我"在unicode

表中的顺序位置:25105

unicode表中第25105位置上的字符是:我2.3基本数据类型基本数据类型间的相互转换Java是一种强类型语言,用表达式为一个变量赋值,或是在一个方法中传递参数时,两者数

据类型必须匹配,否则需要类型转换。

Java

中的

类型转换有两种:自动转换和强制转换。1.

自动转换当把在级别低的变量的值赋给级别高的变量时,采统自动完成数据类型的转换。2.2基本数据类型byte->short->char->int

->long->float->double26>在表达式中,byte

、short

或char

数据将无条件地转换(升级)为int

类型。>在表达式中,实现低级别向高

级别自动升级。>在赋值表达式中,如果左值类型高于右值类型,右值类型将自动转换为左值类型。2.2基本数据类型floatx=100;如果输出x

的值,结果将是

100.0intx=50;floaty;如果输出

y

的值

,结果将是2.2基本数据类型y=x;50.0

例:强制转换当级别高的变量的值赋给级别低的变量时,必

须强制进行数据类型转换。强制转换格式为:(目标数据类型)

变量名或表达式例:intx=(int)23.89;

输出

x的值是23char

c=(char)(12.5+54);

输出c的值是

强制转换运算可能导致精度的损失。2.2基本数据类型B

,§所有整数类型都能向float或double自动转换,

反之必须强制转换;§字符类型可向int、long、flo

at

、double

自动转换

,反之必须强制转换;§字符类型转换为byte时必须强制转换;§

布尔

型不可和任何其他数据类型转换。2.2基本数据类型从命令行输入输出数据1.输入数据Java中使用Scanner类从命令行输入数据。2.输出数据Sysntln()

或Sysnt()方法用来输出串值和表达式的值。【例2-2】读入用户在命令行输入的数据并输出2.2基本数据类型运算符是对操作数进行运算的符号。运算符的类型包括:算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符、条件

运算符和其他运算符。表达式是用运算符把操作数(变量、常量和方法等)连接起来的表达某种运算或含义的式子。表达式的类型由运算以及参与运算的操作数的类型决定,可以是简单类型,也可以是引用类型。2.3运算符与表达式运算符表达式功能+op1

+op2加一op1

-op2减*op*op2乘op/op2除%op

%op2求余2.3运算符与表达式Java算数运算符与算术表达式1.二元算术运算符二元算术运算符涉及两个操作数。§数据类型之间的转换;§与C不同,对取模运算符“%”来说

,其操作数

可以为浮点数,如10%3.5=3.0;§

Java对加运算符进行了扩展,使它能够进行字

符串的连接,如"abc"+"de",得

串"abcde"。2

.

3运算符与表达式运算符名称表达式功能+一元加+op1取正值一一元减-op1取负值++增量++op1,op1++加1--减量--op1,op1--减12.3运算符与表达式2.一元算术运算符一元算术运算符涉及的操作数只有一个。

2.3运算符与表达式

:假设a

=5,b=10,计算表达式c=(a++)*(--b)。计算过程分为以下三步:(1)b=b-1

=9;(2)c

=a*b

=45;(3)a=a+1=6运算符

表达式关系运算符用于测试两个

操作数之间的关系。关系表达式将返回一个布

尔结果true或false,

C

中的1或0。2.3运算符与表达式Java关系运算符与关系表达式功能大干op22p25op2否等于op2!=

比较op1是否不等于op2

:表达式3>5的值为false;表达式3<=5的值为true;表达式3

==5的值为false

;表达式3!=5的值为true。2.3运算符与表达式关系表达式1的值(op1))表达式2的值!op1Ialsetrue逻辑运算符与布尔操作数

起使用;&&和|的“短路”性质。truefalsefalsefalsetruefalsetruefalsetruetrue2.3运算符与表达式Java逻辑运算符与逻辑表达式例

:x

的初值是2,那么经过下列逻辑比较运算

,x

的值仍然是2。((y=2)==0)&&((x=5)==5);经过下列逻辑比较运算后,x

的值将变为5。((y=2)==2)&&((x=5)==5);2

.3运算符与表达式运算符功能表达式按位取反op&按位与op1&op2按位或op1|op2按位异或op1^op2>>op1按位右移op2位op1>>op2<<op1按位左移op2位op1<<op2>>>op1添零右移op2位op1>>>op22.3运算符与表达式Java位运算符与位表达式1.位逻辑运算符§”按位与”运算符

:00000111b

10101011C

00000011结论:按位与,只有一一为1。2.3运算符与表达式

“按位或”运算符例如

:a

00101010b

00010111c

00111111结论:按位或,只有零(0)零(0)为0。2.3运算符与表达式

“按位取反”运算符例

:00101010c

11010101结论:对二进制数按位取反,即0变成1,1变成0。2.3运算符与表达式

“按位异或”运算符

:a

00101010b

00010111c

00111101结论:按位异或,只有零一或一零为1。2.3运算符与表达式位运算符也可以操作逻辑型数据当a、b都是true

时,a&b是true,否则是false§当a、b都是false时

,a|b是false,否则是false当a是true时

,~a是false;当a是false

,~a是true例

如:x

的初值是

1((y=1)==0)&&((x=6)==6);((y=1)==0)&((x=6)==6);2

.

3运算符与表达式2

.移位运算符右移运算符

>>用来将一个数的二进制位序列右移若干位。例

:a=00010001a>>2=00000100b=11101111

b>>2=

11111011结论:右端的低位被舍弃,最高位则移入原来高

位的值。2.3运算符与表达式§左移运算符<<用来将一个数的二进制位序列左移若干位。

:a=00010001a<<2=010001

00b=11101111

b<<2=101111

00结

论:高位左移后溢出,舍弃;低位加0。2.3运算符与表达式§

添零右移运算符>>>用来将一个数的各二进制位添零右移若干位,也称为无符号右移。例

:a=00010001a>>>2=00000100b=11101111

b>>>2=

00111011结

论:右端的低位被舍弃,最高位则永远加0。2.3运算符与表达式赋值运算符与赋值表达式赋值表达式的组成为:赋值运算符的左侧为一个变量,右侧为一个表达式。表达式的值的类

型应与左侧的变量类型一致或者可以转换为左侧

的变量类型。1.赋值运算符赋值运算符“=”用来把一个表达式的值赋给

个变

量。2.3运算符与表达式例

:byte

b=12;inti=b;

//自动类型转换int

a=13;bytec=(byte)a;

//强制类型转换int

j=i+1;

//

把表达式i+1的值赋给变量j2.3运算符与表达式2.扩展赋值运算符在赋值运算符“=”前加上其他运算符,即构成了扩展赋值运算符。

例如

:a*=b--(a=6)/(b=2)

包含以下三步运算:(1)a=6,b=2,a/b=3;(2)b=b-a/b=-1;(3)a=a*b=-62.3运算符与表达式运算符表达式等效表达式十=opl+=op2op1=opl+op2一

=op1-=op2opl=opl-op2*三op1*=op2opl=op1*op2/=op1/=op2op1=op1/op2%=op1%=op2op1=op1%op2&=opl&=op2opl=opl&op2|=op1|=op2opl=op1|op2opl^=op2op1=op1^op2>>=op1>>=op2op1=op1>>op2<<=op1<<=op2opl=opl<<op2>》>=op1>>>=op2opl=opl>>>op22.3运算符与表达式Java条件运算符与条件表达式条件运算符是三元运算符,用“?”和

“:”表class

条件?表达式1:表达式2public

staticrvoidlmain(String[]args)

falseint

salary,daysPresent

=30;salary=daysPresent==20?2000

:3000;Sysntln("您本月薪资为

$"+salary);2.3运算符与表达式其他运算符1.括号运算符()在Java语言中,括号运算符()的运算优先级最高,在表达式中使用时

,用于改变运算符的运

算顺序。2.下标运算符[][]是数组下标运算符,定义数组时用于声明数组元素的个数;引用数组元素时用于提供数组

的下标值。2.3运算符与表达式3.对象运算符instanceof对象运算符instanceof用于测试一个指定的对象是否是指定类(或它的子类)的一个实例化

的对象,若是则返回true,

否则返回false。

例如

:Strings="abcde";boolean

b=s

instanceof

String;自.

内存分配运算符new使用new运算符为数组和类分配内存空间。2

.

3运算符与表达式优先顺序运算符结合性1[]()2十十

--

instanceof右到左3new左到右4左到右5左到右6》》《《

》》》左到右7><><=左到右8三

!

=左到右2.3运算符与表达式Java运算符的优先级与结合性优先顺序运算符结合性9&左到右10左到右11左到右12&&左到右13|I左到右14?:左到右15二

-=

*二

/=

%=右到左16&=

=<<=>>=>>>=右到左2.3运算符与表达式JavaJava中的程序控制语句分为3类1.选择结构2.

循环结构3.

跳转语句2

.

6控制语句选择语句选择语句根据条件表达式值的不同选择执行不同的语句序列,其他与条件表达式值不匹配

的语句序列则被跳过不执行。选择语句分为:条件语句(if-else)■多分支语句(switch)2.4控制语句if

(条件)statement;或者if(条件){block}1.条件语句§if

语句2.4控制语句[例2-3]使用if

语句输出一个数的绝对值2.4控制语句if

(条件)statement1;或{block1}elsestatement2;或{block2}2.4控制语句§

if-else语句

2.4控制语句有没有有钱吗?程序的可读性最好不要省略。[例2-4]

使用if-else表达式判断成绩数学及格了else

子句不能单独作为语句使用,它必须和

if子句配对使用。if和else后面的复合句里如果

只有一个语句,{}可以省略不写,但为

了增强2.4控制语句§

if-else

if语句if

(条件1)statementl;或{blockl}else

if(条件2)statement2;或{block2}else

if(条件N)statementN;或{blockN}elsestatementN+1;或{blockN+1}]2.4控制语句if

与else

的配对关系。else总是与它上面的最近的未配对的if配对。

例如

:else语句2if(表达式3)语句3eIse语句42.4控制语句if

(表达式1)switch(expression){case

valuel:statement1;break;case

value2:statement2;break;casevalueN:statementN;break;default:defaultStatement;2.4控制语句2.多分支语句2.4控制语句switch语句在使用时需要注意以下几点:表达式expression

的值只能为

:int

、byte、short

或char。多分支语句把表达式返回的值依次与每个case子句进行比较

,如果遇到匹配

的值,则执行该case子句后的语句序列。§case

子句中的值必须是常量,而且所有case子句中的值应是不同的。2.4控制语句§

default子句是任选的。当表达式的值与任一case子句中的值都不匹配时,程序执行default后面的语句;如果表达式的值与任一case子句中

的值都不匹配且没有default子句,程序不作任

何操作,直接跳出switch语句。§

break语句用来在执行完一个case分支后,使程序跳出switch结构,即终止switch语句的执行。[例2-5]

使用switch语句判断成绩等级2.4控制语句§while循环while(termination){body;[iteration];循环语句1.不确定循环2.4控制语句§

条件表达式的值为true时,执行循环体中的语句,条件变为false时,退出循环;§在每一次新的循环开始前,都会重新检查条件表达式的值;§如果条件表达式值在开始时就是false,while

循环体中的语句一次都不会执行。2.4控制语句§

do-while循环body;[iteration;]while(termination);

2.4控制语句真

§

do

while

是在前一次循环结束的时候检查

条件表达式的值,以决定是否进行下一次

;do-while

循环中的语句至少会被执行一

次。2.4控制语句for(initialization;termination;iteration)body;2

.4控制语句2.

确定循环

§for

循环执行时,首

先执行初始化操作(initialization),

然后判断终止条件(termination)是否满足,如果满足

,则执行

循环体中的语句,最后执行迭代部分(iteration)

。完成一次循环后,重新判断终止条件。2.4控制语句

§

可以在for循环的初始化部分声明一个变量,它的作用域为整个for循环。§

for

循环通常用于循环次数确定的情况,但也可以根据循环结束条件完成循环次数不确

定的情况。2.4控制语句在初始化部分和迭代部分可以使用逗号语句,

来进行多个操作。逗号语句是用逗号分隔的语

句序列。例如:for(i=0,j=10;i<j;i++){}§初始化、终止以及迭代部分都可以为空语句(但分号不能省略)。三者均为空的时候,相

当于一个无限循环。例如:i=1;for(;i<=5;){}2.4控制语句[例2-6]用for循环求1000之内的所有完全数1000之内的完全数为:6284962.6控制语句跳转语句1.break

语句·

用在switch语句中,其作用是强制退出switch

结构,执行switch结构后的语句

;·

用在单层循环结构的循环体中,其作用是强制

退出循环结构,控制转移到循环体外下一个

可执行语句;2.4控制语句§在两层循环嵌套的情况下,而break在内循环中,则执行break语句只能退出内循环,而不能退出外

循环。[例2-7]break语句的应用1111的最大真约数是12.4控制语句2.continue语句continue语句用于结束本次循环,即跳过循环体中后面尚未执行的语句,执行下一次循环。

[例2-8]

continue

语句的应用2.4控制语句

2.4控制语句3.

return语句作用:从方法(子程序)中返回到它的调用者带值返回:可以从方法中返回一个原来子类型的值

,也可以返回一个实例(对象)或数组。不带值返回

:return

语句跳出当前的方法,并返回到调用者,但不带任何值。[例2-9]return语句的应用我被执行!数组是Java语言的一种引用类型,它是由类型相同的元素组成的有顺序的数据集合。在一个数组中

:1.每个元素的数据类型都是相同的。2

.数组中的各个元素都是有顺序的。3

.

所有元素共用一个数组名,利用数组名和数

组下标来唯一地确定数组中每个元素的位置。4.数组要经过声明、分配内存及赋值后,才能

被使用。2.5数组1.一维组的声明一

数组的

般声明方式为:包括基本数据类型和引用数据类型空间网typearrayName[□];或者type[]arrayName;2.5数组Java注意:在[]里面

什么都不能有2.创建数组空间arrayName=new

type[arraysize];例

:inta[

];a=

newint[20];也可以将声明与分配内存空间合成一条语句。例

:int

a[]=new

int[20];2.5数组

和C语

言不同,Java允许使用int

型变量指

定数组的大小。例如:int

size=30;double

number[]=newdouble[size];§一维数组在声明的时候,[]里面是什么都不能

有的,但是在使用new运算符进行构造的时候,必

须指明数组的长度,只有这样系统才能知道应该

给这个数组分配多少内存。2.5数组类型初始化值char¥u0000int0long01float0.0fdouble0.0dbooleanfalse引用类型null3.

一维数组的初始化当一个数组用new为数组分配内存后,自动

用数据类型的缺省值初始化所有的数组元素。2.5数组intmyArray[]=new

int[50];另一种创建数组的方法是直接赋值,初值的个数就是数组的大小,初始值必须用大括号括住,用逗号作为分隔符

温馨提示

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

评论

0/150

提交评论