版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1第第2章章 java语言基础语言基础标识符、关键字和类型标识符、关键字和类型表达式与程序流控制表达式与程序流控制数组数组2标识符标识符标识符包括:标识符包括: 变量名,类名,方法(函数)名变量名,类名,方法(函数)名以字母,以字母,_,或,或$开头开头 大小写敏感,且长度没有限定大小写敏感,且长度没有限定如:如:usernameuser_name_sys_varl$change3风格约定:风格约定: _,$不作为变量名,方法名开头不作为变量名,方法名开头 变量名、方法名首单词小写,其余单词只有变量名、方法名首单词小写,其余单词只有 首字母大写首字母大写 如如anyvariableworld
2、接口名、类名首单词第一个字母大写。接口名、类名首单词第一个字母大写。 常量:完全大写常量:完全大写 注释:注释:/ 注释一行注释一行 /* */注释一行或多行注释一行或多行 /* 可用可用javadoc命令转化为命令转化为html文件文件*/标识符标识符4关键字关键字* 当前不使用 * 为java 2 增加的5java 基本数据类型基本数据类型逻辑型逻辑型文字型文字型整数类型整数类型浮点型浮点型6逻辑型:逻辑型:boolean adj. 布尔数学体系的布尔数学体系的 , 取值取值:true , false例如:例如:boolean truth n. 事实;真理;实质;诚实事实;真理;实质;诚实
3、 = true;基本数据类型基本数据类型-逻辑型与文字型逻辑型与文字型7文字型:文字型:char 、string char: 16位的位的unicode(国际码)字符。国际码)字符。如,如,char mychar=q; unicode字符集是一套字符编码系统,可以支持字符集是一套字符编码系统,可以支持各类文字的字符,达各类文字的字符,达34168个字符。个字符。 定义形式:定义形式:a; t; u? string 是类,是类,string greeting=“good morning! n”;基本数据类型基本数据类型-文字型文字型8整数类型:整数类型:byte, short, int 和和 l
4、ong类型类型长度长度取值范围取值范围byte8位位-27 27-1short16位位 -215 215-1int32位位 -231 231-1long64位位 -263 263-1基本数据类型基本数据类型-整数类型整数类型9 java中缺省整型是中缺省整型是 int可有可有3种形式:十进制、八进制、十六进制种形式:十进制、八进制、十六进制十进制十进制八进制八进制十六进制十六进制int 2407710xab07long 24l0771l0xab07l整型常量整型常量10浮点型:浮点型:float 和和 double长度:长度: float : 32位位 double: 64位位缺省是缺省是 d
5、ouble 类型,如类型,如3.14 (double 型)型)表达方法:表达方法:e或或e - 科学记数法科学记数法 6.02e23f或或f - 表示表示float类型,类型, 6.02e23fd或或d - 表示表示double 型,型, 2.718d基本数据类型基本数据类型-浮点型浮点型11jdk1.6jdk1.6中的枚举类型中的枚举类型public enumn. 枚举,列举型别;电话号码映射 names li,zhang,wang,zhao,chennames name = names.wang;12类的初步概念类的初步概念“日期日期”类型的两种不同表达:类型的两种不同表达:方式一:方式一
6、:int day, month, year; /定义年、月、日定义年、月、日int d1,m1,y1; / 定义一个日期定义一个日期int d2,m2,y2;/定义另一个日期定义另一个日期方式二:方式二: class dateint day;int month;int year;void setdate( int a, int b, int c). java用用class创建新的类型。创建新的类型。13类的变量的声明与引用类的变量的声明与引用在在java中,一个类中,一个类的变量的变量声明后,不能直接引用,必须经过声明后,不能直接引用,必须经过实例化:实例化: 基本类型声明后,直接开空间。基本
7、类型声明后,直接开空间。如:如: int a; a = 12; 非基本类型不直接开空间,而是开辟引用空间,数据空间非基本类型不直接开空间,而是开辟引用空间,数据空间没有开。只有通过实例化,才能给数据开辟空间。没有开。只有通过实例化,才能给数据开辟空间。14类的变量的声明与引用类的变量的声明与引用例:例: 1date today;2today = new date( );today daymonthyear0 xabcd0000 xabcd15引用变量之间的赋值引用变量之间的赋值1date a, b ;2a=new date( );3b = a ;ab daymonthyear0 xabcd00
8、00 xabcd0 xabcd16运算符与表达式运算符与表达式与与c不同之处:不同之处: java是强类型语言,类型限制比是强类型语言,类型限制比c严格,运算严格,运算符的操作对象的类型会受到更多限制。符的操作对象的类型会受到更多限制。 java不提供指针运算符,增加了对象操作符不提供指针运算符,增加了对象操作符instanceof,字符串运算符,字符串运算符+和零填充的右移和零填充的右移等。等。17算术运算操作符:算术运算操作符:+,-,*,/, %, +, - -关系操作符:关系操作符:, =, , , & , |, (逐位异或),逐位异或), (按位取反)按位取反)逻辑操作符:逻辑操作符
9、:&, |, !, (异或异或),&, |赋值操作符:赋值操作符:=, +=, -=, *=, /=, %=,&=, |=, =, =, =其它操作符其它操作符: ?: , , . , ( ),(type), new, instanceofjava操作操作符类别符类别18逻辑操作符与位操作符相同的,根据操作数逻辑操作符与位操作符相同的,根据操作数判定是何种运算符判定是何种运算符 &, | - 称为不短路与、或;称为不短路与、或; &,| - 称为短路与、或。称为短路与、或。逻辑操作符与位操作符逻辑操作符与位操作符19用用+ 运算符连接字符串运算符连接字符串string salutation =
10、 “dr. ”;string name = “pete” + “seymour” ;string title = salutation + name ;则则title 值:值:dr. pete seymour 20右移操作符右移操作符 和和 :带符号右移:带符号右移1010 2 111010. :无符号右移,以:无符号右移,以0 填充填充1010 2 001010 .21java 强制类型转换强制类型转换一般形式:一般形式:(type) expression例:例:(float)x/2对强制类型转换的限制:对强制类型转换的限制:整型与浮点型可以相互转换,但基本类型整型与浮点型可以相互转换,但基
11、本类型 和数组、对象等复合类型之间不能互相转换。和数组、对象等复合类型之间不能互相转换。22位操作示例位操作示例public class bitwisedemo static final int visible = 1; static final int draggable = 2; static final int selectable = 4; static final int editable = 8; public static void main(string args) int flags = 0; flags = flags | visible; flags = flags |
12、draggable; if (flags & visible) = visible) if (flags & draggable) = draggable) system.out.println(flags are visible and draggable.); 23flags = flags | editable; if (flags & editable) = editable) system.out.println(flags are now also editable.); flags are visible and draggable.flags are now also edit
13、able.运行结果:运行结果:24程序流控制程序流控制 while do while for if else switch25whilewhile语句举例语句举例public class whiledemo public static void main(string args) string copyfromme = copy this string until you + encounter the letter g.; stringbuffer copytome = new stringbuffer(); int i = 0; char c = copyfromme.charat(i);
14、 while (c != g) copytome.append(c); c = copyfromme.charat(+i); system.out.println(copytome); copy this strin结果:结果:26do-whiledo-while语句示例语句示例public class dowhiledemo public static void main(string args) string copyfromme = copy this string until you + encounter the letter g.; stringbuffer copytome =
15、new stringbuffer(); int i = 0; char c = copyfromme.charat(i); do copytome.append(c); c = copyfromme.charat(+i); while (c != g); system.out.println(copytome); copy this strin结果:结果:27jdk1.6jdk1.6中中for for 循环的优化循环的优化l将一个集合作为一个整体放入将一个集合作为一个整体放入for循环中,在循环中,在for循环中可将集合中的元素进行逐个处理。循环中可将集合中的元素进行逐个处理。 string
16、names =wang,zhang,li,wu;for(string option: names) system.out.println(option); 28特殊跳转语句特殊跳转语句 break label 从从switch语句、循环语句中跳出。语句、循环语句中跳出。 continuelabel 跳过标号循环体的其余部分,不带跳过标号循环体的其余部分,不带label 跳过跳过 最内层循环的剩余语句。最内层循环的剩余语句。 label: statement29特殊跳转语句举例特殊跳转语句举例1 loop: while (true)2 for( )3switch( )4case -1:5case
17、 n:6break loop ; 78910 11 test: for( )12 13 while( )14if( )1516continue test ;17 18 19 /跳出跳出while去去11行行/ 跳到跳到11行行30数组数组声明数组声明数组数组的创建与初始化数组的创建与初始化多维数组多维数组数组拷贝数组拷贝31数数 组组l数组中的元素都是同一种类型。数组中的元素都是同一种类型。l数组的长度在创建的时候确定,并且在创数组的长度在创建的时候确定,并且在创建后固定不变。建后固定不变。l如果要建立存储不同类型数据的集合,或如果要建立存储不同类型数据的集合,或者要求集合的长度可以动态变化,
18、可以使者要求集合的长度可以动态变化,可以使用用collection(集合)类。(集合)类。32数组声明数组声明可以声明基本类型和类类型的数组可以声明基本类型和类类型的数组声明包含两部分:数组类型与数组名称。声明包含两部分:数组类型与数组名称。格式:格式: c,c+ 标准形式:标准形式:char s ; point p ; char s ; point p ;33数组声明数组声明在在java中中数组作为类来处理数组作为类来处理,所以数组,所以数组 声明并不创建实例对象,而是创建一声明并不创建实例对象,而是创建一 个可用来引用该数组的引用。个可用来引用该数组的引用。34数组的创建与初始化数组的创建
19、与初始化可以象其它对象一样,使用可以象其它对象一样,使用new来创建,格式:来创建,格式:new new elementtypeelementtype arraysizearraysize 例:例: s = new char20; /创建有创建有20个字符的数组个字符的数组 p = new point100; /创建创建100个个point的引用数组的引用数组 35数组的初始化数组的初始化数组元素是被初始化的。数组元素是被初始化的。字符串字符串 - u0000, null对象数组对象数组 - null用初始值创建数组用初始值创建数组string names = “jack”, “wang”,
20、“lee”;int a = 1, 2, 3;date d = new date( ), new date( ), new date( )36对象数组对象数组除了基本类型以外,还可以创建对象类型的数组。除了基本类型以外,还可以创建对象类型的数组。point p ; p = new point100; /创建创建100个引用个引用创建创建100个个point对象:对象:p0 = new point( );p1 = new point( );37对象数组举例对象数组举例public class arrayofstringsdemopublic class arrayofstringsdemo pub
21、lic static void main(string args public static void main(string args) ) string anarray string anarray = string one, string two, = string one, string two, string three ; string three ; for (int i = 0; i anarray.length for (int i = 0; i anarray.length; i+) ; i+) system.out.println(anarrayi.tolowercase
22、system.out.println(anarrayi.tolowercase(); (); 38多维数组多维数组声明方法声明方法 int a ; 或或int a;实例化实例化 a = new int44; /直接为每一维分配内存,生成规则数组直接为每一维分配内存,生成规则数组 a = new int4 ; / 只有最后维可以不给值,其它都要给,可只有最后维可以不给值,其它都要给,可 /以生成不规则数组以生成不规则数组 a0 = new int10 ; a1 = new int5; 数组成员变量数组成员变量length - 数组元素个数数组元素个数: a = new int 1012; a.l
23、ength = 10 ; a0.length = 12 ;39多维数组示例多维数组示例public class arrayofarraysdemo2 public class arrayofarraysdemo2 public static void main(string argspublic static void main(string args) ) int amatrixint amatrix = new int4; = new int4; /populate matrix /populate matrix for (int i = 0; i amatrix.lengthfor (i
24、nt i = 0; i amatrix.length; i+) ; i+) amatrixiamatrixi = new int5; /create sub-array = new int5; /create sub-array for (int j = 0; j amatrixi.lengthfor (int j = 0; j amatrixi.length; j+) ; j+) amatrixij amatrixij = i + j; = i + j; /print matrix /print matrix for (int i = 0; i amatrix.lengthfor (int i = 0; i amatrix.length; i+) ; i+) for (int j = 0; j amatrixi.lengthfor (int j = 0; j amatrixi.length; j+); j+) system.out.print(amatrixij + ); system.out.print(amatrixij + ); system.out.printlnsystem.out.println(); (); 40数组拷贝数组拷贝数组一旦创建,其大小不可变,但已有的数组变量数组一旦创建,其大小不可变,但已有的数组变量 可指向全新的数组;该数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 自然语言处理应用策略
- 金太阳2026届高三联考313C化学试题(含答案)
- 疼痛护理中的疼痛预防
- 护理美学与康复护理
- 2026年干扰采样环境或采样活动(喷淋 遮挡)的识别与处置
- 流行腮腺炎护理要点总结
- 2026年雨水花园 生物滞留带长效运维技术要点
- 2025年前台服务测试
- 2026年社区中医理疗馆与商圈旗舰店模式对比与选址策略
- 精神病护理中的紧急情况处理
- (已压缩)广东省工程勘察设计服务成本取费导则(2024版)
- 2024年海南省烟草专卖局招聘考试真题
- 大连重工:中企华评报字(2024)第5436号资产评估报告
- 档案馆数字档案馆建设方案
- 《房颤抗凝新进展》课件
- TB-10414-2018-铁路路基工程施工质量验收标准
- 中职高考《农业经营与管理》考试题库大全-中(多选题)
- 苏教版小学科学五年级下册单元测试题(含答案)
- 全国中学生物理竞赛公式
- 鼻咽癌患者放疗护理课件整理
- 上市公司内部控制手册模板
评论
0/150
提交评论