




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章 Java 基础知识 一 标识符 标识符是由程序员定义的英文单词 要满足以下规则和规范 1 规则 a 标识符有字母 数字 下划线 组成 与 c 不同之处 b 开头不能是数字 c 标识符不能是 java 的关键字和保留字 d java 的标识符严格区分大小写 例如 a b2c 1 2ab abc d AA BBc 2 规范 a 类名 接口名每个单词的首字母要大写 b 方法名 变量名从第二个单词开始首字母大写 c 常量名每个字母都大写 单词组合用下划线 d 见其名知其意 例如 定义类名 Person MiddleSchoolStudent 定义方法名 getPersonName 定义变量名 personName 定义常量名 PI 二 关键字 不熟悉的 abstract 定义抽象类 transient 瞬时对象 不允许序列化 volatile 多线程中访问变量 synchronized 线程同步的关键字 assert 断言 enum 枚举类型 native 声明本地方法的关键字 熟悉的 int 整型 short 短整型 boolean 定义布尔类型 byte 数据类型 char 字符数据类型 double 双精度的数据类型 long 长整型 float 单精度 if else 选择结构 switch case default 选择分支 for 循环结构 do while 循环结构 while 循环结构 break 结束循环 或者跳出 switch 结构 continue 停止一次循环 void 无值型 class 定义类的关键字 return 返回 private 私有的 protected 保护的 public 公有的 final 定义常量 定义最终的类 定义不允许重写的方法 throw 产生并抛出异常 throws 通知调用者产生的异常的类型 new 调用构造方法创建对象 分配堆内存 static 静态 super 父类的 try catch finally 异常处理 implements 类实现接口的关键字 import 导包 package 定义包 对象 instanceof 类 表示判断左边对象是否是右边类或者是子类的对象 interface 定义接口关键字 extends 类继承类或者接口继承接口的关键字 this 本类对象 null 空值 以下都是保留字 const strictfp goto 三 基本数据类型 分为四类八种 1 整型 类型名 长度 取值范围 其他 long 8 字节 2 的 63 次方 2 的 63 次方 1 可以以 L 结尾 int 4 字节 2 的 31 次方 2 的 31 次方 1 short 2 字节 2 的 15 次方 2 的 15 次方 1 byte 1 字节 128 127 2 浮点型 double 8 字节 小数点后 15 位 float 4 字节 f 结尾 小数点后 7 位 3 字符型 char 2 个字节 u0000 uffff 4 布尔型 boolean 1 个字节 true false 基本数据类型数值型类型的排列次序 double float long int short byte char 注意 在 java 中 boolean 型不能与整型做运算 与 c 不同之处 四 变量常量 1 变量 程序运行过程中值可以改变的量 变量的 实质是变量名标识的内存空间的值或者内容可以改变 变量名是内存空间的标识 变量的定义语法 数据类型 变量名 变量名 1 变量名 2 例如 int a int m n k 变量的初始化 定义同时赋值 例如 int a 5 定义之后赋值 例如 int m 5 n k 6 n 4 注意 实例变量应该初始化 并且局部变量必须初始化 补充 字符串连接符号 可以实现字符串和任意类型数据做连接 连接后表示一个新的字符 串 2 常量 在 java 中使用 final 修饰的变量称为常量 作为局部常量 可以定义后赋值 一旦赋值不 可更改 final 数据类型 常量名 值 作为全局常量 类的数据成员 必须定义同时赋值 转义字符 n换行 表示一个反斜杠 表示一个引号 t 4 空格相当于 tab 键 五 数据类型的转换 1 自动转换 隐含转换 当较低类型数据赋值给较高类型数据时发生自动转换 在运 算过程中不同类型数据做算术运算时自动将较低类型转为较高类型 然后再做运算 2 强制转换 将较高类型数据赋值给较低类型数据必须要进行强制转换 强制转换的语 法 较低数据类型 变量名 例如 float f float 2 5 六 运算符 1 算术运算符 当两个操作数都是整型时结果取整 且除数不能为 0 只要有一个操作数是浮点型 且 除数不能为 0 结果取精确值 两个整型操作数的余数 且第二个操作数不能为 0 自增自减运算符 操作数是整型变量分为前置和后置两种 1 前置 表示运算或者输出前先自增自减 1 2 后置 表示运算或者输出后再自增自减 1 2 关系运算符 b b a a b ab a b 3 逻辑运算符 if i j 0 单目运算符 while i 3 j 强制类型转换运算符 type 乘法 除法 求余 k n 10 10 加法 减法 if ch1 2 ch2 ch1 移位运算符 关系运算符 instanceofif i 1 j i else j 等价运算符 a 4 b 1 按位与 int n 5 int k 6 System out println 最大值为 k m n m n k m n m n System out println 最小值为 k m n m n k m n m n 判断年份是否是闰年 int year 2001 System out println year 4 0 七 表达式和语句 1 表达式 操作数运算符及方法调用组成的式子就是表达式 编写 java 表达式时会经常使用系统预定义的 Math 类 该类中的方法都是静态的 调用时用 类名 方法名 参数列表 输出 2 到 10 之间任意一个整数 int D int Math random 10 2 1 2 调用 Math 类中的 randow 方法 System out println D 2 语句 都以分号结束 1 空语句 2 表达式语句 3 复合语句 用 将多条语句括起来 表示一条语句 4 方法调用语句 如果是静态方法 调用方式为 类名 方法名 参数列表 如果不是静态方法 调用方式为 对象名 方法名 参数列表 5 跳转语句 流程控制部分的内容 八 java 中的注释 1 行注释 2 块注释 3 文档注释 注释内容 注释内容 文档注释的作用 配合 javadoc 命令根据 java 源文件生成的 html 文档 用于显示类的信息 类的信息包括 1 用于在类前显示包括作者 版本信息 2 用在类的数据成员前对其进行说明 3 用于在成员方法前包括返回值 参数 Javadoc 命令使用方法 javadoc version author Test03 3 java d e javadoc 第三章第三章程序流程控制程序流程控制 标准输入 Scanner import java util Scanner import java util 表示包含 util 类中的所有函数 class Test02 21 public static void main String args System out println 输入一个数字 Scanner sc new Scanner System in int year sc nextInt 另有 nextDouble nextFloat 等 if year 4 0 else System out println year 不是闰年 标准输入字符 char ch System out println 输入学生成绩档次 Scanner sc new Scanner System in String str sc next 标准输入字符串 ch str charAt 0 表示取字符串中的第一个字符 一 流程控制结构概述 1 顺序机构 程序的执行顺序和代码的静态书写顺序一致 2 选择结构 根据某些必要的条件的判断 执行某一部分的 程序段 3 循环结构 让机器重复的自行某些代码段的结构 二 选择结构 1 if 结构 语法 1 if 表达式 语句块 说明 表达式的类型必须是 boolean 类型 当 表达式的值为 true 执行语句块 否则不执行 2 if 表达式 语句块 else 语句块 说明 else 不能独立存在 有 else 分支必须得有一个 无间隔的 if 分支与之配对 else 的隐含条件 和 if 分支的表达式正好相反 另外 if else 允许嵌套使用 3 if 表达式 1 true 语句 1 else if 表达式 2 true 语句 2 else if 表达式 3 语句 3 else 语句 n 说明 多分支单项选择结构 2 switch case default 选择分支 语法 switch 表达式 case 常量标号 1 语句 1 break case 常量标号 2 语句 2 break case 常量标号 n 语句 n break default 语句 break 说明 1 switch 表达式值的类型是非 long 的整型 字符型 枚举类型 表达式可以是一个变量也可以是表达式 2 case 常量标号的类型必须与表达式类型兼容或 相同 常量标号值必须唯一 3 break 语句可以省略 当省略了 break 语句的 case 分支被执行后 仍然会继续向下执行 直到 遇到第一个 break 为止 4 default 分支 当所有的 case 分支都不 执行 执行 default 分支 5 执行过程 首先计算表达式的值 然后寻找 case 的常量标号 当表达式的值和 case 常量标号 的值相等时 该 case 分支将被执行 如果没有相等 的情况出现 则执行 default 分支 6 当所有的分支都没有省略 break 语句 case 分支的执行顺序和书写顺序无关 三 循环结构 1 for 循环结构 当明确循环次数的时可以使用 for 循环 1 普通的 for 循环语法 for 表达式 1 表达式 2 表达式 3 循环体 语法说明 1 表达式 1 是循环条件变量的初始值 2 表达式 2 循环终止的条件 类型 boolean 3 表达式 3 循环趋于结束或者表达式 2 趋于 false 的表达式 4 循环体 如果循环体中就一条语句 可以省略 5 循环的执行顺序 首先计算表达式 1 的值 然后计算表达式 2 如果表达式 2 为 true 执行循环体语句 之后 计算表达式 3 然后再计算表达式 2 如果 表达式 2 为 true 循环体重新被执行 否则 跳出循环体 循环终止 6 表达式 1 和表达式 3 都可以在 中省略 省略后 表达式 1 要出现在 for 之前 表达式 3 要出现在 循环体中 分号一个也不能少 2 增强的 for 循环 也称 forEach 循环 用于快速的 遍历数组或者集合或者可别长度的参数 是 jdk1 5 新增 功能 语法 for 数据类型 变量名 数组 集合 可变参数名 循环体内容 3 for 循环的嵌套 能够理解外层循环和内层循环的执行顺序 外层循环执行一次内层循环执行 n 次 遍历数组 int arr 1 2 3 4 9 5 6 2 4 8 for int temp arr System out println temp 遍历集合 ArrayList list new ArrayList list add 1 list add 2 list add 3 for int temp list System out println temp int v1 test 1 2 3 4 5 int v2 test 1 2 int v3 test JDK1 5 新增功能 可变长度参数 public static int test int args 3 遍历可变长度参数 int sum 0 for int temp args sum temp return sum 2 while 循环 当不明确循环次数时 首选 while 循环 语法 while 表达式 循环体 同 for 表达式 2 循环体 语法说明 1 表达式的类型是 boolean 2 在 while 之前应该有循环条件变量的初始化 3 在循环体中应该有使循环结束的语句或者 趋于结束的语句 4 while 循环执行顺序 首先计算表达式的值 如果为 true 执行循环体 否则跳过循环体 3 do while 循环 类似 while 循环 不同之处是 do while 循环体先执行一次循环体 再判断 while 表达式的值 如果为 true 继续执行循环体 否则跳出循序体 语法 do 循环体 while 表达式 四 跳转语句 改变程序事先设计好的结构的语句 1 break 1 break 在 switch case 语句中用于结束 case 分支 跳出 switch 结构 2 用于循环结构中 结束循环体的执行 终止循环 语法 break 或者 break outer 2 continue强制进入下一次循环 3 return不是专门用于结束循环语句的 它主要用于结束整个方法 捎带着结束循环 1 当方法的返回值类型不是 void 必须由 return 给出一个值返回给调用者 例如 int add int a int b if a 0 return a b return a b 2 当方法的返回值类型是 void 时 也可以有 return 语句 语法是 return 作 用是停止方法的继续执行 void fun int a if a 0 return else if a 1 return System out println a 3 在一个方法中可以有多条 return 只能有一条 return 语句被执行 例如 错误的写法 int add int a int b return a b return a b 4 异常处理语句 后面章节讲解 class Ch03 11 public static void main String args e for int i 0 i 3 i for int j 0 j 3 j if j 1 break e System out println Hello World 打印 100 以内的偶数 int count 0 for int i 1 i 100 i if i 2 0 continue count System out print i if count 10 0 System out println 五 方法 完成某一个功能的程序段 将该程序段按照固定的语法命名并允许执行该 程序段时传入参数 语法 修饰符 返回值类型 方法名 形参列表 方法体语句 第五章数组 第一节数组的基本概念 数组 相同数据类型数据的集合 这些数据逻辑相邻的 空间也是相邻的 数组中的数据称为数组中的元素 数组元素 可以用数组名 下标值 表示 当数组中有 N 个元素 第一个元 素的下标值是 0 最后一个元素的下标值是 N 1 如果数组名 后跟一个 表示是一维数组 有两个 表示二维数组 一 定义和初始化 1 一维数组的语法定义 数据类型 数组名 说明 1 数据类型是任意合法的 java 类型 包括基本数据类型和复合的数据类型 类 接口 数组 2 当一次定义一个数组时 可放数组名前 也可放数组名后 但是如果一次有多个定 义时 放前放后是不同的 3 定义数组时不能标明数组元素的个数 2 静态初始化 定义一个 int 数组类型的变量 变量名为 intArr int intArr 使用静态初始化 初始化数组时只指定数组元素的初始值 不指定长度 intArr new int 8 6 9 12 定义同时初始化 int arr 1 2 3 4 5 定义一个 Object 数组类型的变量 变量名为 object Object objArr 使用静态初始化 初始化数组时数组元素的类型是定义数组元素类型的子类 objArr new String Java 李刚 Object objArr2 使用静态初始化 objArr2 new Object Java 李刚 简化的静态初始化方法 int a 5 6 7 3 5 3 动态初始化 指只定义数组的长度 由系统为每个数组元素指定初始值 语法格式为 arrayName new type length 数组的定义和初始化同时完成 int prices new int 5 数组的定义和初始化同时完成 初始化数组时元素的类型是定义数组时元素类型的子类 Object books new String 4 4 访问数组元素 输出 objArr 数组的第二个元素 即字符串 李刚 System out println objArr 1 为 objArr2 的第一个元素赋值 objArr2 0 Spring 注意 如果访问数组时指定的索引小于 0 或者大于等于数组的长度 编译不会出现错误 但运行时会出现异常 java lang ArrayIndexOutOfBoundsException 2 数组索引越界异 常 5 遍历数组元素 1 用 for 循环 2 foreach 循环 JDK1 5 加入的功能 语法格式 for 数据类型 临时变量 数组名 如 Sring books 轻量级 J2EE 企业应用实战 Struts2 权威指南 基于 J2EE 的 Ajax 宝典 for String book books System out println book 临时变量用来临时存储数组内元素的值 然后输出 从语法上讲可以对其赋值 但极易出 现错误 同时临时变量对数组内元素无任何影响 所以 foreach 循环不能用于给数组赋值 6 数组元素个数 在 java 中所有的数组中都有一默认属性 length length 的值就是元 素的个数 语法形式 数组名 length 二 数组元素的拷贝 1 一个数组的元素的值可以采用另一个数组的元素的值 该方法在 System 类中定义 arraycopy src srcIndex dest destIndex length 说明 src 源数组 srcIndex 源数组的元素下标值 dest 目标数组 destIndex 目标数组的元素下标值 length 拷贝的元素的个数 注意 使用该方法时要注意越界问题 int arrSrc 1 2 5 6 3 3 int arrDest new int arrSrc length System arraycopy arrSrc 0 arrDest 3 2 for int temp arrDest System out print temp 输出结果 0 0 0 1 2 0 三 数组的综合练习 1 定义一个类 ObjectGroup 1 数据成员如下 1 一个整型数组初始空间长度为 10 2 一个整型变量 size 用来记录元素个数 初始值 0 2 完成功能如下 1 向数组中添加元素的方法 add int value 该方法实现元素添加功能 当初始空间默认 值都被添加的新值替换后 该数组的空间扩大为原来的 2 倍 2 获得某个索引位置的元素的方法 getObject int index 3 获得整个数组的方法 int getObjects 4 数组空间恢复初始状态 size 恢复初始值的方法 clear 5 获得 size 的方法 getSize 2 数组作方法的返回值类型和参数类型 1 作为返回值类型 要求方法的返回值是一个数组 2 数组作为方法的参数类型 调用方法时实参是 数组名 3 对象数组 定义数组是数组的类型是类或者是接口 数组元素的初始化使用该类的对象或子类对象或者是实现类对象 例题 person 类 4 主方法的命令行参数 main String args args 也是数组 在 DOS 窗口运行主方法时 class 文件后跟的字符会存入 args 数组中 5 数组排序 对数组中的元素按照升序或者是降序排列 冒泡法排序 相邻的两个元素依次比较 然后判定是否换位 轮数比元素个数少 1 每 轮的次数是元素个数 轮数 数组综合练习 1 定义数组使用冒泡法排序 2 定义类按照学生的成绩进行降序排序并显示学生的信息包括编号 姓名 成绩 第二节 多维数组 如果一个数组的元素还是一个数组 如果这个元素是一维数组 那么这个数组称为二维数组 二维数组和数学上的矩阵具有类似的结构 二维数组的每一个元素对应矩阵中每一行 每一个 列相当于二维数组元素 一维数组 中的元素 每个列的元素引用时的语法 数组名 行索引 列索引 行列的索
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年智能制造面试预测题
- 2025年文化旅游策划师高级笔试预测题
- 2025年心理健康师初级面试常见问题及参考答案
- 2025年河道保洁员面试问题及标准答案集锦
- 2025年物业空调工笔试模拟题库
- 2025年香席师高级考试模拟题库
- 2025年城市运行客服面试模拟题库大全
- 养老院服务协议
- 2025年礼宾接待笔试模拟题集
- 2025年暑期消防安全题集及答案
- 2025年基孔肯雅热和登革热防控知识考试试题及参考答案
- 2025-2026学年第一学期安全主题教育
- 汽车美容承包合同(标准版)
- 管道设计培训课件
- 2025-2026学年新交际英语(2024)小学英语一年级上册教学计划及进度表
- 河北省廊坊市2024-2025学年高一下学期期末考试 数学试卷
- 2025年发展对象考试题库附含答案
- 2025年内蒙古中考数学真题(含答案解析)
- 2025年兵团基层两委正职定向考录公务员试题(附答案)
- 2025至2030年中国铍铜棒线材行业市场深度分析及投资策略研究报告
- 2025年福建省高考真题卷历史试题
评论
0/150
提交评论