




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,第二章 Java语言的基础知识,贺玉珍 ,计算机科学与技术系,2,主要内容,Java标识符 Java关键字 Java数据类型 运算符和表达式 控制语句 引用 数组,计算机科学与技术系,3,计算机科学与技术系,2.1 Java标识符,标识符:对各种变量、方法和类等要求命名时使用的字符序列(或凡是自己可以起名字的地方都可叫标识符) 命名规则: 良好的命名习惯,由合法字符(大小写字母、汉字、希腊字母等)、数字、下划线组成。 由合法字符、下划线或美元符号$开头。 大小写敏感。 长度无限制。,应“见名知意”,且不能与Java关键字重名。 一般根据变量的功能用一个或多个适当的单词组合来作名字。,4,计算机科学与技术系,2.1 Java标识符,例: 例:Test1.java,合法的标识符 HelloWorld $money myClass _78331 ¥money 哈喽世界,不合法的标识符 Hello World abc.cls class 78331 Sum-Week,5,计算机科学与技术系,2.2 Java关键字,一些赋予特定的含义,用做专门用途的字符串(大多数编辑器都会以特殊颜色标出) 所有关键字都是由小写英文字母组成。 JDK 5.0增加了enum关键字等。,6,计算机科学与技术系,2.3 Java数据类型,Java各种数据类型有固定的字段长度,其不受具体操作系统的影响,以保证Java程序的可移植性。,7,计算机科学与技术系,2.3 Java数据类型,2.3.1 字符类型char 2个字节,用单引号括起来的单个字符。 字符涵盖所有语言涉及的字符,包括汉字、日文和韩文等。也可用十六进制编码形式表示。(因为Java采用Unicode编码系统,每个字符占两个字节) 字符分为普通字符和特殊字符(如转义字符n,r,t) 所有字符可以采用统一的书写方式表示:u+字符编码 如: char eChar = a; char c1 = u0062; char cChar = 中; char c2 = n; /n代表换行符,char eChar = a; char cChar = 中; char c1 = u0061;,char c2 = n; /n代表换行符,8,计算机科学与技术系,2.3 Java数据类型,2.3.2 布尔类型boolean 1个字节,适于逻辑运算,一般用于程序流程控制。 boolean类型数据只允许取值true或false。 注意: true和false这两个值不能加单引号 只能小写 不可以用0或非0的整数替代。 用法举例:,boolean flag; flag = true; if(flag) / do something ,9,计算机科学与技术系,2.3 Java数据类型,2.3.3 整数类型,所有整数都是有符号数。 整型常量有三种表示形式:十进制、八进制(前面加0)、十六进制(前面加0x或0X) 整型变量默认类型为int类型。 long类型数据的值则需在数值后加L或l 。,10,计算机科学与技术系,2.3 Java数据类型,2.3.4 浮点类型,所有浮点数都是有符号数。 浮点型常量有两种表示形式:十进制、科学计数法。 浮点型变量默认类型为double类型。 float类型数据的值则需在数值后加f或F。 浮点数不存在0这个数值。“误差” “精度” 一般不用浮点数进行等值比较。,11,计算机科学与技术系,2.3 Java数据类型,2.3.5 基本数据类型转换,boolean类型不可以与其他数据类型进行转换。 自动类型转换 强制类型转换,int i = 1; int sum; float f = 1.0f; sum = i + f; /将出错。应为sum = (int)(i + f);,12,计算机科学与技术系,2.4 Java常量,Java约定常量的标识符全部使用大写英文字母表示。 声明常量使用关键字final来修饰。 格式:final 类型名 标识符=值; 如: 常量的类型和取值范围和变量都是一样的。,final float PI = 3.14;,13,计算机科学与技术系,2.5 Java变量,Java变量是程序中最基本的存储单元。 三要素:变量名、变量类型、作用域 变量在使用前必须先声明,后使用。声明格式为: 例: 可以在程序中的任何一个地方做变量的声明,只要在使用之前声明即可。 注意:,type varName =vlaue, varName=value,选择适当的数据类型,以免造成内存的浪费。 初始值的设定。,int i, j, sum = 0;,14,计算机科学与技术系,2.5 Java变量,Java变量的分类 按被声明的位置不同划分: 按所属的数据类型不同划分: 例:TestVar1.java,局部变量:方法或语句块内部定义的变量(包括形参) 成员变量:方法外部、类的内部定义的变量,基本数据类型变量 引用数据类型变量,public class TestVar1 static int j; /j为成员变量 public static void m() int i = 0; /i为局部变量,作用域为m()方法内部 System.out.println(i); public static void main(String args) System.out.println(j); m(); ,15,计算机科学与技术系,2.5 Java运算符,Java语言支持如下运算符: 内存分配运算符new 实例运算符instanceof 分量运算符. 下标运算符 强制类型转换运算符(类型),16,计算机科学与技术系,2.6 Java表达式,表达式是符合一定语法规则的运算符和操作数序列。 表达式的类型和值 表达式的运算顺序 优先级建议使用(),17,计算机科学与技术系,2.7 Java语句,是标识符的集合,由关键字、常量、变量和表达式构成 分类:,方法调用语句,如 System.out.println(“Hello!”); 表达式语句,如 int i = 5; 复合语句/语句块,用括起来 package语句 和 import语句 流程控制语句 注释语句,18,计算机科学与技术系,2.7 Java语句,流程控制语句,选择/分支语句:if-else; switch 循环语句:while; do-while; for 与程序转移有关的跳转语句:break; continue; return 异常处理语句:try-catch-finally; throw,19,计算机科学与技术系,2.8 引用(reference),Java语言中除基本类型之外的变量类型都称之为引用类型。 Java中的对象是通过引用对其操作的。 每个引用占据4个字节的内存空间,且初始值为null。 当new出来对象后,该引用的值则指向对象实际所在的内存中的位置。,/*声明了一个String类型的引用变量,但并没有使它指向一个对象*/ String s; /*使用new语句创建了一个String类型的对象并用s指向它,以后可以通过s完成对其的操作。*/ s = new String(“Hello World!”);,20,计算机科学与技术系,2.8 引用(reference),引用类型和基本类型的最大区别是内存分配的不同。,基本类型变量在内存中只占一块内存。 而引用类型的对象在内存中占有两块内存,其中一块存放引用(栈中),另一块则存放真正的数据(堆中)。,21,计算机科学与技术系,程序执行过程,分类:,方法调用语句,如 System.out.println(“Hello!”); 表达式语句,如 int i = 5; 复合语句/语句块,用括起来 package语句 和 import语句 流程控制语句 注释语句,22,计算机科学与技术系,2.9 数组,一种引用数据类型。 是一组具有相同性质的元素的有序集合。 数组元素可以是任何数据类型,包括基本数据类型和引用数据类型。 一维数组,多维数组 Java中,数组首先是对象,所以需先声明。且只能用new来为数组分配内存空间。 多维数组可以是不规则的(锯齿型数组)。,23,计算机科学与技术系,2.9.1 一维数组,1. 一维数组的声明 一维数组的声明方式: 例: Java语言中声明数组时不能指定其长度(数组中元素的个数)。例如:,type var; 或 type var;,int a1; int a2; double b; Person p1; String s1;,int a5; /非法,24,计算机科学与技术系,2.9.1 一维数组,2. 一维数组对象的创建和初始化 Java中使用关键字new创建数组对象,格式为: 初始化方法: 方法一、遍历数组元素进行初始化 例:,数组名 = new 数组元素的类型数组元素的个数;,public class TestArray1 public static void main(String args) int s; /一维数组对象的声明 s = new int5; /数组对象的创建 for(int i=0; i5; i+) si = i; /数组元素的初始化 ,25,计算机科学与技术系,2.9.1 一维数组,2. 一维数组对象的创建和初始化 方法二、采用数组初始化列表进行创建和初始化,public class TestArray3 public static void main(String args) int a = 3, 6, 9; Date days = new Date(2007, 9, 1), new Date(2007, 9, 1), new Date(2007, 9, 1) class Date int year, month, day; Date(int y, int m, int d) year = y; month =m; day = d; ,26,计算机科学与技术系,2.9.1 一维数组,3. 数组元素的默认初始化 数组是引用类型,它的元素相当于类的成员变量,因此,数组分配空间后,每个元素也被按照成员变量的规则被隐式初始化。 例:,public class TestArray4 public static void main(String args) int a = new int5; Date days = new Date3; System.out.println(a3); System.out.println(days2); class Date . ,输出结果为: 0 null,27,计算机科学与技术系,2.9.1 一维数组,4. 数组元素的引用 定义并用运算符new为之分配空间后,才可以引用数组中的每个元素,数组元素的引用方式为: 其中index为数组元素下标,可以是整型变量或整型表达式。如 a3,bi,cb*i 数组元素下标从0开始。 每个数组都有一个属性length指明它的长度。例如: a.length的值为数组a的长度(元素个数),arrayNameindedx,28,计算机科学与技术系,5.3.1 一维数组,2. 一维数组对象的创建 元素为引用数据类型的数组中的每一个元素都需要实例化。,public class TestArray2 public static void main(String args) Date days; days = new Date3; for(int i=0; i days.length; i+) daysi = new Date(2007, 9, i+1); System.out.println(daysi.year + “-“ + daysi.month + “-“ + daysi.day); class Date int year, month, day; Date(int y, int m, int d) year = y; month =m; day = d; ,29,计算机科学与技术系,2.9.2 二维数组,可以看成是以数组为元素的数组。例如: Java中多维数组的声明和初始化应按从高维到低维的顺序进行。例如:,int a = 1, 2, 3, 4, 5, 6, 7, 8, 9;,int a = new int3; a0 = new int2; a1 = new int4; /多维数组不规则 a2 = new int3; /每维长度不相同 int t1 = new int4; /非法,30,heap,计算机科学与技术系,2.9.2 二维数组,stack,a,int3,int0,int1,int2,int0,int1,int2,null,0x12345678,31,计算机科学与技术系,2.10 方法,Java的方法类似于C+语言的成员函数 是一段用来完成特定功能的代码段。 声明格式: Java语言中使用下述形式调用方法: 实参的数目、数据类型和次序必须和所调用方法声明的形参列表匹配。 return语句终止方法的运行并指定要返回的数据。,修饰符1 修饰符2 返回值类型 方法名(形式参数列表) Java语句; ,对象名.方法名(实
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 租赁黄金手表合同范本
- 道路监控供货合同范本
- 长期商务合作合同范本
- 美发店长合伙合同协议
- 维修车辆完工合同范本
- 门面超市出租合同范本
- 湖州防水涂料合同范本
- 违约合同终止合同范本
- 设计合同终止的协议书
- 活动组织补充合同范本
- 中医秋季养生宣讲
- 635MPa级热轧带肋高强钢筋应用技术规程
- 蜀道集团招聘笔试
- 历年全国普通话考试真题50套
- 第三单元小数除法(单元复习讲义)教师版-2024-2025学年五年级上册(人教版)
- 2025年上海市高考语文专项复习:识记背诵默写
- 人教版(2024新版)七年级上册英语Starter Unit1单元测试卷(含答案)
- 化粪池清底服务合同
- TGXAS-松阔混交林培育技术规程编制说明
- 幼儿园的食品安全工作计划
- (新教科版)科学五年级上册全册教学反思
评论
0/150
提交评论