您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > linux/Unix相关 > Java基础知识PPT
InsertPictureHereOracleJavaEE实训教材系列Java面向对象的核心逻辑InsertPictureHere第一章Java技术简介目标•Java编程语言的主要概念•Java产品分组•产品生命周期的各阶段3Java编程语言的关键概念•面向对象•分布式•简单化•多线程•安全•平台独立性4过程化编程•过程化编程着重于顺序。5面向对象6分布式7简单化•使用引用代替内存指针。•boolean数据类型有true或false值。•自动管理内存。8多线程9安全10依赖于平台的程序11依赖于平台的程序12依赖于平台的程序13独立于平台的程序14独立于平台的程序15认识Java产品组16使用Java平台标准版SDK组件•Java运行环境(JRE):•所选平台上的Java虚拟机•所选平台上的Java类库•Java编译器•Java类库(API)文档(单独下载)•其它工具,例如创建Java存档文件(JAR文件)和调试Java程序的工具•Java程序示例17产品生命周期(PLC)的各阶段1.分析2.设计3.开发4.测试5.实现6.维护7.产品终止(EOL)18分析阶段19设计阶段20开发阶段21测试阶段22实现阶段23维护阶段24产品终止(EOL)阶段25InsertPictureHere第二章创建第一个Java程序目标•JDK软件开发工具•Java程序的装载与执行•创建并运行HelloJava程序27Java应用程序28开发与运行环境29开发与运行环境30•JRE=JVM+JavaSE标准类库•JDK=JRE+开发工具集(例如Javac编译工具等)Java虚拟机(JVM)•什么是JVM?•JVM对平台有依赖性吗?•Java程序对平台有依赖性吗?•什么是JavaHotSpot™虚拟机?•什么是JavaHotspot™客户端虚拟机?•什么是JavaHotspot™服务器端虚拟机?31JDK的安装32设置path环境变量33Java程序的装载与执行34创建并运行HelloJava程序TestGreeting.java类的代码如下:1//2//HelloJava程序示例3//4publicclassTestGreeting{5publicstaticvoidmain(String[]args){6Greetinghello=newGreeting();7hello.greet();8}9}Greeting.java类的代码如下:1publicclassGreeting{2publicvoidgreet(){3System.out.println(HelloJava!);4}5}35创建并运行HelloJava程序36InsertPictureHere第三章类和对象目标•类和对象的概念•使用类和对象•主类与main方法•Java内存管理与垃圾回收38类和对象的概念•面向对象(OO)语言是最接近现实世界的编程语言•对象—对应现实世界的实体•类—对现实世界实体的抽象定义39类和对象的关系•类是对象的抽象•对象是类的实例40类和对象中的信息•类中的信息:•属性•行为(或操作)—称为方法•对象中的信息•状态—即属性值•来自类中方法41类的声明publicclass类名{[属性的声明][构造器的声明][方法的声明]}42类的声明示例1publicclassDog{2privateintweight;3publicintgetWeight(){4returnweight;5}6publicvoidsetWeight(intnewWeight){7weight=newWeight;8}9}43创建和访问对象•应针对类使用new关键字来创建Java对象。•使用.符号访问对象成员—对象.成员•成员包括属性和方法1publicclassTestDog{2publicstaticvoidmain(String[]args){3Dogd=newDog();4System.out.println(Dogd’sweightis+d.getWeight());56d.setWeight(42);7System.out.println(Dogd’sweightis+d.getWeight());8}9}44主类与main方法•一个应用程序可以包含多个类•主类—包含main方法的类•main方法—程序的入口方法publicstaticvoidmain(String[]args){……}45JVM使用的内存46•堆栈—用于临时保存局部变量的值•堆—用于存储对象及其加载的类堆内存47JVM的垃圾回收机制•垃圾对象—内存中不再被使用的对象•垃圾回收(GC)—JVM自动释放垃圾对象所占内存的机制•例如:1publicclassTestDog{2publicstaticvoidmain(String[]args){3Dogd=newDog();4System.out.println(Dogd’sweightis+d.getWeight());5d=null;67Dogd1=newDog();8System.out.println(Dogd’sweightis+d1.getWeight());9}10}48InsertPictureHere第四章声明和使用字段目标•字段的声明•使用基本数据类型•使用引用类型•字段的初始化•分号、注释和空白50字段与属性•类中的属性可分为两种形式:•用字段声明•用get/set方法声明51声明字段•声明对象字段的语法格式如下:修饰符类型字段名称;•例如:1publicclassFoo{2privateintx;3privatefloaty=10000.0F;4privateStringname=BatesMotel;5}52数据类型的分类•基本数据类型intvar1;charvar2;floatvar3;•引用类型,或对象类型,或类类型Stringstr;Datedate;53标识符•是为字段(或类、方法、局部变量)起的一个名称•可以用字母、_或$作为开头•区分大小写,无长度限制•下列为有效的标识符示例:identifieruserNameuser_name_sys_var1$change//合法但不推荐MAX_VALUE54Java语言的关键字55•注意:不能将关键字作为标识符基本数据类型Java语言定义了8种基本数据类型:•整型:byte、short、int和long•浮点类型:float和double•字符类型:char•逻辑类型:boolean56逻辑类型—boolean•boolean类型只有两个字面值:true和false•例如:booleanflag=true;57字符类型—char•表示16位Unicode字符•字符的字面值使用单引号(‘’)引起•例如:‘a’—字母a‘\n’,‘\t’—转义字符“换行”和“制表符”‘\u03a6’—希腊字母Φ58整型—byte、short、int和long•数据类型的大小:•数值的字面值可用三种形式来表示:2十进制数077八进制数(以0开头)0xBAAC十六进制数(以0x开头)•数值的字面值缺省为int类型,可使用后缀字母L或l来表示long类型。例如:100,205L59长度数值范围byte8位-27to27-1short16位-215to215-1int32位-231to231-1long64位-263to263-1浮点类型—float和double•数据类型的大小:•数值的字面值可用两种形式来表示:3.14简单的浮点数值3.14E23大浮点数值•数值的字面值缺省为double类型–可使用后缀字母D或d来表示double数值,–可使用后缀字母F或f来表示float数值。–例如:3.14,2.718F,6.02D60长度Float32位Double64位引用类型•引用类型—在字段定义中,数据类型为某个预定义的类。也称为对象类型或类类型。•例如:数据类型标识符名称intvar;//var为基本类型Stringstr;//str为引用类型Dogdog//dog为引用类型•String是JavaSE类库中定义的最常用类之一61引用类型可用的类•JavaSE类库中的类,如String,Date,……•用户自行定义的类,如Dog62使用String类•String的字面值须包含在双引号中:例如:Thequickbrownfoxjumpsoverthelazydog.•String类型引用变量的声明和初始化:Stringgreeting=GoodMorning!!;StringerrorMessage=RecordNotFound!;63使用自定义类•自定义类1publicclassDog{2privateintweight;3publicintgetWeight(){4returnweight;5}6publicvoidsetWeight(intnewWeight){7weight=newWeight;8}9}•声明Dogdog;•声明并赋值Dogdog=newDog();64初始化字段的方式•在使用对象的字段之前,必须对其进行初始化赋值。•可使用下列方式初始化字段:–使用缺省值进行初始化–使用显式值进行初始化–使用构造器进行初始化(后续章节介绍)65使用缺省值进行初始化1classStock{2//字段声明3Stringsymbol;//初始化为null4doubleprice;//初始化为0.05Datedate;//初始化为null67//方法声明8}66各数据类型的缺省值67数据类型缺省值byte0short0int0long0Lfloat0.0fdouble0.0dchar‘\u0000’booleanfalse引用类型null使用显式值进行初始化1classStock{2//字段声明3Stringsymbol=“SUNW”;4doubleprice=16.98;5Datedate=newDate();67//方法声明8}68分号•单行或多行语句用(;)结束a=1;b=2;c=3;total=a+b+c;69注释•共有三种注释方式可以使用://单行注释/**多行注释*//***JavaDoc文档注释*注释内容将被自动生成到JavaDoc文档中*/70空白•Java语言中的空白包括:–空格–制表符–换行符•程序中可以使用任意数量的空白•可以使用空白来增加源程序的可读性例如:{intx;x=23*54;}与{intx;x=23*54;}71InsertPictureHere第五章声明和使用方法(一)目标•方法的声明•块语句和局部变量•使用表达式•表达式中的数据类型转换73声明方法•基本语法:返回类型方法名([参数列表]){[方法体]}•例如:1publicclassDog{2privateintweight;3publicintgetWeight(){4returnweight;5}6publicvoidsetWeight(intnewWeight){7weight=newWeight;8}9}74方法体的构成•块语句{……}•局部变量的声明和赋值语句{intx=10;}•表达式语句x=x+1;•流程控制语句–分支语句—if,switch–循环语句—while,do-while,for75块语句•是由成对的大括号({})限定一组语句。{x=y+1;y=x+1;}•块语句可以嵌套while(ilarge){a=a+i;//可以嵌套语句块if(a==max){b=b+a;a=0;}i=i+1;}76局部变量的声明和赋值语句•局部变量—在方法体(或方法体中的块语句)中声明的变量:publicvoidcompute(intparam){intx=10;}•局部变量只在其所在块内有效•局部变量必须先初始化赋值,才能使用•方法的参数也是局部变量77表达式语句•一个表达式至少要有一个运算符。例如:x+5;//一个运算符x+5*y;//
本文标题:Java基础知识PPT
链接地址:https://www.777doc.com/doc-7028326 .html