Java课件第二章语言基础Word文件下载.docx
- 文档编号:20329826
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:31
- 大小:1.13MB
Java课件第二章语言基础Word文件下载.docx
《Java课件第二章语言基础Word文件下载.docx》由会员分享,可在线阅读,更多相关《Java课件第二章语言基础Word文件下载.docx(31页珍藏版)》请在冰豆网上搜索。
byte
8
-128~127(用于低层文件处理,或者在存储空间非常宝贵的时候保存大型数组)
字符型
char
16
‘\u0000’
‘\u0000’~‘\uffff’
短整型
short
-32768~32767
整型
int
32
-2147483648~2147483647
长整型
long
64
-9223372036854775808~9223372036854775807(使用很大的整数时)
浮点型
float
0.0
±
1.4E-45~±
3.4028235E+38
双精度型
double
4.9E-324~±
1.7976931348623157E+308
Java常用数据类型的最主要的区别是:
基本类型的变量名是变量本身。
引用类型变量的名字是变量的存储地点。
引用类型可作为它所表示的值的集合的一种类型,引用类型可使用一个引用变量得到它的值,所谓引用类型变量的值,是对真实数据的一个引用。
若饮用类型变量ol是对对象o2的引用,则可认为o1是o2的别名,o1指向o2所享有的一块存储区。
而使用一个简单变量名是得到该变量的真实值。
Java中的类、数组和接口都是引用类型。
特别是当创建一个类或接口时,实质上是定义了一种新的数据类型。
Java语言不支持C和C++中三种数据类型:
指针、结构和联合。
这三种类型在Java中是用引用、类等代替,它们是比指针、结构和联合更有效的数据结构。
变量的初始化
变量可以在它们被声明的时候初始化,也可以利用一个赋值语句来初始化。
变量的数据类型必须与赋给它的数值类型相匹配。
final变量
可以在任何作用域声明一个final变量。
final变量的数值不能再初始化之后进行改变。
这样的变量跟其他语言中的常量很相似。
为了声明一个final变量,可以在类型之前的变量声明使用final关键字,例如:
finalfloataFinalVar=3.14159;
这个语句声明了一个final变量并对它进行了初始化。
如果在后面还想给aFinalVar赋其它的值,就会导致一个编译错误。
2.2运算符
一个运算对象可以利用一个、两个或者三个运算对象来完成一次计算。
只有一个运算对象的运算符称为一元运算符。
例如,“++”是一个一元运算符,它是对运算对象自增加1.一元运算符支持前缀和后缀运算符。
前缀运算符是指运算符出现在它的运算对象之前,例如:
operatorop//前缀运算符
后缀运算符是指运算对象出现在运算符之前,例如:
opoperator//后缀运算符
需要两个运算对象的运算符号称为二元运算符。
例如,赋值号(=)就是一个二元运算符,它将右边的运算对象赋给左边的运算对象。
所有的二元运算符使用中缀运算符,即运算符出现在两个运算对象之间:
op1operatorop2//中缀运算符
三元运算符需要三个运算对象。
Java语言有一个三元运算符“?
:
”,它是一个简要的if-else语句。
三元运算符也是使用中缀运算符,例如:
op1?
op2:
op3//中缀运算符
三元运算符“?
”除了执行一个操作外,还返回一个数值。
返回数值的类型依赖于运算符号和运算对象的类型。
比如,算术运算符完成基本的算术操作(加、减)并将算数操作的结果作为返回值。
算术运算符返回的数据类型取决于它的运算对象的类型,例如,如果是两个整型数相加,就会返回一个整型数。
运算符分成以下几类:
算术运算符
这些运算符为+(加)、-(减)、*(乘)、/(除)以及%(取模)。
其中求模运算op1%op2为op1除以op2的余数
关系和条件运算符
关系运算符用于比较两个值并决定它们的关系,然后给出相应的取值。
移位和逻辑运算符
赋值运算符
其他的运算符
Java中的运算符
算术运算符、关系运算符、赋值运算符、逻辑运算符、位运算符、条件运算符
1)、2.2.1算术运算符
结果的数据类型运算数据类型
long任何一个运算对象都不是float或者doule型,而且至少有一个运算对象为long
int任何一个运算对象都不是float或者doule型,且不能为long型
double至少有一个运算对象为double型
float至少有一个运算对象为float型,但不能是double型
运算符
运算
范例
结果
+
正号
+3
3
-
负号
b=4;
-b;
-4
加
5+5
10
减
6-4
2
*
乘
3*4
12
/
除
5/5
%
取模(求余)
5%5
++
自增(前)
a=2;
b=++a;
a=3;
b=3;
自增(后)
b=a++;
b=2;
--
自减(前)
b=--a;
a=1;
b=1;
自减(后)
b=a--;
字符串相加
“he”+“llo”
“hello”
两个整数之间的相除(/)运算结果还是整数,其结果是除的结果的整数部分。
例如:
5/2结果为2
要获得实数结果,运算中至少一个浮点数。
5/2.0结果为2.5
intx=2;
inty=(++x)*5;
//执行结果:
x=3y=15
inty=(x++)*5;
x=3y=10
2.2.2关系与逻辑运算符
关系运算符
2.2.3位运算符
2.2.4赋值运算符
2.2.5其他的运算符
2)、关系运算符
==
相等于
4==3
!
=
不等于
4!
=3
true
<
小于
4<
3
>
大于
4>
小于等于
大于等于
3)、逻辑运算符
&
AND(与)
false&
true
|
OR(或)
false|true
^
XOR(异或)
false^true
NOT(非)
AND(短路与)
||
OR(短路或)
false||true
4)、位运算符
计算规则
按位与
只有参加运算的两位都为1,‘&
’运算的结果才为1,否则为0。
按位或
只有参加运算的两位都为0,‘|’运算的结果才为0,否则为1。
按位异或
只有参加运算的两位不同,‘^’运算的结果才为1,否则为0。
左移位
左移指定位数,右边补0。
右移位
右移高位是0,左边补0;
高位是1,左边补1。
无符号右移位
左边补0。
~
按位取反
1取反是0,0取反是1。
5)赋值运算符
赋值
+=
加等于
a+=b;
a=5;
-=
减等于
a-=b;
*=
乘等于
a*=b;
a=6;
/=
除等于
a/=b;
%=
模等于
a%=b;
=、|=、^=、<
=、>
?
作用相当于if—else语句
条件运算符
条件运算符是一个三目运算符,也是唯一的一个三元运算符,符号为“?
:
”,在程序中能实现简单的判断功能。
语法格式:
表达式1?
表达式2:
表达式3
[]用于声明数组,创建数组以及访问数组元素
.用于访问对象实例或者类的成员函数
(params)以逗号分开的参数系列
(type)将某一个值转换为type类型
new创建一个新的对象或者新的数组
instanceof决定第一个运算对象是否第二个运算对象的一个实例
2.3表达式与语句
表达式:
由运算符、操作数和方法调用,按照语言的语法构造而成的符号序列。
表达式可用于计算一个公式、为变量赋值以及帮助控制程序的执行流程。
表达式的任务有:
对表达式的元素来进行计算;
返回计算结果的值。
表达式返回数值的数据类型取决于在表达式中使用的元素。
例如,如果aChar是字符型,则表达式aChar='
S'
返回一个字符型的值。
Java语言允许将多个子表达式构造成复合表达式。
下面是一个复合表达式的例子:
(x*y*z)/w
各种运算符的优先级:
后缀运算符[].(params)expr++expr--
单元运算符++expr--expr+exor-expr~!
创建运算符New(type)expr
乘除运算符*/%
加减运算符+-
移位运算符<
>
关系运算符<
<
=>
=instanceol
相等与不等==!
位运算符&
位运算符^
位运算符|
逻辑运算符AND&
逻辑运算符OR||
条件运算符?
:
赋值运算符=+=-=*=/=%=&
=^=|=<
当相同优先级的运算符出现在同一表达式时,所有的双元运算符的运算顺序是从左到右,而赋值运算符是从右到左进行计算的。
2.3.2语句
语句是一个执行程序的基本单元,它类似于自然语言的句子。
Java语言的语句可分为以下几类:
表达式语句
复合语句
2.4控制语句
控制语句用于改变程序执行的顺序。
程序利用控制语句有条件地执行语句、循环地执行语句或者跳转到程序中的其他部分执行语句。
当编写程序的时候,如果没有使用控制语句,计算机将顺序执行所有的语句。
如果要改变程序的流程,可以在程序中使用控制语句来有条件地选择执行语句或重复执行某个语句块。
Java的控制语句有:
·
if-else语句·
for语句
switch语句·
跳转语句
while和do-while语句·
异常处理语句
包语句和引入语句
其中,表达式语句是用分号“;
”终止表达式的语句,包括:
赋值表达式语句
++、--语句
方法调用语句
对象创建语句
变量的声明语句
语句:
表达式语句:
是用分号终止表达式的语句,包括:
赋值表达式语句piValue=3.14159;
++、——语句aValue++;
方法调用语句System.out.println(aValue);
对象创建语句Integerint_Object=newInteger(4);
变量的声明语句doubleaValue=68.234
控制语句
2.4.1if语句
if(boolean-expression1){
statements1;
}
elseif(boolean-expression2)
{
statements2;
}else{
…
statementsN;
布尔表达式boolean-expression是任意一个返回布尔数据类型的表达式,而且必须是.
每个单一语句后面都要有分号。
为了增强程序的可读性,应将if或else后的语句用{}括起来。
else子句是任选的,不能单独作为语句使用,它必须和if语句配对使用,并且总是与离它最近的if配对。
例2.5(IfElseExample)
2.4.2switch语句
switch(expression){
casevalue1:
{
statements1;
break;
}
….
casevalueN:
statementsN;
[default:
defaultStatements;
}]
表达式expression的返回值类型必须是这几种类型之一:
int、byte、char、short。
case子句中的值valueI必须是常量,而且所有case子句中的值应是不同的。
default子句是任选的。
break语句用来在执行完一个case分支后,使程序跳出switch语句,即终止switch语句的执行。
如果某个case分支后没有break语句,程序将不再做比较而执行下一个分支。
switch语句的功能可以用if-else语句来实现,但某些情况下,使用switch语句更简炼。
例2.6
2.4.3while和do-while语句
循环语句while(当型循环)
[initialization]//初始化条件
while(termination){//循环条件
body;
//循环体
[iteration;
]//迭代,变更循环条件
当表达式termination为true时,执行{}中的语句,否则终止循环。
例2.7
do-while循环语句(直到型循环)
do{
}while(termination);
//循环条件
首先执行一遍{}中的语句,当表达式termination为true时,继续执行{}中的语句,否则终止循环。
例2.8
2.4.4for语句
for循环语句
for(initialization;
termination;
iteration)
其中:
initialization:
初始化条件;
termination:
循环条件
iteration:
迭代,变更循环条件
初始化、终止以及迭代部分都可以为空语句(但分号不能省),三者均为空的时候,相当于一个无限循环。
在初始化部分和迭代部分可以使用逗号语句,来进行多个操作。
逗号语句是用逗号分隔的语句序列。
2.4.5跳转语句
Java语言有3种跳转语句:
break语句
continue语句
return语句
break语句
其功能是从该语句所在的switch分支或循环中跳转出来,执行其后继语句。
例2.6
在Java中,可以为每个代码块加一个标号,一个代码块通常是用大括号{}括起来的一段代码。
加标号的格式为:
BlockLabel:
{
codeBlock;
例2.9
break语句的第二种使用情况就是跳出它所指定的块,并从紧跟该块后的第一条语句处执行。
breakBlockLabel;
例2.11
continue语句
continue语句用来结束本次循环,跳过循环体中下面尚未执行的语句,接着进行终止条件的判断,以决定是否继续循环。
对于for语句,在进行终止条件的判断前,还要先执行迭代语句。
它的格式为:
continue;
例2.10
也可以用continue跳转到括号指明的外层循环中,这时的格式为
continueouterLable;
return语句从当前方法中退出,返回到调用该方法的语句处,并从紧跟该语句的下一条语句继续程序的执行。
返回语句有两种格式:
returnexpression;
//当方法需要返回某种类型数据时
return;
//当方法的返回类型为void时
单独一条return语句放在方法中间时,会产生“不可到达”编译错误,因为其后的语句将不会执行到。
若真需要退出方法,可以通过将return语句嵌入某些语句(如if-else)来使程序在未执行完方法中所有语句时退出。
异常处理语句:
try-catch-finally,throw
在进行程序设计时,错误的产生是不可避免得。
如何处理错误?
把错误交给谁去处理?
程序又该如何从错误中恢复?
这是任何程序设计语言都必须面对和解决的问题。
Java语言中是通过异常(Exception)来处理错误的。
我们将在第7章中详细介绍异常及其处理。
Java中的控制语句
if-else语句;
switch语句;
while和do_while语句;
for语句;
跳转语句;
异常处理语句
判断语句:
if-else,switch-case循环语句:
while,do—while,for跳转语句:
break,continue,label,return异常处理:
Try-catch-finally,throw
控制语句的基本语法格式为:
控制语句(参数){
程序块
、if(表达式)......else.......条件语句;
条件语句
分为四种:
单分支条件语句
语法格式为:
if(条件表达式){
语句或语句块;
二分支条件语句
语句或语句块1;
}else{
语句或语句块2;
嵌套条件语句
多分支条件语句
if(条件表达式1){
}elseif(条件表达式2){
}……
……
}elseif(条件表达式n){
语句或语句块n;
语句0;
、for(表达式).......循环语句;
for(初始条件;
终止条件;
增量){
循环体
在for语句中,各语法成分是:
初始条件是初始化循环中的表达式,它在循环开始的时候就被执行一次。
终止条件决定什么时候终止循环。
这个表达式在每次循环的过程中都被计算一次。
当表达式计算结果为false的时候,这个循环结束。
增量是循环一次增加多少(即步长)的表达式。
循环体是被重复执行的语句块。
、while(表达式).......循环语句;
当条件保持为true的时候,while语句重复执行语句块。
while(表达式){
while语句计算括号中的表达式,它将返回一个boolean值(true或者false)。
如果表达式返回true,则执行花括号中的语句。
然后while语句继续测试表达式来确定是否执行循环体,直到该表达式返回false。
字符串分为串常量和串变量
串常量:
分为直接串常量和String类的对象。
串常量的值一旦创建不会再变动。
Strings=newString(“good”);
//s为由String类创建的串常量
若加上“morning”可以s=s+“morning”;
串变量:
StringBuffer类的对象。
创建串变量的值之后允许扩充、修改。
StringBuffermy=newStringBuffer(“good”);
//my为串变量
若加上“morning”可以s=s.append(“morning”);
、do.....while(表达式)......循环语句;
do{
}while(表达式);
与while语句不同的是,do-while语句先执行循环中的语句后再计算表达式,所以do-while语句至少执行一次循环体。
、switch多分支选择结构;
、continue结束本次循环语句;
continue语句用于跳过当前的for,while或者do-while循环的剩余部分。
continue语句也有两种形式:
无标号和有标号的。
无标号continue语句:
其功能是终止当前这一轮循环,即跳过continue语句后面剩余的语句,并计算和判断循环条件,决定是否进入下一轮循环。
带标号的continue语句
带标号的continue语句的格式为:
continue标号名;
。
该语句的要求是:
continue后标号名应标识在外层循环语句前。
其作用是使程序的流程转入标号所标识的循环层次,继续执行。
、break终止执行switch或循环语句;
br
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 课件 第二 语言 基础