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

下载本文档

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

文档简介

1、 主编主编 贾振华贾振华 2010年年1月月 JAVA 编 程 技 术 合法标识符:合法标识符:$Programe,_java, $Programe_Java1,Programe2_1等。等。非法标识符:非法标识符:12Programe,&_java, $Programe Java1,%Programe21等。等。 Java标识符表示变量、方法或类等的名字。标识符表示变量、方法或类等的名字。定义的规则如下:定义的规则如下: 只能使用字母、数字、下划线和美元符。只能使用字母、数字、下划线和美元符。 只能以字母、下划线和美元符开头。只能以字母、下划线和美元符开头。 严格区分大小写,没有长度

2、限制。严格区分大小写,没有长度限制。 应该具有特定的意义。应该具有特定的意义。 JAVA 标 识 符 包(包(Package)命名规则)命名规则 全部小写全部小写 标识符用点号分隔开来。为了使包的名字更易标识符用点号分隔开来。为了使包的名字更易读。如读。如com.leadal.shanty 常用几个包名:常用几个包名: 1)dao:数据层数据层 2)service:逻辑层逻辑层 3)model:持久类定义包持久类定义包 4)web:表示层及控制表示层及控制层层 5)enums:枚举类型枚举类型 6)config:配置文件配置文件类包类包 7)resource:资源文件包资源文件包 JAVA 命

3、 名 规 则 类(类(Class)命名规则)命名规则 尽量以英文进行类定义尽量以英文进行类定义 所有类都以大写字母开头所有类都以大写字母开头 组合词每个词以大写字母开头,不用下划线或组合词每个词以大写字母开头,不用下划线或其他符号其他符号 避免使用单词的缩写,除非它的缩写已经广为避免使用单词的缩写,除非它的缩写已经广为人知,如人知,如HTTP JAVA 命 名 规 则 变量(变量(Variable)命名规则)命名规则 第一个字母小写,中间单词的第一个字母大写第一个字母小写,中间单词的第一个字母大写一般不用一般不用_或或$作为第一个字母作为第一个字母尽量使用短而且具有意义的单词尽量使用短而且具有

4、意义的单词单字符的变量名一般只用于生命期非常短暂的变单字符的变量名一般只用于生命期非常短暂的变量。例如:量。例如:i,j,k,m,n一般用于一般用于integers;c,d,e 一般用于一般用于characters 如果变量是集合,则变量名应用复数如果变量是集合,则变量名应用复数 所有常量名均全部大写,单词间以所有常量名均全部大写,单词间以_隔开隔开 JAVA 命 名 规 则 方法(方法(Method)命名规则)命名规则 第一个单词一般是动词。第一个单词一般是动词。 第一个字母是小写,但是中间单词的第一个字母第一个字母是小写,但是中间单词的第一个字母是大写。是大写。如果方法返回一个成员变量的值

5、,方法名一般为如果方法返回一个成员变量的值,方法名一般为get+成员变量名,如若返回的值是成员变量名,如若返回的值是bool变量,变量,一般以一般以is作为前缀。作为前缀。如果方法修改一个成员变量的值,方法名一般为如果方法修改一个成员变量的值,方法名一般为:set + 成员变量名。成员变量名。 JAVA 命 名 规 则 常用动词常用动词 获取单个对象获取单个对象 load 获取列表获取列表 find list 获取分页获取分页 page 搜索搜索 search 保存保存 save 添加添加 add insert 删除删除 delete remove 修改修改 update JAVA 命 名 规

6、 则 abstractabstractbreakbreakbytebytebooleanbooleancatchcatchcasecasecharcharclassclasscontinuecontinuedefaultdefaultdododoubledoubleelseelseextendsextendsfalsefalsefinalfinalfloatfloatforforfinallyfinallyififimportimportimplementsimplementsintintinterfaceinterfaceinstanceofinstanceoflonglonglengthl

7、engthnativenativenewnewnullnullpackagepackageprivateprivateprotectedprotectedpublicpublicreturnreturnswitchswitchsynchronizedsynchronizedshortshortstaticstaticsupersupertrytrytruetruethisthisthrowthrowthrowsthrowsthreadsafethreadsafetransienttransientvoidvoidvolatilevolatilewhilewhile JAVA 保 留 字 分隔符

8、有:空格、圆括号、花括号、分号等。分隔符有:空格、圆括号、花括号、分号等。每条语句无论一行还是多行都以分号结束。每条语句无论一行还是多行都以分号结束。块(块(Block)是包含在)是包含在 里面的多条语句,块里面的多条语句,块可以嵌套。空白插在代码的元素中间:由一个可以嵌套。空白插在代码的元素中间:由一个或多个空格组成,也可以由一个或多个或多个空格组成,也可以由一个或多个tab空空格组成多个空行。格组成多个空行。 JAVA 分 隔 符 (1)单行)单行 :/ (2)多行)多行 :/* */ (3)文档注释)文档注释 : /* * */ 单行注释,以单行注释,以换行符为结束。换行符为结束。多行注

9、释,注多行注释,注释内容较多。释内容较多。使用使用javadocjavadoc工具从工具从源代码和文档注释源代码和文档注释中将信息取出,然中将信息取出,然后转换为后转换为HTMLHTML文件。文件。 JAVA Java数据类型数据类型基本数据类型基本数据类型字符型字符型(char)布尔类型布尔类型(boolean)复合数据类型复合数据类型(引用类型)(引用类型) 类类(class) 接口接口(interface) 数组数组空类型空类型(null)数值类型数值类型 整数类型整数类型 实数类型实数类型 短整型短整型(short) 整型整型(int) 单精度浮点型单精度浮点型(float) 双精度浮

10、点型双精度浮点型(double) 长整型长整型(long) 字节型字节型(byte) JAVA 1.1.常量有字面常量和符号常量两种:常量有字面常量和符号常量两种:字面常量指其数值意义如同字面所表示的一样。字面常量指其数值意义如同字面所表示的一样。 整数常量整数常量 287 287 实型常量实型常量 3.14 3.14 字符常量字符常量 A A 布尔型常量布尔型常量 true true和和false false 字符串常量字符串常量“I love “I love U”U”符号常量是用符号常量是用JavaJava标示符表示的一种常量。标示符表示的一种常量。 定义的一般格式如下:定义的一般格式如下

11、: =; 例如:例如:final double PI = 3.141593;final double PI = 3.141593; final int COUNT = 1000; final int COUNT = 1000; JAVA JAVA 变量的作用域指它的存在范围,只有在这个范围变量的作用域指它的存在范围,只有在这个范围内程序代码才能访问它,按作用域的不同,变量可内程序代码才能访问它,按作用域的不同,变量可以有下面几种:以有下面几种:成员变量成员变量 类的内部类的内部 方法的外部,作用域整个类方法的外部,作用域整个类 局部变量局部变量 方法内部或方法一个代码块内部声明的方法内部或方法

12、一个代码块内部声明的方法参变量方法参变量 方法方法 异常处理参变量异常处理参变量 Exception-handler parameter变量的屏蔽与冲突变量的屏蔽与冲突块内定义的变量屏蔽所在类定义的同名变量块内定义的变量屏蔽所在类定义的同名变量同一块内定义两个同名变量将引起冲突同一块内定义两个同名变量将引起冲突 JAVA JAVA public class TestScopepublic static void main(String args) int a=2;/定义局部变量定义局部变量 int b=6;/定义局部变量定义局部变量 System.out.println(x=+x+ +y=+y

13、); System.out.println(a=+a+ +b=+b); function(); public static void function()int c=3; /定义局部变量定义局部变量int d=5; /定义局部变量定义局部变量System.out.println(x=+x+ +y=+y);System.out.println(c=+c+ +d=+d);static int x=1;/定义成员变量定义成员变量static int y=3;/定义成员变量定义成员变量 JAVA JAVA 1整型常量整型常量 整型多为十进制数形式,也可为八进制或十六整型多为十进制数形式,也可为八进制或

14、十六进制形式。进制形式。 Java整型数都为带符号数。整型数都为带符号数。 整型缺省为整型缺省为int型,若为长整型需在数据后加型,若为长整型需在数据后加字母字母l 或或 L 。 JAVA 整 型 数 据 I 2. 整型变量整型变量按照长度分为:按照长度分为:byte、short、int、类型常用,基本满足需要,再大的整数类型常用,基本满足需要,再大的整数long。byte类型范围很小,类型范围很小,-255到到+255之间。之间。short类型很少用,限制数据的存储为先高字类型很少用,限制数据的存储为先高字节,后低字节,在某种及其中会出错。节,后低字节,在某种及其中会出错。

15、例如:例如:byte b; short s; int i; long l; JAVA 整 型 数 据 II 1. 实型常量实型常量 十进制数形式表示,由数字和小数点组成,例十进制数形式表示,由数字和小数点组成,例如,如,3.25。 科学计数法形式表示,例如,科学计数法形式表示,例如,123E-3。 数后加数后加f或或F为为float,加,加d或或D为为double,没有,没有后缀修饰的则缺省为后缀修饰的则缺省为double类型。类型。 JAVA 实 型 数 据 I 2. 实型变量实型变量 实型变量按长度分为:实型变量按长度分为:float 和和 double。 双精度浮点型双精度浮点型doub

16、le比单精度浮点型比单精度浮点型float的的精度更高,表示数据的范围更大。精度更高,表示数据的范围更大。 例如:例如:float ; double d; JAVA 实 型 数 据 II 字符常量是用单引号括起来的一个字符,字符常量是用单引号括起来的一个字符,如:如:J、*。 Java中有以反斜杠(中有以反斜杠()开头的字符,反斜)开头的字符,反斜杠将其后面的字符转变为另外的含义,称为杠将其后面的字符转变为另外的含义,称为转义字符。转义字符。 JAVA 字符型数据 I Java中的字符型数据是中的字符型数据是16位的位的Unicode字字符(符(2个字节),汉字和英文字母占的内存个字节),汉字

17、和英文字母占的内存空间相同。空间相同。 “JAVA你好你好”共共12个字节。个字节。 变量的定义如下:变量的定义如下: char ch=c; JAVA 字符型数据 II 字符串常量是使用双引号括起来的字符序列字符串常量是使用双引号括起来的字符序列,注意:最后字符不是,注意:最后字符不是0。 例如:例如:Lets learn Java! 。字符串变量作为对象来处理,通过字符串变量作为对象来处理,通过String和和StringBuffer类的构造方法来定义。类的构造方法来定义。 String s=new String(); JAVA 字 符 串 数 据 布尔型常量值只有:布尔型常量值只有:tru

18、e true 和和 false false。 布尔型变量为布尔型变量为booleanboolean类型,去值为类型,去值为truetrue和和 falsefalse。 例如:例如:boolean b=true;boolean b=true; JAVA 布 尔 型 数 据 int a=(int)d; JAVA 类 型 转 换 JAVA 引用类型的变量是所引用的对象的内存地址。例子: public class MyDate private int day = 1; private int month = 1; private int year = 2000; public MyDate( int

19、day, int month, int year) . public void print() . class TestMyDate public static void main( String args) MyDate my_birth = new MyDate( 22, 7, 1964); JAVA 创建一个类对象:创建一个类对象: MyDate my_birth = new MyDate( 22, 7, 1964); JAVA Java中内存主要包含中内存主要包含4块:即块:即heap(堆内存)、(堆内存)、stack(栈内存)、(栈内存)、data segment(静态变量或是常(静

20、态变量或是常量存放区)、量存放区)、code segment(方法区)。(方法区)。堆内存:存放的是堆内存:存放的是new创建的对象和数组,创建的对象和数组,new创建创建的对象只包含的对象只包含Class的成员变量。的成员变量。 栈内存:存放的是局部成员变量。对于基本的数据类栈内存:存放的是局部成员变量。对于基本的数据类型存放的是基本变量的值,而对于对象变量,存放的型存放的是基本变量的值,而对于对象变量,存放的是堆内存的地址。是堆内存的地址。 Data segment :存放的是静态变量(类变量)或是:存放的是静态变量(类变量)或是常量。常量。 Code segment :存放的是对象的方法

21、。因此即使:存放的是对象的方法。因此即使new出多个对象也是只存在一个方法。出多个对象也是只存在一个方法。 JAVA 内 存 分 配 例如:例如: MyDate my_birth = new MyDate(22, 7, 1964) 那么对应的内存分配为:那么对应的内存分配为: my_birth在栈内存中,里面存放一个指向堆内在栈内存中,里面存放一个指向堆内存中存放存中存放new MyDate(22, 7, 1964)的地址。的地址。 new MyDate(22, 7, 1964)会在堆内存中分配一会在堆内存中分配一块空间,该内存中的块空间,该内存中的MyDate对象同时会含有对象同时会含有da

22、y、 month和和year。 print()方法会在方法会在codesegment区中分配内存。区中分配内存。 如果如果MyDate a = my_birth;则表示把则表示把my_birth的值复制给的值复制给a,即,即a的值为的值为my_birth中保存的中保存的地址地址 JAVA 内 存 分 配 包括:包括:+,-,*,/,%,+,-等。等。变量变量+:变量首先进行操作在自身进行加。:变量首先进行操作在自身进行加。例如,例如, int a=2; int b=a+; (a=3,b=2)+变量:变量自身首先加然后再进行操作。变量:变量自身首先加然后再进行操作。例如,例如, int a=2;

23、 int b=+a; (a=3,b=3) JAVA 算 术 运 算 符 完成操作数的比较运算,结果为布尔类型值。完成操作数的比较运算,结果为布尔类型值。包括:包括:=,!,!=,=,instanceof优先级低于算术运算符,执行顺序自左向右。优先级低于算术运算符,执行顺序自左向右。 JAVA 关 系 运 算 符 java 中的中的instanceof 运算符是用来在运行时指出对象是否是运算符是用来在运行时指出对象是否是特定类的一个实例。特定类的一个实例。instanceof通过返回一个布尔值来指出,通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。这个对象是否是这个特

24、定类或者是它的子类的一个实例。 用法:用法:result = object instanceof class参数:参数:Result:布尔类型。:布尔类型。Object:必选项。任意对象表达式。:必选项。任意对象表达式。Class:必选项。任意已定义的对象类。:必选项。任意已定义的对象类。说明:说明:如果如果 object 是是 class 的一个实例,则的一个实例,则 instanceof 运算符返回运算符返回 true。如果。如果 object 不是指定类的一个实例,或者不是指定类的一个实例,或者 object 是是 null,则返回,则返回 false。 JAVA 包括:包括:&

25、,|,!,&,|。注意区别简洁与注意区别简洁与&(或(或|)和非简洁与)和非简洁与&(或(或|)例如,例如,int a=6,b=8,c=10,d=12; boolean x=+ab+&c+d-;&,如果其前面的,如果其前面的表达式为假,则不表达式为假,则不再计算其后面的表再计算其后面的表达式达式 (a=7,b=9,c=10,d=12,x=false) boolean b=+ab+&c+d-; (a=7,b=9,c=10,d=12,x=false)&,不管其前面的,不管其前面的表达式为什么,都表达式为什么,都计算其后面表达式计算其后面表达式

26、 JAVA 逻 辑 运 算 符 按位取反按位取反,01010101=1010101001010101=10101010。 按位与按位与& &,11111001&10001111=1000100111111001&10001111=10001001。 按位或按位或| |,11111001|10001111=1111111111111001|10001111=11111111。 按位异或按位异或 ,1111100110001111=011101101111100110001111=01110110。 左移左移,101010112=1010110010101011,1

27、01010112=11101010101010112=11101010。 无符号右移无符号右移,101010112=00101010101010112=00101010。 JAVA 位 运 算 符 包括:包括:=,+=,-=,*=,/=,%=。例如,例如, int a=b=c=3; JAVA 赋 值 运 算 符 ( ? : )一般形式为:)一般形式为: 表达式表达式1 ?表达式?表达式2 :表达式:表达式3; 例如:例如: double salary=(x intanceof teacher)?2000:200; max = (ab) ? a:b min = (ab) ? a:b 运算符的优先

28、级运算符的优先级(参考:(参考: fc700afd22.html)对于表达式较为复杂,最好使)对于表达式较为复杂,最好使用括号,以避免出错。用括号,以避免出错。 JAVA 条 件 运 算 符 JAVA 如何考查这部分内容如何考查这部分内容设设a=6、b=-4,分别计算表达式的值:,分别计算表达式的值: 1、(a10? a:b) = ? 2、(-a)a = ? 3、-a%+b = ? 解答并解释计算过程。(再深入一步思考:解答并解释计算过程。(再深入一步思考:如果这些表达式放在一个程序段,顺序执行,如果这些表达式放在一个程序段,顺序执行,结果又是什么?)结果又是什么?) 输出:使用输出:使用Sy

29、stem.out对象进行输出。对象进行输出。Println( ):输出文本并换行。:输出文本并换行。Print( ):输出文本不换行。:输出文本不换行。输入:输入: 使用使用System.in对象输入。对象输入。try-catch与与read或或readLine方法。方法。throws IOException与与read或或readLine方法方法。 使用命令行参数使用命令行参数main( )方法的方法的args 。 JAVA import java.util.Scanner;public class ScannerDemo public static void main(String arg

30、s) Scanner scanner= new Scanner(System.in); System.out.print(请输入您的姓名:请输入您的姓名:); System.out.printf(Hello! %s!n, scanner.next(); scanner.close(); JAVA import java.io.*;public class BufferedReaderDemo public static void main(String args) throws IOExceptionBufferedReader bufferedReader = new BufferedRea

31、der(new InputStreamReader(System.in);System.out.print(请输入一列文字,可以包括空白:请输入一列文字,可以包括空白:);String text = bufferedReader.readLine();System.out.println(您输入的文字:您输入的文字: + text); JAVA import java.io.*;class inout public static void main(String args)throws IOException byte buf=new byte50; double mul=1d; int n=

32、Integer.parseInt(args0); for(int i=0;i 90 ) 师父奖励令狐冲;师父奖励令狐冲;结合问题结合问题2基本的基本的if条件结构条件结构表表达达式式语句语句假假真真 JAVA 回顾:如果令狐冲的回顾:如果令狐冲的Java考试成绩大于考试成绩大于90分,师父就奖分,师父就奖励他独孤九剑剑谱励他独孤九剑剑谱使用使用if条件结构该如何实现条件结构该如何实现import java.util.Scanner;public class HelloJava2 public static void main(String args) Scanner input = new S

33、canner(System.in); System.out.print(输入令狐冲的输入令狐冲的Java成绩成绩: ); int score = input.nextInt(); /令狐冲的令狐冲的Java成绩成绩 if ( score 90 ) /判断是否大于判断是否大于90分分 System.out.println(师父说师父说:不错,给你独孤九剑剑谱不错,给你独孤九剑剑谱); JAVA if-else条件结构条件结构if ( 条件条件 ) /语句语句1 else /语句语句2 if ( 令狐冲考试成绩令狐冲考试成绩 90 ) 师父奖励令狐冲;师父奖励令狐冲;else 师父罚他闭关思过;师

34、父罚他闭关思过;结合问题结合问题4真真表表达达式式语句语句1假假语句语句2 JAVA if ( 条件条件 ) /语句语句 else if ( 条件条件 ) /语句语句 else /语句语句 可以有多个可以有多个可以省略可以省略多重多重if结构结构假假真真真真假假表表达达式式1语句语句1表表达达式式2语句语句2语句语句3 JAVA多重多重if结构就是在结构就是在else部分中还包含其他部分中还包含其他if块块 switch (表达式表达式) case 常量常量 1:语句语句;break; case 常量常量 2:语句语句;break;default:语句语句;switch结构结构计算表达式的值计

35、算表达式的值如果等于常量如果等于常量1 如果等于常量如果等于常量2 如果没有找到匹配的值如果没有找到匹配的值 JAVA 相同点相同点不同点不同点switch多重多重if都可以实现多分支结构都可以实现多分支结构只能处理等值的条件判断,且条件是整型变量或字符只能处理等值的条件判断,且条件是整型变量或字符变量的等值判断变量的等值判断处理在处理在else部分还包含其它部分还包含其它if结构,特别适合某个变结构,特别适合某个变量处于某个区间时的情况量处于某个区间时的情况 JAVA 特点:先判断,再执行特点:先判断,再执行while ( 循环条件循环条件 ) 循环操作循环操作符合条件,循环继续执符合条件,

36、循环继续执行;否则,循环退出行;否则,循环退出循环中被重复循环中被重复执行的操作执行的操作int i = 1;while ( i = 30 ) System.out.println(我能行!我能行!); i +;循环操作循环操作 循环条件循环条件 真真假假 JAVA do 循环操作循环操作 while ( 循环条件循环条件 );先执行一遍循环操作先执行一遍循环操作符合条件,循环继续执行;符合条件,循环继续执行;否则,循环退出否则,循环退出循环操作循环操作 循环条件循环条件 真真假假 JAVA特点:先执行,再判断特点:先执行,再判断 while循环和循环和do-while循环的区别循环的区别语法

37、不同语法不同初始情况不满足循环条件时初始情况不满足循环条件时while循环一次都不会执行循环一次都不会执行do-while循环不管任何情况都至少执行一次循环不管任何情况都至少执行一次do 循环操作循环操作 while( 循环条件循环条件 );while ( 循环条件循环条件 ) 循环操作循环操作先判断,再执行先判断,再执行先执行,再判断先执行,再判断 JAVA return语句:从方法中返回值语句:从方法中返回值break语句:语句:不带标号不带标号break 语句语句从循环体内跳出至后面语句,结束当前循环。从循环体内跳出至后面语句,结束当前循环。跳出当前循环体,不是跳出当前大括号对。跳出当前

38、循环体,不是跳出当前大括号对。循环嵌套时,循环嵌套时,break 语句只跳出当前循环。语句只跳出当前循环。跳出跳出switch分支。分支。带标号的带标号的break语句语句采用采用 label: 的形式定义标号的形式定义标号跳出标号标志的循环体:跳出标号标志的循环体:break label; JAVA continue 语句语句不带标号的不带标号的continue跳过本轮循环剩余语句跳过本轮循环剩余语句,直接进入当前循环体直接进入当前循环体的下一轮。的下一轮。带标号的带标号的continue跳过循环剩余语句跳过循环剩余语句,直接进入标号所指的循环直接进入标号所指的循环体的下一轮循环。体的下一轮

39、循环。 JAVA break:改变程序控制流:改变程序控制流用于用于do-while、while、for中时,可跳出中时,可跳出 循环而执行循环后面的语句循环而执行循环后面的语句while() break; 跳出整个循环跳出整个循环break通常在循环中与通常在循环中与条件语句一起使用条件语句一起使用 JAVA int i = 2;switch(i) case 1: System.out.println(星期一星期一); break; case 2: System.out.println(星期二星期二); break; /其他语句其他语句遇到遇到break,立即跳出,立即跳出switch语句语

40、句回顾回顾break用于用于switch语句语句描述描述4000米长跑比赛米长跑比赛for (int i = 0; i10; i+) 跑跑400米;米; if(不能坚持) break; /退出比赛 第第8圈,圈,快累死了快累死了我要退出我要退出 JAVA continue :只能用在循环里:只能用在循环里continue 作用:跳过循环体中剩余的语句而执作用:跳过循环体中剩余的语句而执行下一次循环行下一次循环while() continue; 继续下一次循环继续下一次循环通常与条件语句一起使通常与条件语句一起使用,加速循环用,加速循环for(int i = 0; i10;i+) 跑跑400米;

41、米; if(!口渴)(!口渴) continue; /不喝水,继续不喝水,继续跑跑 接过水壶,喝水接过水壶,喝水;示例示例 JAVA 思考思考说一说在循环中使用说一说在循环中使用continue和和break的区别?的区别? int sum=0;for( int i=0;i5;i+) if( i = 3) break; sum=sum+i;System.out.println(sum = +sum);sum = 3sum = 7输出值是多少?如果将输出值是多少?如果将break替换成替换成continue,输出值又为多少?,输出值又为多少?替换后替换后 思考思考int i=0;int sum=

42、0;while( i10 ) sum=sum+i; i+;int i=0;int sum=0;do sum=sum+i; i+;while(i10);int sum=0;for(int i=0;i10;i+)sum=sum+i;123412341234while和和for相同,先进行判断,后执行循环体内容相同,先进行判断,后执行循环体内容do-while是先执行,后判断,至少执行一次是先执行,后判断,至少执行一次指出各种循环结构的执行顺序?指出各种循环结构的执行顺序? 顺序结构:语句顺序执行顺序结构:语句顺序执行 分支结构:语句在满足条件下执行分支结构:语句在满足条件下执行if, if-els

43、e, if-else if-else, switch 循环结构:语句在满足条件下循环执行多次循环结构:语句在满足条件下循环执行多次while, do-while, for 跳转语句跳转语句break, continue JAVA 字画类字画类好办法好办法分类放,易于找分类放,易于找1 1、格子提供了存储空间、格子提供了存储空间2 2、每一类别都起一个名字、每一类别都起一个名字3 3、每件物品都有个标号、每件物品都有个标号古玩类古玩类 JAVA生活案例:博物架生活案例:博物架 类比博物架:可不可以把数据归类存放?类比博物架:可不可以把数据归类存放?分类存放不同类型的数据分类存放不同类型的数据 J

44、AVA1520680int类型类型12.515.666.7899.588.7double类型类型aghfkchar类型类型 8010098677882内存内存整型数组整型数组int b = 100,98,; 整型变量整型变量int a = 80; JAVA 1、声明数组、声明数组2、分配空间、分配空间3、赋值、赋值4、处理数据、处理数据int a; 或者或者 int a5; a = new int5; a 0 = 8; a 0 = a0 * 10; a8 80a0 JAVA int score1; /Java成绩成绩int score2 ; /C#成绩成绩String name; /学生姓名学

45、生姓名声明数组声明数组: : 告诉计算机数据类型是什么告诉计算机数据类型是什么1数据类型数据类型 数组名数组名 ; ; 数据类型数据类型 数组名数组名 ; ; JAVA score = new int30; avgAge = new int6; name = new String30;30分配空间分配空间: : 告诉计算机分配几个格子告诉计算机分配几个格子数组属于引用数数组属于引用数据类型据类型 2数据类型数据类型 数组名数组名 = new 数据类型数据类型大小大小 ; 声明数组并分配空间声明数组并分配空间 JAVA score0 = 89;score1 = 79;score2 = 76;赋值

46、:向分配的格子里放数据赋值:向分配的格子里放数据30score0score1score2 89 79 76太麻烦!能不能太麻烦!能不能一起赋值?一起赋值?3 JAVA 方法方法1: 边声明边赋值边声明边赋值方法方法2:动态地从键盘录入信息并赋值:动态地从键盘录入信息并赋值解决解决int score = 89, 79, 76;Scanner input = new Scanner(System.in);for(int i = 0; i 30; i +) scorei = input.nextInt();input.close();int score = new int 89, 79, 76; J

47、AVA public class HelloJava public static void main(String args) int score = new int3; score0 = 89; System.out.println(score1); 00008900012输出结果输出结果 JAVA 6080907085int score = 60, 80, 90, 70, 85;double avg;avg = (score0 + score1 + score2 + score3 + score4)/5; int score = 60, 80, 90, 70, 85;int sum = 0

48、;double avg;for(int index = 0; index score.length; index+) sum = sum + scoreindex;avg = sum / score.length; 成成绩绩单单访问数组成员:使访问数组成员:使用用“标识符标识符下标下标”访问成员访问成员数组的数组的length属性属性对数据进行处理:计算对数据进行处理:计算5 5位学生的平均分位学生的平均分 JAVA public class HelloJava2 public static void main(String args) int score = new int ; score0

49、 = 89; score1 = 63; System.out.println(score0); 编译出错,没有写明数编译出错,没有写明数组的大小组的大小 JAVA public class HelloJava3 public static void main(String args) int score = new int2; score0 = 89; score1 = 63; score2 = 45; System.out.println(score2); 编译出错,数组编译出错,数组越界越界 JAVA public static void main(String args) int sco

50、re = new int5; score = 60, 80, 90, 70, 85 int score2; score2 = 60, 80, 90, 70, 85; 编译出错,创建数组并编译出错,创建数组并赋值的方式必须在一条赋值的方式必须在一条语句中完成语句中完成 JAVA Java中中 = 运算用于基本数据时,是将值复制运算用于基本数据时,是将值复制给变量,但当它用于对象时,则是将对象指定给变量,但当它用于对象时,则是将对象指定给引用名称来引用。也可以将同一个对象指定给引用名称来引用。也可以将同一个对象指定给两个名称,当对象的值由其中一个引用名称给两个名称,当对象的值由其中一个引用名称进行

51、操作而变更时,另一个引用到的值也会变进行操作而变更时,另一个引用到的值也会变动。动。 JAVA public class AdvancedArray public static void main(String args) int arr1 = 1, 2, 3, 4, 5; int tmp1 = arr1; int tmp2 = arr1; System.out.print(通过通过tmp1取出数组值:取出数组值:); for(int i = 0; i tmp1.length; i+) System.out.print(tmp1i + ); System.out.print(n通过通过tmp2

52、取出数组值:取出数组值:); for(int i = 0; i tmp2.length; i+) System.out.print(tmp2i + ); tmp12 = 9; System.out.print(nn通过通过tmp1取出数组值:取出数组值:); for(int i = 0; i tmp1.length; i+) System.out.print(tmp1i + ); System.out.print(n通过通过tmp2取出数组值:取出数组值:); for(int i = 0; i tmp2.length; i+) System.out.print(tmp2i + ); Syste

53、m.out.println(); JAVA 对数组元素通过对数组元素通过 for 遍历一遍遍历一遍System类提供的类提供的arraycopy()方法方法 System.arraycopy(来源,起始索引,目的来源,起始索引,目的,起始索引,复制长度,起始索引,复制长度)从从JDK6开始,为开始,为Arrays类增加了复制的类增加了复制的copyof()方法方法 (Arrays类位于类位于java.util包中)包中) JAVA 从从Java5.0开始增加了开始增加了foreach语法,又称为强语法,又称为强化化for循环。用法:循环。用法: for(type element :array) System.out.println(element); 二维数组二维数组 for(int row:arr) for( int element :row) System.out.println(element); JAVA Java中的字符串也是类。中的字符串也是类。由于使用频繁,有时也被视为基本类型由于使用频繁,有时也被视为基本类型遇到双引号自动

温馨提示

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

评论

0/150

提交评论