java的基础知识.ppt_第1页
java的基础知识.ppt_第2页
java的基础知识.ppt_第3页
java的基础知识.ppt_第4页
java的基础知识.ppt_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

第1章Java基础知识 1 1Java语言的特点1 2Java的开发环境及其设置1 3Java语言的数据类型1 4Java程序中的标识符 关键字和分隔符1 5Java中变量的作用范围1 6小结 1 1Java语言的特点 简单的 simple Java语言的简单性主要体现在三个方面 1 Java的风格类似于C 从某种意义上讲 是C与C 的一个变种 因此 C 程序员可以很快掌握Java 2 Java摒弃了C 中难以掌握和可能不安全的功能 如 指针 运算符重载和多重继承等 3 Java中提供了丰富的类库 可以帮助我们很方便的开发Java程序 面向对象的 object oriented 面向对象的设计是指使用面向对象的思考方式来设计问题的解决方案 面向对象可以说是Java最重要的特征 所以它支持封装 继承 多态等面向对象的特征 Java语言的设计是完全面向对象的 它不支持类似C语言那样的面向过程的程序设计技术 健壮的 robust Java也是一种强类型的语言 其类型检查比C 还要严格 可以帮助我们检查出许多开发早期出现的错误 Java自己负责内存管理 提供了垃圾内存回收机制 有效的避免了C 中最头疼的内存泄露问题 安全的 secure 一方面 在Java语言里 删除了指针和释放内存等C 功能 避免了非法内存操作 另一方面 通过Java的安全体系架构来确保Java代码的安全性 当我们能从网上下载Java代码在本地执行时 Java的安全架构能确保恶意的代码不能随意访问我们本地计算机资源 例如 删除文件 访问本地网络资源等操作都是被禁止的 解释的 interpreted Java代码是解释执行的 我们使用Java编译器将Java代码编译成字节码 bytecodes 这是一种与操作系统无关的中间代码 若要运行Java程序 只要在平台上安装JVM JavaVirtualMachine 通过JVM即可将字节码转换成目标平台所接受的原始机器语言 从而使得Java程序可以在不同的平台上运行 Java源程序 java文件 Java编译器 字节码 class文件 JVM 二进制 例 一个java源文件 文件名为Mytest java编译程序 javacMytest java运行程序 javaMytest 可移植的 Portable 要让程序跨平台运行并不是一件容易的事 有相当多因素必须考虑 例如数据类型所占的内存长度就是一个问题 Java在不同平台上的数据类型长度是同一的 而C C 则不然 这是Java在提高程序可移植性上最显而易见的一个例子 Writeonce Runanywhere 多线程的Java语言的一个重要特性就是支持多线程的程序设计 多线程就好像我们做一张桌子 如果你一个人完成这张桌子制作 就好像单线程 那么你需要先做桌面 做完桌面后 再做4个桌子腿 如果现在有5个人来做桌子 即在程序中开辟5个线程 其中1个人做桌面 另外4个人做桌子腿 将工作效率大大提高 1 2Java的开发环境及其设置 1 开发环境JDK1996年 sun公司的Java1 0版本正式推出 Java的早期版本成为JDK JavaDevelopmentKit 如JDK1 0 JDK1 02 JDK1 1 5等 1999年升级为1 2版 并改称为JAVA2 2000年9月升级为1 3版 2001年7月推出了1 4版 目前使用的较多的为1 6版 课程所讲的程序可在该环境下编译和运行 所使用的具体版本是jdk1 6 0 07 若没有改变安装路径 则安装在C ProgramFiles Java jdk1 6 0 07 目录下 该目录下有个子目录bin 编译和运行Java程序的命令都在该目录下 例 编译并运行以下程序publicclassMytest publicstaticvoidmain Stringargs System out println WelcometoBeijing Java文件的编辑器 记事本 Ultraedit 2 Java应用平台JavaSE StandardEdition Java各种应用的基础平台 其主要包括4个部分 JVM JavaVirtualMachine JRE JavaRuntimeEnvironment JDK JavaDevelopmentKits 和Java语言 JavaEE EnterpriseEdition JavaEE是以JavaSE为基础 专门为企业开发的 体系庞大的Java版本 其定义了一系列的服务 API ApplicationProgrammingInterface 和协议等适用于开发分布式的 多层式的 以组件为基础的 以Web为基础的应用程序 JavaME MicroEdition JavaME是Java平台版本最小的一个 目的是作为小型数字设备上开发及部署应用程序的平台 如手机 PDA 股票机等 3 环境变量的设置在编译和运行java源程序的时候 需用到java exe和javac exe命令 它们默认在C ProgramFiles Java jdk1 6 0 07 bin目录下 途径1 在命令行键入setpath C ProgramFiles Java jdk1 6 0 07 bin 缺点 设置只在当前dos窗口有效 途径2 设置系统环境变量 我的电脑 属性 高级 环境变量 系统变量 1 3Java语言的数据类型 整数型byte short int long 数据类型 基本数据类型 复合数据类型 数值型 字符型char 布尔类型boolean 浮点型float double 类class 接口类型interface 数组类型array 表1Java语言的基本数据类型 1 整型Java语言的整型数据与C C 相似 按照存储位的不同 分为byte short int long四种 分别表示从8位到64位的整数 其中 int和long类型是最常用的类型 而byte类型经常用在字节码数据中 比如网络传输数据或进行二进制数据的输入 输出时 由于short类型在使用时要求数据的存储须先高字节后低字节 在某些机器中可能会出错 故使用较少 表1 2整型数属性表 一个整型数默认为int型 如果需要long类型的数 必须在该数后加上字母l L Java的整数可以用十进制 八进制和十六进制来表示 八进制数以0打头 数字字符为0 7 十六进制数用0 x 0X 打头 数字字符为0 9 a f或A F 例如 78L 011 0 x1234等都表示一个整型常量 2 浮点型Java的浮点类型分为两种 单精度浮点数和双精度浮点数 分别用关键字float和double来表示 表1 3实型数属性表 浮点数的默认类型为double型 当我们要定义一个float型的数时 必须在该数后加字母f 告诉编译器该数为float类型 判断下列语句是否正确 floata1 1 2f floata2 3 5 doublea4 2 0 注意 不管是double型还是float型 当对实数使用比较运算符 时 由于精度的取值问题 必须小心使用 3 字符型 char 字符型数据用于存储单个字符 字符以ASCII形式存储 下面用关键字char定义一个字符变量 chara1 b 同C C 相同 Java字符集中一些不能显示的控制字符可以用转义字符来表示 如表1 4所示 表1 4转义字符表 4 布尔型Java中布尔型变量只有两个值 真 true 或假 false 例2 While ture false 例1 booleansign true 与C C 不同 布尔型数据是独立的数据类型 所以既不能将整数值赋给布尔变量 也不能将布尔类型的数转换成整型或其他类型 类型转换 规则 表示数的范围小的数据类型可以自动向表示数的范围大的类型转换 反之则必须强制转换 表1 5数据类型自动转换的规则 例如 longVar 12345 int类型数据自动转换为long型并赋值doubleVar 1 2ffloatc 9 83244665757LintVar int 3 45f floatVar float 1 2 Java中的复合数据类型 包括类 class 数组和接口 interface 字符串 String 不是基本的数据类型 是复合数据类型 类 类型 但在Java语言中可以像使用简单类型一样来使用它 这里重点讲字符串类型 一个字符串常量是用双引号括起来的0个或多个字符组成的序列 例如 表示一个空字符串 HelloWorld n 表示字符串HelloWorld n是回车换行符 字符串的连接 字符串可以通过连接符 进行连接 例如 Wecometo Beijing 等价于 WecometoBeijing 例 执行下列程序 输出结果为多少 publicclassA publicstaticvoidmain Stringargs Stringstr 456 inta 7 b 8 System out println str str a b A str 45615B str 45678C str 456 7 8D 编译错误 B 1 4Java程序中的标识符 关键字和分隔符 1 4 1标识符 Java语言的标识符必须由数字 字母 下划线或美元符号 组成 其中首字符不能是数字 标识符长度不限 标识符区分大小写 不能以数字开头 不能插入空格等 也不能以关键字命名 在程序中标识符用来给类 接口 方法 变量或类对象命名 为提高程序的可读性 用标识符命名最好见名知意 为使非英语国家的程序员方便地用自己的母语定义标识符 Java标识符采用Unicode字符集 可为任意长度 下面是合法的标识符 intVariable doubleVariable var2 var3 double1 booleanture 浮点数2 下面的标识符不合法 var1 不能有空格 1var 不能以数字开头 var 含有非法字符 do 关键字 Java语言关于标识符命名的一些约定 1 类名和接口名的第一个字母大写 如String System等 2 方法名的第一个字母小写 如main print println 3 为使程序可读性强 做到见名知意 通常类名和方法名比较长 由名词 动词或它们的组合来命名 类名首字母大写 后面各单词首字母大写 方法名的首字母小写 后面各单词首字母大写 如 输入流类InputStream 数据输出流类DataOutputStream 方法setColor actionPerformed 等 4 常量 用关键字final修饰的变量 全部用大写 单词间用下划线隔开 如TEXT PROPERTY 5 变量名或一个类的对象名首字母小写 6 Java的关键字都小写 表1 6变量的缺省初始值 1 4 2关键字 Java中的关键字有50个 按用途可分为如下几组 用于数据类型 byte short int long float double char boolean false true new null void instanceof 用于语句 break case catch continue defaule do else finally for if return super switch this throw try while 用于修饰 abstract final native private protected public static synchronized transient volatile 用于方法 类 接口 包 class extends implements interface package import throws 保留字 const goto 1 4 3分隔符 1 java语言的注释块注释 多行注释 中间可以用 来排版 注释部分 例 作者 谭浩强 功能 示范printf 方法 日期 行注释 仅用于单行注释 注释部分2 空白符空格 回车 换行 制表符 Tab键 等 3 其它分隔符大括号 用来定义类体 方法体 复合语句和数组初始化 一对大括号括起来的代码段都是一个语句块 分号 语句结束标志逗号 区分各个变量 区分方法的参数冒号 用于语句标号中 如case语句 1 5Java中变量的作用范围 首先看Java中变量的声明 在使用任何变量之前必须先定义 如果是基本数据类型 在声明变量类型的同时 可以为它赋初值 例 inta 1 b 2 如果是复合数据类型 声明完数据类型后 还要用关键字new为其分配内存单元 否则取值为null 即不指向任何内存空间 例 intarray1 newint 5 for i 0 i 5 i array i i 1 在类体中定义的类成员变量 在该类的各个成员方法中均可以使用 在某个方法中定义的变量 仅能在该方法中使用 在if语句 while语句 for语句等复合语句中定义的变量 仅在它所在的块中有效 需要说明的是 方法体中的变量必须初始化 赋值 后才能使用 而类中的变量可自动初始化 后面详述 例 下面程序演示了常量的定义 变量的定义和其作用范围 classMyTest1 staticcharcharVar t 定义字符型变量charVarstaticfinalfloatfloatVar 3 14159f 定义浮点型常量floatVarpublicstaticvoidmain String args StringstringVar java 变量stringVar在该语句块中有效 System ou

温馨提示

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

评论

0/150

提交评论