java 编程基础

39
2004 IBM Software Institute Java 编编编编

Upload: iola-alexander

Post on 15-Mar-2016

123 views

Category:

Documents


8 download

DESCRIPTION

Java 编程基础. 主要内容. Java 语言的元素 Java 语言的控制. Java 语言的元素. 标识符 关键字 数据类型 运算符 分隔符. Java 语言的元素 —— 标示符. 变量、类和方法的名称称为标示符. Java 语言的元素 —— 关键字. 关键字是 Java 语言本身使用的标识符 关键字有特定的语法含义 所有的 Java 关键字将不能被用作标识符. Java type system. primitive. reference. null. char. numeric. boolean. class. interface. - PowerPoint PPT Presentation

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;