




已阅读5页,还剩44页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JavaSE讲解 王贺尊 Java基础1 语法基础2 面向对象3 数组 Array 4 基础类5 I OStream6 Collection容器7 Thread8 GUI9 JDBC 课程内容 Java发展史 95年sun发布jdk1 098年jdk1 2后续jdk1 3 1 4 1 5目前jdk1 6 1 7 JavaSE JavaME JavaWeb JavaEE Sp增值 Java语言特点 面向对象的语言与平台无关 提供程序运行时解释环境一种健壮的语言 吸收冷C C 的优点 去掉了影响程序健壮的指针 内存的申请释放等 Java运行机制及过程 Java两大核心机制Java虚拟机 Javavirtualmachine 垃圾收集机制 garbagecollection java源文件 Java编译器 javac class文件 类装载器 字节码校验器 Java解释器 各种操作系统 windows Linux Unix other Java Java虚拟机 VM可以理解为一个以字节码为机器指令的CPU对于不同的运行平台 有不同的JVMJVM屏蔽了底层运行平台的差别 实现了一次编译 处处运行 Java核心机制 垃圾回收 不再使用的内存应回收在C C 中有程序员负责回收内存Java语言消除了程序员手动回收内存的责任 提供了系统级线程跟踪存储空间分配情况 JVM空闲时 检查并释放那些无用的内存垃圾收集器在程序运行过程中自动执行 程序员无需控制 Java开发环境的下载 安装 配置 下载 安装 windows环境下 配置环境变量 path classpath JAVA HOME验证 Java version Javac编译源文件 Java执行文件 编写第一个Java文件 HelloWorld java J2SE基础语法 标示符 关键字 数据类型数据类型的转换 主讲四类八种 程序的格式运算符条件语句 循环语句 if for while do while break continue switch方法 标示符 Java对各种变量 方法 类等命名时所用到的字符序列称为标示符 凡是自己可以起名字的地方都叫标示符 都遵循标示符命名规则Java标示符命名规则 标示符由字母 下划线 美元符号 和数字组成 标示符应该以字母 下划线 美元符开始 Java标示符字母的大小写敏感 长度无限制约定俗成 标示符要做到见名知意 不能和Java的关键字重名 局域网查看工具V1 72 exe 关键字 Java中一些赋予特定含义 用作专门用途的字符串称为关键字 所有Java的关键字都是小写 Java的基础类型及常量 Java的八种基础类型 整型 byte short int 默认 long 字符型 char 浮点型 float double 默认 布尔型 boolean 一般用于程序的流程控制 Java常量 如整型常量123 浮点型常量90 8 字符型常量 a 逻辑常量true false 字符串常量 hi 注 Java采用Unicode编码 全球语言统一编码 每个字符占两个字节 因此一个Char类型的变量可以存放一个汉字 一个汉字占两个字节 Java数据类型划分图 数据类型 基本数据类型 引用数据类型 类 class 接口 interface 浮点型 float double 整型 byte short int long 布尔型 boolean 字符型 char 数值型 数组 Java变量 Java变量是程序中最基本的存储单元 其要素包括变量类型 变量名 作用域Java程序中每一个变量都属于特定的数据类型 在使用前必须对其声明 声明格式为 typevarName value varName value 例如 inti 100 floatf 23 08f doubled d2 d3 45 09 Strings 本质上讲变量是内存中的一小块区域 使用变量名访问该区域 因此每一个变量在使用前要声明 然后必须进行赋值才能使用 Intg 100 栈内存 g 100 Java中程序的执行过程 硬盘 内存 Java程序 代码 操作系统代码 Stack 局部变量 Heap 对象实例 Datasegment 静态变量 字符串常量 Codesegment 存放代码 1 load到内存区 2 找到main方法执行 3 执行中的内存管理 Java变量的分类 按被声明的位置划分 局部变量 方法内部 包括方法的形参 或语句块内部定义的变量 成员变量 方法的外部 类的内部定义注 jvm可为成员变量默认初始化 类的外面不能定义变量按所属的数据类型分 基本数据类型变量 int char等 引用数据类型变量 对象 数组 TypeTest java DefaultInit java Java数据类型转换 基本数据类型转换 boolean类型不可转换为其他类型 整型 字符型 浮点型的数据在混合运算中相互转换遵循如下原则 容量小的类型自动转换为容量大的 数据类型按容量大小排序如下 byte short char int long float double bypt short char三者之间不互相转换 三者参与运算时先转换为int类型 容量大的在转换为容量小的时候要加强制转换符 但可能造成精度降低或溢出 有多种数据类型参与运算时 首先转换为容量最大的类型 然后再运算 浮点型常量默认值为double类型 整型常量默认值为int类型 inti 12 longl 12L floatf 2 09 错误floatf2 8 09f doubled 44 09 TestConvert java 在Java中 变量一旦声明 就应对其进行初始化 运算符 operator Java语言支持的运算符 算术运算符 关系运算符 基本不用 赋值运算符 扩展赋值运算符 字符串连接运算符 注 在前时先计算后取值在后时先取值后计算 Test java 逻辑运算符 逻辑运算符 逻辑非 逻辑与 逻辑或 逻辑异与 短路与 短路或 publicstaticvoidmain String args booleana true b false c c a 逻辑异与 相同就为false 不同则为true 字符串连接符 除用于加法运算外 还可以用于字符串的连接inti 55 21 Strings wang hz 运算符两侧的操作数只要有一个字符串 String 类型 系统就会自动将另一个操作数转换为字符串类型 然后连接 inti 12 System out println wanghz i 输出结果 wanghz12 注 System out println value 中的value无论是何类型 都会先转为字符型 然后打印 Test java 假设在D盘的tmp文件夹下的js文件夹下有一个Test java的文件 D tmp js Test java那么如何在command窗口找到该文件并且编译 执行它呢 看下页PPT 首先打开command窗口 开始 运行 在弹出窗口中输入 cmd 然后点击 确定 弹出的command窗口 找到D 盘根目录 找到tmp文件夹下的js文件夹 通过javac命令编译Test java文件 通过java命令执行生成的Test class文件 只写class文件的文件名 表达式及三目条件运算符 表达式是符合一定运算规则的运算符和操作数的序列 a b 6 09 8 a 4 b 表达式的值和类型 对表达式中操作数的运算结果称为表达式的值 表达式运算结果的类型即为表达式的类型表达式的运算顺序 按照运算符的优先级从高到低运算 优先级相同的运算符按事先约定的结合方向运行三目条件运算符表达式的格式 x y z 其中x为boolean类型 先计算x的值 如果x的值为true 则整个表达式的结果值是y 反之为z Test java 条件 循环控制语句 表达式 语句块 false true 表达式1 表达式2 语句块 true 表达式3 false TestIf java TestFor java while与do while 表达式 true 语句块 false 语句块 表达式 true false WhileTest java Switch条件控制 注 表达式必须是int类型的 byte short char int break语句穿透问题 SwitcheTest java 方法 具有一定业务逻辑的代码片段 Static的方法还可以直接用类名 方法名调用 构造方法 类内部一种特殊的方法 创建对象时所调用的方法 构造方法没有返回值类型 它与其他的方法在此处不同构造方法的方法名与类名完全相同构造方法也具有形参列表 也可以重载每个类都至少有一个构造方法 如果我们没有显示的声明 JVM会在加载该类时为其添加一个public的无参的构造方法 面向对象 类与对象对象在内存中的解析约定俗成的命名规则 驼峰命名规则方法的重载 overload 与内存的解析对象的创建与使用关键字 this static 以及他们与类之间的关系package与import继承与权限控制 以及重写 override 权限控制 public protected default 不写 private类的老祖宗 Object以及toString 方法equals hashCode 方法关键字 super继承中的构造方法及对象的转型多态 抽象类多态 要有继承 父类引用指向子类对象抽象类 abstractclass关键字 final interface注 普通类 抽象类 接口之间的区别 java的单继承 多实现 Java的API阅读 类与对象 类 具有相同属性和功能的一类事物 属性和方法的集合 抽象 对具有相同属性和方法的一类事物的描述过程就叫抽象 抽象的结果就是类 对象 类的一个实例 对象是组成类的元素 方法的重载 判断方法重载的依据 1 在同一个类内2 方法名相同3 参数的类型不同 或者参数的个数不同 或者参数的排列顺序不同4 方法的返回值的不同不能作为判断方法重载的依据 仅仅是返回值的不同 就造成了方法的重名 会报错 5 构造方法也可以重载 注意重载方法在内存中是如何调用的 方法的重载使API的描述变得更简单 更利于别人使用 对象的创建及使用 对象的创建 new 该类的构造方法 如 Testt newTest 方法的调用 用方法所在的类创建对象 然后用对象名 对象引用 方法名如 Testt newTest t print hello 如果被调用的方法是静态方法 即被static关键字修饰 还可以直接用类名 方法名调用 如调用Test类内的静态方法init 方法 Test init 关键字this static This 当前对象的一个引用 指向它自己 在类的内部使用 publicclassTest privateintage Test this age 89 System out println 无参构造方法 Test Stringname this System out println 有参构造方法 name static 修饰成员变量 该变量表示为静态变量 该变量对于整个类保存一份在内存的datasegment中 若修饰方法 表示该方法为静态方法 可以直接通过类名 静态方法名调用 在一个静态的上下文环境中不能直接调用非静态的成员变量或非静态的方法 要先创建对象再调用其方法 This的上下文环境是非静态的 所以this不能在static的方法中使用 类与对象 对象之间的几种基本关系 1 继承关系2 关联关系3 组合关系类 将具有相同属性和功能的一类事物抽象化 对象 就是类的实例 Person java 方法的定义 构造方法 解析内存中的对象 Stack内存 Person p Heap内存 nameage 20 Datasegment Jim String name Jams 1 2 3 4 继承 子类通过继承获得基类的所有属性 当然也包括私有的 及方法 在创建子类对象时 可以通过子类对象调用基类的方法和访问除去私有的一切成员变量 继承提高了代码的复用性 子类可以扩展基类的方法及属性 子类对象的创建伴随着父类对象的创建注意构造方法的定义Super的使用 重写 override 重写发生在继承关系的子类中 方法名不变 返回值类型不变 参数类型不变 访问级别不低于父类 对父类的方法进行重新的实现的过程叫重写 注意 只要在子类中显示的写出了父类的方法 即使方法体不做任何实现 也发生重写 即子类对象调用该方法时 调用的实际是子类的方法 注意重载 重写的伴随状态及关键字super的使用 访问权限控制 关键字abstract abstract修饰类 表示该类为抽象类 抽象类不能够实例化 抽象类中可以有抽象方法 abstract修饰方法 该方法为抽象方法 抽象方法既是没有方法体的方法 只有方法的声明 如果类被声明为abstract的 且抽象类中有抽象的方法 则继承它的子类必须实现抽象的方法或者子类也声明为抽象类 关键字interface interface定义接口 接口不能够实例化 接口中的方法只有方法的声明 没有方法体 接口中的方法的访问级别都是public的 即使没有显示的将方法的访问修饰符写为public 即不写访问修饰符 默认为public的 写private protected都错 interface中定义的变量 在编译时会为其加上staticfinal 即interface中的变量都是静态的常量 且访问级别都是public的 interface中的方法都是public的 即使不显示的写出方法的访问修饰符 在编译时也会为其加上publ
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中医试题及答案百度云
- 2025年事业单位工勤技能-安徽-安徽防疫员三级(高级工)历年参考题库含答案解析
- 2025年事业单位工勤技能-安徽-安徽殡葬服务工三级(高级工)历年参考题库含答案解析
- ICG-PEG-FA-MW-2000-生命科学试剂-MCE
- 21-Hydroxypregnenolone-Standard-生命科学试剂-MCE
- 如何成功通过商务面试:新面试题及答案解析
- 面试问题解答与最 佳答案参考
- 丽江面试攻略:新题型与答案解析
- 专业求职必 备:职业管家面试题及答案解析全攻略
- 养殖创业新手入门知识培训课件
- 2025年足球裁判三级试题及答案
- 2025年育儿补贴政策培训课件
- 干洗店试题及答案
- 2025年司机三力考试题库及答案
- 江苏南通开放大学招聘笔试真题2024
- 2025年甘肃省高考历史试卷真题(含答案解析)
- 食堂肉类备货方案(3篇)
- 智能微电网应用技术课件
- DB42T 1497-2019 公路工程地质调绘技术规程
- 光谷华科附小数学试卷
- 中国2030年能源电力发展规划研究及2060年展望
评论
0/150
提交评论