Java介绍和语法基础_第1页
Java介绍和语法基础_第2页
Java介绍和语法基础_第3页
免费预览已结束,剩余6页可下载查看

下载本文档

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

文档简介

1、Java 介绍和语法基础1. Java是有 SUN (太阳微系统公司)于 1995 年推出的一门面向对象对象的高级编程语言2. Java 语言的三大技术领域: java ME( 微缩版 ) 用于嵌入式开发 手机编程 java SE (标准版)用于桌面应用软件开发,编程 java EE (企业版)用于分布式网络程序开发,电子商务JavaME(J2ME微缩版 ) 主要用于嵌入式系统开发,如手机和 PDA的编程;JavaSE(J2SE标准版 ) 主要用于桌面应用软件的编程JavaEE(J2EE 企业版)主要用于分布式的网络程序的开发,如电子商务网站和 ERP系统3. JAVA 语言的特点: 简单性

2、面向对象:封装,继承,多态等分布性 健壮性 安全性 解释执行。4. java 虚拟机 JVM ( java 运行机制)运行机制为:*.java 文件 java 编译器 *.class(字节码文件 ) 字节码文件被 JVM 解释执行 为 可被识别的机器语言5. JDK:java 的开发工具包6. JRE: java 的运行环境7. 00p/00 面向环境8. Java 创始人之一 詹姆斯高斯林 被业界公认为 java 之父9. Java 中类是最小的组织单元 后缀名为: *.java .基本数据类型之间的转换1. 自动转换:两种数据类型之间必须相互兼容目标类型 原类型平级: byte ,shor

3、t, char (不具备自动转换 ) int long float double2. 强制类型转换(要缺失精度)语法: 目标类型 变量名 =(目标类型)表达式3、 java 注释三种方式:1 、单行: /2 、多行: /* */3 、文档注释 /* */二常量:运行过程中不发生改变的量关键字: final 数据类型 常量 = 值;三 Java 中的输入类 Scanner 导入包: 在 class 的头上Import java util.Scanner 使用: 创建 Scanner 类的对象Scanner 对象名 =new Scanner (System.in) 接受从键盘录的数String 变

4、量名 = 对象名 .next(); 四接受数值型的数据(整形) int 变量名称 =对象名 .nextInt()Java 基本语法五基本数据类型 :数值型 :整型( byte , short ,long int )浮点型 单精度: float 双精度 ; double 字符型 char 占两个字节 布尔型 true false六 1.变量 数据类型 变量名 =值2. 常量 : 用 final 声明常量 (一般用大写)3. 标识符的运行规则: 有数字,字母,下划线及 $组成 不能以数字开头 不能为系统关键字 严格区分大小写4、标识符标示符是在 Java 中对类、方法或者变量的命名。有一定规范。1

5、 、标识符有字母、数字、下划线及美元符号( $ )组成2 、标识符的首字母不能使数字。3 、标识符区分大小写,没有长度限制。4 、不能为关健字或保留字java 中的关健字:public公共的 protected受保护的private私有的class类 interface 接口abstract抽象的implements实现接口extends 继承new 创建import导入 package 包byte charboolean shortint floatlong double voidnulltrue falseif else while for switch case default do b

6、reak continuereturn instance ofstatic final super this native strictfp synchronized transient volatilecatch try 捕捉异常 finally throw throws enum assert 保留字const, goto类型转换有些数据类型之间可以相互转换 ( 数值类型之间及 char 类型 ) 自动类型转换:低精度向高精度 如 doube a=2;强制类型转换:高精度向低精度 如 int a=(int)3.14; ( 强制类型转换 会缺失精度 )低 高(byte,char,short

7、三者优先级相同的,并且相同优先级之间是不能进 行自动转 换的, 因 此这三者 只能将其类型自动转 换成高级 数 据类 型)byte,short,char-int-long-float-double 运算符分割符有 , ; () java 中所有符号均为半角 算术运算符: +、-、*、/ 、%(+在字符串中也可以用,是连接的功能。如”a”+”bc” 结果 为”abc”)关系运算符: 、=、 = 、 !=(判断字符串相等最好用 equals() 方法,而不是 =)逻辑运算符: &、| 、! 、&、| 赋值运算符: =、+=、-= 、七.数组Arrays.sort( 数组名 ) 【排序为从小到大】数

8、组类型 array 数组名 =new 数据类型 数据类型 数组名 =new 数据类型 长度 数组的赋值数据类型 数组名 =数据类型 数组名称 =1,2,3 , 4,5,6 , 7,8,9 注意: 二维数组可省列 不省行数组:相同数据类型数据的集合。一维数组定义int a=new int10; /只创建数组对象不赋值则必须给长度int a=new int1,3,5,7,9; / 边创建边赋值等号右边的中括号必须不能 给长度int a=1,3,5,7,9;排序int a=new int34,13,52,17,23;Arrays.sort(a);/ 数组排序的工具方法(默认升序排序) for(int

9、 i=0;ia.length;i+) /length :获取数组长度的属性System.out.print(ai+t);二维数组定义int a=new int310;/只创建数组对象不赋值则必须给长度int a=new int231,3,5,1,3,5;边创建边赋值等号右边的中括号必须不能给长度int a=1,3,5,1,3,5;遍历int a=1,3,5,1,3,5,1,5; / 一维数组组成的for(int i=0;ia.length;i+) / 维数组for(int j=0;j 程序中的全局变量(开始访问一直到程序结束)Static 修饰的成员通过类名直接调用而无需实例化对象调用且 st

10、atic 修饰成员优先于其他任何对象创建之前被调用Static 修饰的方法不能调用非 static的属性十 Final : final 修饰的变量, 变量成 常量 final 修饰方法,方法不能被重写子类和父类不能被继承 final 修饰类, 类不能被继承 封装 定义 : 将具有相同特征的属性和方法在一个独立的类中,将其属性私有化,并对外提供共 有的访问方法对属性和方法的封装Private 可以修饰属性,也可以修饰方法被 private 修饰的属性和方法只能被当前类调用而这个类创建的对象是无法调用的要用到 getter 和 setter 方法Get +属性名set + 属性名(属性第一个字母大

11、写)父类中的属性或方法设为 private 了,怎么办Java 中继承只能直接继承父类中的非私有属性和方法 ,而隐含地 (不可见地 )继 承了私有属性和方法。 (也就是说,父类中 private 的成员,子类也继承 了,但是看不到,访问不了)4. protected 访问修饰符 本包,不同包的子类都可以访问。比默认范围大,比 public 范围小。 如果希望属性能被子类在任何位置都能继承,则可以使用 protected 修饰符来 修饰属性 继承 定义 : 子代拥有父代非私有的属性和方法的这种特征称之为继承 通过继承我们可以实现代码的复用 语法格式:【修饰符】 class 父类名/定义成员属性/

12、 定义成员方法 修饰符 class 子类名 extends 父类名/ 定义子类自己成员属性/ 定义子类自己成员方法 子类继承父类非私有的属性和方法 关键字: extends 特点: Java 中支持单继承,只能有一个父类(或多层继承 一个父类可以有多个子类)子类在创建对象时默认先调用父类无参数的构造方法 子类重写父类非私有的同名方法 条件:方法名称相同返回值类型相同 子类在重写父类非私有的同名方法时不能有比父类更严格的访问权限 不能继承父类私有的类注:不能被其他类继承的类 封装 1.作用:尽可能多的隐藏类的内部结构属性 关键字: private方法: 访问器 用 getter ( 获取属性值的

13、特殊方法 ) 得到值 带返回值的类型Setter (赋值 )2. 当父类中没有无参数的构造方法 用 super() 关键字调用父类带参数的构造方法 放在子类构造方法的第一行 多态 重写:发生在子类重写父类中非私有的同名方法,发生在继承当中 重载:同一个类中,具有多个相同的方法名称但型构不同的方法 条件 方法名称相同参数必须不同 个数不同 类型不同 顺序不同(参数类别不同) 3.重载与返回值类型无关根据参数进行重载 (构造方法是一种特殊的重载)带返回值类型的调用时要进行输出 抽象类 抽象类定义抽象类是用 abstract 关键字来修饰的类,不能实例化,可以拥有抽象方法。如 果一个类继承了( ex

14、tends )抽象类,必须 重写抽象类中所有抽象方法 抽象方法定义用 abstract 修饰,只有方法首部,没有方法体 。只能存在于抽象类中,这样的 方法是抽象方法抽象类作用使用抽象类可以强制子类 重写其抽象方法 接口 接口定义接口是 抽象到极致 的抽象类 ,用 interface 来修饰而不是 class 。接口不能被实 例化,接口中所有的方法都是抽象方法 ,所有 属性都是常量 。如果一个类实现了 接口, 必须实现接口中所有的方法 。接口的特点1)接口中只能存在常量和方法的声明; 常量默认自动具有 public ,final, static特性,方法默认具有 public 和 abstrac

15、t 特性。2 )接口不能实例化。3 )一个类只能继承一个类, 但是却可以实现 (implements) 多个接口。 需要注意 的是,一个类可以同时继承一个类和实现一个或多个接口, 或单独实现一个或多 个接口。4 )如果实现接口的类不是抽象类的话, 则该子类必须复写接口中所有的抽象方 法。5 )一个接口可以使用 extends 关键字去继承一个或多个已有的接口实用类 Mathmax() :最大值abs() :绝对值min() :最小值random() : 随机数 0,1)floor() :向下取整,返回不大于 a 的最大整数round() : 四舍五入ceil():向上取整,返回不小于 a 的最

16、小整数随机数的公式:Math.round(max-min)*Math.random()+min)StringcharAt() :返回指定索引处的 char 值length(): 取字符串长度 indexOf() : 返回指定字符在此字符串中第一次出现处的索引substring(): 返 回 一 个 新 字 符 串 ,它 是 此 字 符串 的一 个 子字 符串 begin,end ) equals() :值相等concat() :连接toUpperCase(): 小写 - 大写 toLowerCase() : 变小写 trim() : 去空格split() :拆串replace() :字符串替换StringBufferappend() :赋值 。将参数转换为字符串类型, 再追加到当前字符串缓冲区的 尾部toString() :转成 String 类型 访问修饰符 修饰符 本类 同包 (不同包子类) 全局 Public( 公共的 ) 都能被访问Default (默认的)本类和同包中被访问 跨包不能访问 Private(

温馨提示

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

评论

0/150

提交评论