Download - Java 编程基础

Transcript
Page 1: Java  编程基础

2004 IBM Software Institute

Java 编程基础

Page 2: Java  编程基础

IBM Software Institute

课程大标题 2004 IBM Software Institute

主要内容 Java 语言的元素 Java 语言的控制

Page 3: Java  编程基础

IBM Software Institute

课程大标题 2004 IBM Software Institute

Java 语言的元素 标识符 关键字 数据类型 运算符 分隔符

Page 4: Java  编程基础

IBM Software Institute

课程大标题 2004 IBM Software Institute

Java 语言的元素——标示符 变量、类和方法的名称称为标示符

合法标示符 非法标示符try try#

group_7      7group  

opendoor     open-door       boolean_1     boolean  

Page 5: Java  编程基础

IBM Software Institute

课程大标题 2004 IBM Software Institute

Java 语言的元素——关键字 关键字是 Java 语言本身使用的标识符 关键字有特定的语法含义 所有的 Java 关键字将不能被用作标识符

Page 6: Java  编程基础

IBM Software Institute

课程大标题 2004 IBM Software Institute

Java 语言的元素——数据类型Java type system

primitive reference null

char numeric boolean class interface array

integer floating-point

byte short int long float double

Page 7: Java  编程基础

IBM Software Institute

课程大标题 2004 IBM Software Institute

Java 的数据类型——基本数据类型 Java 编程语言定义了八个基本类型

– 逻辑类 boolean – 文本类 char – 整数类 byte, short, int, long– 浮点类 double, float

Page 8: Java  编程基础

IBM Software Institute

课程大标题 2004 IBM Software Institute

Java 的数据类型——基本数据类型数据类型 所占位数 值的范围 boolean 1 true/false char 16 0 ~ 65535 byte 8 -27 ~ 27-1 short 16 -215 ~ 215-1 int 32 -231 ~ 231-1 long 64 -263 ~ 263-1 float 32 7 3.4e - 38 ~ 3.4e + 38

double 64 15 1.7e - 308 ~ 1.7e +

308

Page 9: Java  编程基础

IBM Software Institute

课程大标题 2004 IBM Software Institute

基本数据类型——布尔类型( boolean ) 布尔型数据只有两个值 true 和 false

– 它们不对应于任何整数值– false 为缺省值

布尔型数据只能参与逻辑关系运算:– && || == != !

示例:boolean b1;boolean b2 = true;b = !b2;boolean b = (b1 && b2) != false;

Page 10: Java  编程基础

IBM Software Institute

课程大标题 2004 IBM Software Institute

基本数据类型——整数类型( byte short int long )Integer Length Range

byte 8 bits -2 7 ... 2 7 -1

short 16 bits -2 15 ... 2 15 -1

int 32 bit -2 31 ... 2 31 -1

long 64 bit -2 63 ... 2 63 -1

Page 11: Java  编程基础

IBM Software Institute

课程大标题 2004 IBM Software Institute

基本数据类型——字符类型( char ) 字符型数据代表 16 位的 Unicode 字符 字符常量是用单引号括起来的一个字符

‘ a’ ‘B’ ‘\n’ ‘\u0030’ 字符型数据的取值范围为

0--65535 或者说 \u0000--\uFFFF\u0000 为缺省值

示例char c1; \\ 缺省值为 0char c2 = ‘0’; \\ 赋初值为字符‘ 0’char c3 = 32; \\ 用整数赋初值为空格

Page 12: Java  编程基础

IBM Software Institute

课程大标题 2004 IBM Software Institute

基本数据类型——整数类型( byte short int long ) 示例

byte b1; \\ 缺省值为 0

byte b2 = 127; \\ 赋初值为 127

short s1 = (short)(b1 + b2); \\ 强制类型转换short s2 = (short)(b1 + 123) \\ 强制类型转换int n = b1 + b2; \\ 不需要强制类型转换long l1 = 2343; \\ 不需要强制类型转换long l2 = 4294967296L;\\ 必须用 L或 l 结尾long l3 = 65536*63356;\\ 乘法运算越界, l3为 0

long l4 = 65536L*63356; \\ l3为 4294967296L

Page 13: Java  编程基础

IBM Software Institute

课程大标题 2004 IBM Software Institute

基本数据类型——浮点数类型( float double ) 浮点数(实数)常量的两种表示法十机制小数形式: 0.23 .18 -234.

科学计数法形式: 0.23e6 1.23E-432 位浮点数形式: 0.23f 1.23E-4f .18F

示例double d1 = 127.0; \\ 赋初值为 127double d2 = 127; \\ 赋初值为 127float f1 = 127.0f; \\ 必须在数字后加 f 或 Ffloat f2 = 4.0e38f; \\ 错误! 32 位浮点数不能超过

\\ 3.4028234663852886e38float f3 = (float)d1; \\ 必须强制类型转换

Page 14: Java  编程基础

IBM Software Institute

课程大标题 2004 IBM Software Institute

基本数据类型——类型转换 基本数据类型在赋值时的自动类型转换规则:

byte short, char, int, long, float, double

short int, long, float, doublechar int, long, float, doubleint long, float, doublelong float, doublefloat double

反向的类型转换必须使用强制类型转换– 转换过程中可能损失精度

(byte)255 == -1 (byte)0x5634 == 0x34– 浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入

(int)23.7 == 23 (int)-45.89f == -45

Page 15: Java  编程基础

IBM Software Institute

课程大标题 2004 IBM Software Institute

Java 语言的元素——运算符 算术运算符: + ,―, * , / , % , ++ , -- 关系运算符: > , < , >= , <= , == , != 布尔逻辑运算符: ! , && , || 位运算符: >> , << , >>> , & , | , ^ , ~ 赋值运算符: = , += , -= , *= , /= ,… 条件运算符: ? :

Page 16: Java  编程基础

IBM Software Institute

课程大标题 2004 IBM Software Institute

Java 语言的元素——运算符 其它特殊的运算符

– 包括分量运算符: .– 下标运算符: [] – 实例类型判断运算符: instanceof– 对象示例创建运算符: new ,– 强制类型转换运算符 : ( 类型 )– 方法调用运算符 : ()

Page 17: Java  编程基础

IBM Software Institute

课程大标题 2004 IBM Software Institute

Java 的运算符——算术运算符 运算符 用途 示例

+-*/

%++++----

加减乘除模运算符后缀加 1前缀加 1后缀减 1前缀减 1

TotalPrice=Cost+Tax;CustomerChange=Payment-

TotalPrice;Tax=Cost*TaxRate;

Average=Total/Count;A=B%C

variable++++variablevariable----variable

Page 18: Java  编程基础

IBM Software Institute

课程大标题 2004 IBM Software Institute

Java 的运算符——关系运算符运算符 用途 示例

<

>

<=

>=

==

!=

小于大于

小于等于大于等于

等于 不等于

expression<expression

expression>expression

expression<=expression

expression>= expression

expression==expression

expression!=expression

Page 19: Java  编程基础

IBM Software Institute

课程大标题 2004 IBM Software Institute

Java 的运算符——布尔逻辑运算符运算符 用途 示例

&&

||

!

逻辑与逻辑或

非运算符

expression&&expression

expression||expression

!expression

Page 20: Java  编程基础

IBM Software Institute

课程大标题 2004 IBM Software Institute

Java 的运算符——位运算符运算符 功能

-

&

|

^

<<

>>

~>>>

位补运算符——翻转一个值的各位位与运算符——使两个值的各位相与位或运算符——使两个值的各位相或位异或运算符——使两个值的各位相异或位左移运算符——把一个值的各位向左移动指定的位右移运算符——把一个值的各位向右移动指定的位数 *

位取反运算符——对数据的每个二进制位取反无符号右移运算符——把一个值的各位向右移动指定的位数 *

Page 21: Java  编程基础

IBM Software Institute

课程大标题 2004 IBM Software Institute

Java 的运算符——赋值运算符 Java 语言中的基本赋值运算符为“ =“

在基本赋值运算符的基础上,还有一些组合赋值运算符:– += , -= , *= , /= , %=– >>=,>>>=,<<=,&=,^= , |=

例:– i=j+k– i+=1– i>>=2

Page 22: Java  编程基础

IBM Software Institute

课程大标题 2004 IBM Software Institute

Java 的运算符——条件运算符 ? :是三元运算符,其语法是:

expression1?expression2:expression3;– Expression1 的值为布尔量,如为 true, 则该条件运算符构成的表达式的值为 expression2 的值,反之则为

expression3 的值 例:

int x = 5 , y = 4 , max ;max = (x > y) ? x:y;

Page 23: Java  编程基础

IBM Software Institute

课程大标题 2004 IBM Software Institute

Java 的运算符——优先级   .    []    ()   结合性从左到右   ++    --    !    ~   结合性从左到右   *    /    %   结合性从左到右   +    -    结合性从左到右   <<    >>    >>>   结合性从左到右   <    >    <=    >=   结合性从左到右   ==    !=   结合性从左到右   &   结合性从左到右   ^   结合性从左到右   &&   结合性从左到右   ||   结合性从左到右   ?:   结合性从右到左   =   结合性从右到左

Page 24: Java  编程基础

IBM Software Institute

课程大标题 2004 IBM Software Institute

Java 语言的元素——分隔符 分隔符用来使编译器确认代码在何处分隔 ‘ ‘ ’’ 、‘ ;’ 、‘ :’ 都是 Java 语言的分隔符 例:

– i=p-k; // ; 标示一行语句的结束

Page 25: Java  编程基础

IBM Software Institute

课程大标题 2004 IBM Software Institute

Java 语言的变量与常量 Java 中的常量值是用文字串表示的 , 它区分为不同的类型

– 如整型常量 123, 实型常量 1.23, 字符常量 'a', 布尔常量true 、 false 以及字符串常量 "constantstring.”

变量是 Java 程序中的基本存储单元 , 它的定义包括变量名、变量类型和作用域几个部分– 例如: int a,b,c;

doubled1,d2=0.0;

Page 26: Java  编程基础

IBM Software Institute

课程大标题 2004 IBM Software Institute

Java 语言的表达式 表达式是由操作数和运算符按一定的语法形式组成的符号序列。 一个常量或一个变量名字是最简单的表达式,其值即该常量或变量的值。 表达式的值还可以用作其他运算的操作数,形成更复杂的表达式。 例:

– X num1+num2 a*(b+c)+d– 3.14 x<=(y+z) x&&y||z

Page 27: Java  编程基础

IBM Software Institute

课程大标题 2004 IBM Software Institute

Java 语言的语句和代码段 一个由分号( ; )结尾的单一命令是一条语句( Statement ),一条语句一般是一行代码,但也可以占多行代码

– 例如: int a = 1;

用大括号( {…… } )围起来的多条语句构成一个代码段( Code block)

class Aclass {

……

}

Page 28: Java  编程基础

IBM Software Institute

课程大标题 2004 IBM Software Institute

Java 语言的控制 条件语句 —— if else 、 switch

循环语句 —— while 、 do while 、 for

转移语句 —— break 、 continue 、 return

Page 29: Java  编程基础

IBM Software Institute

课程大标题 2004 IBM Software Institute

Java 语言的控制——条件语句 if else

if (expression)  statement1;[else      statement2;

if (expression1)  {  statement1  ;

}else if (expression2)  {  statement2;  }   ……     else if (expressionM) { 

statementM; }else {  statementN  ; }

Page 30: Java  编程基础

IBM Software Institute

课程大标题 2004 IBM Software Institute

Java 语言的控制——条件分支语句 switch

switch根据表达式的值来执行多个操作中的一个 switch(expression)  {  case value1:statement1;  break;  case value2:statement2;  break;  …………  case valueN:statementN;  break;  [default:defaultStatement;]}

Page 31: Java  编程基础

IBM Software Institute

课程大标题 2004 IBM Software Institute

Java 语言的控制—— if-else 与 switch

switch (month)  {  case 1:  System.out.println("January");  break;  case 2:  System.out.println("February");  break;  ……  case 12:  System.out.println("December");  break;   }

if (month= =1)   System.out.println("January");else if (month= =2)    System.out.println("February");……else if (month= =12)    System.out.println("December");

Page 32: Java  编程基础

IBM Software Institute

课程大标题 2004 IBM Software Institute

Java 语言的控制——循环语句 一个循环一般应包括四部分内容

– 初始化部分 (initialization)

– 循环体部分 (body)

– 迭代部分 (iteration)

– 终止部分 (termination)

Page 33: Java  编程基础

IBM Software Institute

课程大标题 2004 IBM Software Institute

Java 语言的控制——循环语句 While

t

b

false

true

[initialization] // 初始化条件while (termination){ // 循环条件 body; // 循环体 [iteration;] // 迭代变更循环条件}

Page 34: Java  编程基础

IBM Software Institute

课程大标题 2004 IBM Software Institute

Java 语言的控制——循环语句 do-while

t

b

false

true

[initialization] // 初始化条件do { body; // 循环体 [iteration;] // 迭代变更循环条件}while (termination); // 循环条件

Page 35: Java  编程基础

IBM Software Institute

课程大标题 2004 IBM Software Institute

Java 语言的控制——循环语句 for 语句

t

body

false

true

iteration

init

for (Init; Termination; Iteration) {body; // 循环体

}

Page 36: Java  编程基础

IBM Software Institute

课程大标题 2004 IBM Software Institute

循环语句比较

int n = 1, sum = 0;while ( n<=10 ) { sum = sum + n; n++;}

while 循环int n = 10, sum = 0;do { sum += n; n--;}while( n>0);

do-while 循环

int sum =0;for( int i=1; i<=10; i++ ) { sum += i;}

for 循环

Page 37: Java  编程基础

IBM Software Institute

课程大标题 2004 IBM Software Institute

Java 语言的控制——转移语句 break

break 语句总是和 switch 、 for 、 while 、 do-while 语句一起使用。

break 的作用是直接中断当前正执行的语句,跳出switch 或循环语句。

在 switch 语句中, break 用来终止 switch 的执行 , 使程序从 switch 语句后的第一个语句开始执行。

在循环中, break 语句用来终止当前循环体语句的执行,使程序转移到下一个语句 在多重循环中,不带标号的 break 语句将只退出它所在的内循环 对于带标号的 break 语句,其格式

为 :break  BlockLabel

Page 38: Java  编程基础

IBM Software Institute

课程大标题 2004 IBM Software Institute

Java 语言的控制——转移语句 return

从当前方法中退出,返回到调用该方法的语句处,继续程序的执 return 语句有两种格式

– 格式 1 : return  expression

返回一个值给调用该方法的语句,返回值的数据类型,必须与方法声明中的返回值类型一致。可使用强制类型转换。– 格式 2 : return当方法说明用 void声明时,返回类型为空,该格式不返回任何值。

一般通过把 return 语句嵌入某些语句中 ( 如 if-else), 来使程序在未执行完方法中的所有语句时退出

Page 39: Java  编程基础

IBM Software Institute

课程大标题 2004 IBM Software Institute

Java 语言的控制——转移语句 continue

该语句用来结束本次循环,跳过循环体中下面尚未执行的语句,接着进行终止条件的判断,以决定是否继续循环。对于 for 语句,在进行终止条件判断前,还要先执行迭代语句。 有两种格式 :

– 格式 1 : continue;– 格式 2 : continue  outerLable;


Top Related