高淇java基础教程笔记.docx

上传人:b****5 文档编号:28806576 上传时间:2023-07-19 格式:DOCX 页数:40 大小:3.54MB
下载 相关 举报
高淇java基础教程笔记.docx_第1页
第1页 / 共40页
高淇java基础教程笔记.docx_第2页
第2页 / 共40页
高淇java基础教程笔记.docx_第3页
第3页 / 共40页
高淇java基础教程笔记.docx_第4页
第4页 / 共40页
高淇java基础教程笔记.docx_第5页
第5页 / 共40页
点击查看更多>>
下载资源
资源描述

高淇java基础教程笔记.docx

《高淇java基础教程笔记.docx》由会员分享,可在线阅读,更多相关《高淇java基础教程笔记.docx(40页珍藏版)》请在冰豆网上搜索。

高淇java基础教程笔记.docx

高淇java基础教程笔记

第一讲:

JAVA如何学习

第二讲:

计算机语言发展史——java历史/核心优势

计算机语言发展历程:

逐渐趋向人类能理解语言

Ø机器语言:

即计算机能理解语言。

由0和1代码构成。

Ø汇编语言:

使用英文缩写助记符来表达基本计算机操作,重要通过操作指令来进行对计算机操作。

Ø高档语言:

面向过程、面向对象

Java简史:

ØSUN(StanfordUniversityNetwork)公司

ØGreen项目

ØJava创造人:

JamesGosling

Ø发展历史:

✧1991年,SUN公司Green项目,Oak

✧1995年,推出java测试版

✧1996年,JDK1.0

✧1997年,JDK1.1

✧1998年,JDK1.2,大大改进了初期版本缺陷,是一种革命性版本,改名为Java2

✧,J2SE5.0(1.5.0)

✧,J2SE6.0(1.6.0)

✧,JAVASE7.0

Ø互联网发展(java发展机遇)

ØJAVA核心优势:

----跨平台

ØJAVA各版本和体系构造

✧J2EE(JAVAEE):

JAVA2EnterpriseEdtion——定位在服务器端应用

✧J2SE(JAVASE):

JAVA2StandardEdtion——定位在个人计算机上应用

✧J2ME(JAVAME):

JAVA2MicroEdtion——定位在消费性电子产品应用上。

第三讲:

JDK/JRE/JVM区别

ØJDK&JRE&JVM(包括关系)

✧JDK——JavaDevelopment’kit:

java开发工具包

✧JRE——JavaRuntimeEnvironment:

java运营环境

✧JVM——JavaVirtualMachine:

JAVA虚拟机

ØJVM和java跨平台特性

ØJAVA环境变量配备

✧测试

第四讲:

第一种java程序/第五讲

Ø第一种java程序

✧代码编写

✧编译

✧执行

Ø程序中也许浮现错误

✧“java”不是内部或外部命令,也不是可运营程序或解决文献。

✧Java区别大小写。

Ø总结和提高

✧Java对大小写敏感。

✧核心字class表白java程序中所有内容包括在类中,java是一种面向对象语言。

✧Main()办法是java应用程序入口办法。

✧在java中,用花括号划分程序各个某些,任何办法代码都必要以”{“开始,以”}“结束,由于编译器忽视空格,因此花括号风格不受限制。

✧Java一种语句可以跨多行,其中每个语句必要以分号结束。

✧一种源文献可以有各种class

✧一种源文献中至多只能有一种public类声明,其他类个数不限,如果源文献中包括一种public类源文献名必要和它中定义public类名相似,且以”java“为扩展名。

Ø编程风格

✧注意缩进

✧成对编程——括号、引号都应当写完后,再往里加内容

✧见名知意

ØJava注释

✧注释就是程序员为读者作阐明,是提高程序可读性一种手段

✧注释不会出当前字节码文献中。

即java编译器编译时会跳过注释语句

✧//单行注释(注释内容从//到本行结束)

✧/**/多行注释——注释不能嵌套

Ø惯用dos命令

✧Cd进入一种目录

✧Cd..:

变化目录

✧Dir:

查看目录里面内容

✧上下键:

查找敲过命令

✧Tab键:

命令自动补齐

第六讲:

标记符/Unicode和GBK各种字符集关系

Ø标记符(identifier)

✧作用——给变量、类和办法命名

✧Java标记符命名规则:

◆标记符必要以字母、下划线_、美元符$开头。

◆标记符其他某些可以是字母、下划线_、美元符$和数字任意组合。

◆Java标记符大小写敏感,且无长度限制。

◆不可以是java核心字

◆注:

java不采用普通语言使用ASCII字符集,而是采用unicode这样原则国际字符集,因而这里字母含义:

英文、中文等。

Ø字符集简介

✧ISO8859-1——西欧字符集

✧BIG5——台湾五大码,表达繁体字

✧GB2312——大陆最早使用简体中文字符集

✧GBK——GBK2312扩展,可以表达繁体字

✧GB18030——最新GBK扩展,中华人民共和国所有非手持/嵌入式计算机系统强制性实行原则。

可以表达中文、维吾尔文、藏文等中华民族字符。

✧Unicode——国际通用字符集

Øjava核心字

第七讲:

数据类型/进制转换/编程中L问题

Øjava是一种强类型语言,每个变量都必要声明其类型

✧整型变量

◆Java语言整型常量表达形式:

—十进制整数

—八进制整数

—十六进制整数

◆Java语言整型常数默以为int型,声明long型常量可以加”l“或”L“(建议使用大写,小写容易误以为数字1)

✧进制转换

◆转换代码:

◆System.out.println(Intger.toBinaryString(需要转换变量));//二进制

◆System.out.println(Intger.toOctalString(需要转换变量));//八进制

◆System.out.println(Intger.toHexString(需要转换变量));//十六进制

✧如果数据大小没有超过byte/short/char表述范畴,则可以自动转型

第八讲:

浮点数/浮点数误差问题

Ø浮点型

✧Float类型又称作单精度类型,尾数可以精准到7位有效数字,在诸多状况下,float类型精度很难满足需求。

✧Double表达这种类型值精度是float类型两倍,又被称为双精度,绝大多某些应用程序都采用double类型。

✧Java浮点类型常量有两种表达形式

—十进制形式,如:

3.14

—科学记数法形式,如:

134e2、314E2、314E-2

✧浮点数值默以为double类型。

要将其变为float类型,需要在背面增长F/f如:

1.3f

✧总结

—默认类型是double

—浮点数存在舍入误差,诸多数字不能精准表达,如果需要进行不产生舍入误差精准数字计算,需要使用BigDecimal类。

—最佳避免比较中使用浮点数

第九讲:

char–字符串入门

Ø字符型char

✧单引号用来表达字符常量。

如:

’A’,是一种字符,它与”A“是不同,”A“表达具有一种字符字符串。

✧Char类型用来表达unicode编码表中字符

✧Unicode编码被设计用来解决各种语言所有文字,它占2个字节,可容许有65536个字符;

✧Java语言容许使用转义字符‘\‘来将其后字符转变为其他含义。

✧Char是在0-65535范畴,运算时直接当作整数来运算。

✧可以把0-65535之间整数直接转型为char

Ø布尔类型boolean(一位,不是一种字节)

✧Boolean类型有两个值,true和false

✧Boolean用来判断逻辑条件,普通用于程序流程控制

第十讲:

基本数据类型自动转换/强制转型

Ø自动类型转换

⏹容量小数据类型可以自动转换为容量大数据类型(容量表达类型范畴,而不是字节数)

⏹特例:

可以将整型常量直接赋值给byte,short,char等数据类型变量,而不需要进行强制类型转换,只要不超过其有效范畴。

Ø强制类型转换

✧强制类型转换,又称为造型,用于显式转换一种数值类型,在有也许丢失信息状况下进行转换是通过造型来完毕,但也许导致精度减少或溢出。

✧当将一种类型强制转换成另一种类型,而又超过了目的类型表达范畴,就会被截断成为一种完全不同值。

Ø基本类型转换时常用错误和问题

✧操作比较大数时,要留意与否溢出特别是整数操作时

✧L和l问题——不要命名名字为l变量、long类型使用大写L不要用小写l

Ø运营时表达式中类型提高问题

✧所有一元运算符(+-*/%),都会有类型提高问题

第十一讲:

JDK7.0新特性/二进制整数/下划线

Ø二进制整数/下划线

✧表达形式:

0b开头;如表达byte表达1为:

0b00000001

✧若觉得查看不以便可以使用下划线分隔符(惯用于写某些比较长数字)

✧如:

123_321_456等

第十二讲:

变量-成员变量-局部变量/常量-命名规范

Ø变量

✧Java是一种强类型语言,每个变量都必要声明其类型。

✧Java变量是程序中最基本存储单位,其要素涉及变量名,变量类型和作用域。

✧变量在使用前必要对其声明,只有在变量声明后来才干为其分派相应长度存储单元,声明格式为:

typevarName[=value][{,varName[=value]}];

✧注意事项:

——每个变量均有类型,类型可以是基本类型,也可以是引用类型。

——变量名必要是合法标记符。

Ø变量声明

✧变量声明举例:

inta;booleanvalue;doublesalary;

✧可以在一行中声明各种变量:

intx,y,z;//bothareintegers

——不倡导这种风格,逐个声明每一种变量可以提高程序可读性。

✧可以将变量声明和初始化放在同一行中,如:

intage=18;

Ø局部变量和实例变量

✧局部变量:

办法或语句块内部定义变量

——在使用前必要声明和初始化(赋初值)。

✧实例变量(成员变量):

——办法外部、类内部定义变量(属性)

——如果不自行初始化,它会自动初始化该类型默认初始值(数值类型变量初始化成0或0.0,字符型变量初始化值是16位0,布尔型默认是false)\u0000

Ø常量final

✧其值无法变化量

✧只能被初始化一次(只要赋值则其值无法变化)

✧常量命名普通使用全大写,如果单词较多则使用下划线进行分隔如:

MAX_VALUE

Ø命名规范

✧所有变量、办法、类名:

见名知意

✧变量、办法名:

✧——首字母小写和驼峰原则如:

run(),runRun(),age,ageNew

✧常量:

——大写字母和下划线:

MAX_VALUE

✧类名:

——首字母大写和驼峰原则如:

Man,GoodMan

第十三讲:

运算符——算术/逻辑/位运算/扩展运算符

Ø

Ø算术运算符

✧二元运算符类型提高(有两个操作数)

◆整数运算:

——如果两个操作数有一种为long,则成果也为long

——没有long时,成果为int,虽然操作数全为short、byte,成果也是int

◆浮点运算

——如果连个操作数有一种为double,则成果为double

——只有两个操作数都是float,则成果才为float

✧一元运算符(++,--)

——如:

inta=3;

——如:

intb=a++;//执行完后,b=3,先给b赋值,再自增

——如:

intc=++a;//执行完后,c=5,先自增,再给b赋值

Ø逻辑运算符(只能操作布尔变量)

✧逻辑与:

&&只要有一种为false则为false,只有全为true才会是true(短路问题)

✧逻辑或:

||只要有一种为true则为true,只有全为false才会是false(短路问题)

✧逻辑非:

相反

✧逻辑与和逻辑或采用短路方式。

从左到右计算,如果拟定值则不会再计算下去。

Ø位运算符(按位操作)

✧对进制进行操作(0是false,1为true)

✧&——按位与:

只要有一种为0则为0,只有全为1才会是1

✧|——按位或:

只要有一种为1则为1,只有全为0才会是0

✧^——按位异或:

相异(两个值不同样),相似则为0,不同则为1

Ø扩展运算符

第十四讲:

字符串连接—三元运算符—优先级

Ø字符串连接符+

✧“+”运算符两则操作数中只要有一种字符串(string)类型,系统会自动将另一种操作数转换为字符串然后再进行连接。

Ø三元运算符

✧语法格式:

——x?

y:

z

✧——其中x为boolean类型表达式,先计算x值,若为true,则整个三目运算成果为表达式y值,否则整个运算成果为表达式z值。

✧经惯用来代替简朴if–else判断!

Ø运算符优先级

✧表达式里面优先级使用小括号来组织

第十五讲:

eclipse使用

第十六讲:

eclipse使用

第十七讲:

if语句—单选取—双选取—多选取构造

Ø控制语句

✧选取

✧顺序

✧循环

ØIf单选取构造

Ø

ØIf-else双选取构造

Ø

ØIf-elseif-else多选取构造

Ø

第十八讲:

switch语句—基本用法—穿透现象

Ø

第十九讲:

JDK7.0新特性—增强switch语句

Ø增强switch语句

✧JDK7.0之前:

表达式成果只能是int(可以自动转为byte、short、char),枚举类型

✧表达式成果可以是:

字符串如下代码所示:

第二十讲:

while语句——dowhile语句

ØWhile循环语句

✧——在循环刚开始时,会计算一次“布尔表达式”值,若条件为真,执行循环体。

而对于日后每一次额外循环,都会在开始前重新计算一次。

✧——语句中应有使循环趋向于结束语句,否则会浮现无限循环(死循环)。

ØDo—while语句

Ø

第二十一讲:

for语句

ØFor语句

Ø

Ø课堂练习代码

Ø1.用while和for循环分别计算100以内奇数和偶数和,并输出。

Ø

Ø2.用while和for循环输出1—1000之间能被5整除数,且每行输出三个。

Ø

第二十二讲:

综合练习——九九乘法表

Ø打印输出九九乘法表

Ø

第二十三讲:

break和continue——带标签break和continue

Ø在任何循环语句主体某些,均可用break控制循环流程,break用于强行退出循环,不执行循环中剩余语句。

(break语句还可用于多分支语句switch中)。

ØContinue语句用于在循环语句体中,用于终结某次循环过程,即跳过循环体中尚未执行语句,接着进行下一次与否执行循环鉴定。

Ø

Ø带标签break和continue

✧Goto核心字(理解即可)

第二十四讲:

办法—办法本质—形参/实参—return语句

ØJava办法类似于其他语言函数,是一段用来完毕特定功能代码片段,声明格式:

[修饰符1修饰符2…]返回值类型办法名(形式参数列表){

Java语句;……

}

✧形式参数:

在办法被调用时用于接受外界输入数据

✧实参:

调用办法时实际传给办法数据

✧返回值:

办法在执行完毕后返还给调用它环境数据

✧返回值类型:

事先商定返回值数据类型,如:

无返回值,必要给出返回值类型void。

✧Java语言中使用下述形式调用办法:

对象名.办法名(实参列表)

✧实参数目,数据类型和顺序必要和所调用办法声明形参列表匹配

✧Return语句终结办法运营并指定要返回数据

✧Java中进行办法调用中传递参数时,要遵循值传递原则:

——基本类型传递是该数据值自身,引用类型传递是对对象引用,而不是对象自身。

✧Java中只有值传递!

第二十五讲:

递归算法

Ø递归算法

✧递归自身是一种常用解决问题办法,即把问题逐渐简朴化。

递归基本思想就是“自己调用自己”,一种递归技术办法将会直接或者间接调用自己。

✧递归算法涉及两个某些

✧——定义递归头//什么时候不调用自身办法,如果没有递归头,将会进入死循环。

✧——递归体//什么时候需要调用自己

第二十六讲:

API文档—package概念

ØAPI是什么?

——ApplicationProgrammingInterface应用程序编程接口

ØPackage包用法(作用类似于文献夹)

✧为什么需要package?

——为理解决类之间重名问题

——为了便于管理类:

适当类位于适当包!

✧Package怎么用?

——普通是类第一句非注释性语句。

——用打包语句:

package包名;

——包名:

域名倒着写即可再加上模块名,并与内部管理类

✧注意事项:

——写项目时都要加包,不要使用默认包

——com.gao和com.gao.car,这两个包没有包括关系,是两个完全独立包,只是逻辑上看起来后者是前者一某些

ØJDK中重要包

✧Java.lang——包括某些java语言核心类

✧Java.awt——包括了构成抽象窗口工具集各种类用于(GUI)

✧J——包括执行与网络有关操作类

✧Java.io——包括能提供各种输入/输出功能类

✧Java.util——包括某些使用工具类

ØAPI文档生成

✧特殊注释:

——文档注释:

/**

✧使用JAVADOC生成API文档——解决问题:

代码和文档分离

✧惯用java注释标签:

✧——@auther作者

✧——@version版本

✧——@param参数

✧——@return返回值含义

✧——@throws抛出异常描述

第二十七讲:

键盘输入——scanner类使用—import使用

ØScanner类(实现计算机与顾客交互)

✧Scanners=newScanner(System.in);//系统输入

ØImport导入包

第二十八讲:

面向对象——面向过程和面向对象本质区别

Ø面向对象——以对象方式,组织代码,封装数据

Ø面向对象与面向过程区别

第二十九讲:

面向对象—面向对象方式思考问题

Ø高组织管理层

第三十/三十一讲:

面向对象—类和对象关系

Ø面向对象编程(OOP)本质:

——以类方式组织代码,以对象方式组织(封装)数据

面向对象思维:

OOA(分析),OOD(设计)

Ø对象:

详细事物

Ø类:

是对对象抽象(抽象抽出象[相似]某些)类似于分类

Ø先有详细对象,然后抽象各个对象之间某些,归纳出类通过类再结识其她对象。

Ø对象和类总结:

✧对象和类关系:

特殊到普通,详细到抽象

✧类:

class

✧对象:

object,instance(实例)。

✧类可以当作一类对象模版,对象可以当作该类一种详细实例

✧类是用于描述同一类形对象一种抽象概念,类中定义了这一类对象所应具备静态和动态属性。

✧对象是java程序核心,在java程序中“万事万物皆对象”。

✧JDK提供了诸多类供编程人员使用,编程人员也可以定义自己类。

第三十一讲:

面向对象—程序执行过程内存分析

Ø引用类型:

(在没有进行赋值之前系统默以为null)

——java语言中除基本类型之外变量类型都称为引用类型。

ØJava中对象是通过引用reference(地址)对其操作。

Ø类属性:

(代表静态数据)

●属性:

field,或者叫成员变量

●属性用于定义该类或该类对象包括数据或者说静态属性

●属性作用范畴是整个类体

●在定义成员变量时可以对其初始化,如果不对其初始化,java使用默认值对其初始化。

(数值:

0,0.0char:

\u0000,Boolean:

false所有引用类型:

null)

●属性定义格式:

——[修饰符]属性类型属性名=[默认值]

Ø类办法:

(动态行为)

●面向对象中,整个程序基本单位是类,办法是从属于类。

●办法定义格式:

——[修饰符]办法返回值类型办法名(形参列表){

//n语句办法体

}

●Java中办法参数传递是:

值传递!

Ø变量作用域

●局部变量必要对其进行初始化,实例变量则不必要

Ø内存分析

●栈:

自动分派持续空间,后进先出

——存储:

局部变量

●堆:

不持续空间

——存储new出来对象

●办法区:

(属于堆里面一种特殊示例)

——存储:

类信息(代码-属性、办法)、static变量、常量池(字符串常量)等。

●操作对象就是操作地址

Ø代码(如下)

Ø

Ø

第三十三讲:

虚拟机内存管理—垃圾回收机制

Ø垃圾回收机制(garbagecollection)

✧对象空间分派:

✧使用new核心字创立对象即可

✧对象空间释放

✧将对象赋值null即可,垃圾回收器将负责回收所有“不可达”对象内存空间。

✧要点:

——程序员无权调用垃圾回收器

——程序员可以通过System.gc().告知GC运营,但是java规范并不能保证立即运营。

——finalize办法,是java提供应程序员用来释放对象或资源办法,但是尽量少用。

第三十四讲:

构造办法

Ø构造办法(构造器):

cinstructor

Ø构造办法用于构造该类对象(实例)。

Ø格式:

——[修饰符]类名(形参列表){

//n语句;

}

Ø是一种特殊办法:

——通过new核心字调用

——构造器虽然有返回值,但是不能定义返回类型(返回值类型必定是本类),不能在构造器里调用return。

——如果咱们没有定义构造器,则系统会自动定义一种无参构造函数。

如果已定义则编译器不会添加!

——构造器办法名必要和类名一致!

——作用:

构造该类对象,经常也用来初始化对象属性。

第三十五讲:

办法重载—构造办法重载

Ø重载(overload):

一种名字相应各种办法

✧办法重载是指一种类中可以定义有相似名字,但参数不同各种办法。

调用时,会依照不同参数表选取相应办法。

✧两同三不同:

——同一种类,同一种办法名

——不同:

参数列表不同(类型、个数、顺序不同)

✧只有返回值不同不构成办法重载

✧只有形参名称不同,不构成办法重载

✧与普通办法同样,构造办法也可以重载

第三十六讲:

static变量和办法——内存分析static

ØStatic核心字

✧在类中,用static声明成员变量为静态变量:

或者叫做类属性,类变量。

✧它为该类公用变量,属于类,该类所有实例共享,在类被载入时被显式初始化。

✧对于该类所有对象来说,static成员变量只有一份。

被该类所有对象共享。

✧可以使用“对象.类属性”,来调用。

但是普通都是用“类名.类属性”。

✧Static变量置于办法区中!

✧用static声明办法为静态办法或者叫类办法

✧不需要对象,就可以调用(类名.办法名)

✧在调用该办法时,不会将对象引用传递给它,因此在static办法中不可访问非static成员。

ØStatic内存分析

Ø

Ø

第三十七讲:

this隐式参数—内存分析

ØThis核心字(是指向调用对象自身引用名)

✧在普通办法中,this总是指向调用该办法对象

✧构造办法中,this总是指向正要初始化对象

✧This不能用static办法

✧常用用法:

——引用类隐藏数据域

第三十八讲:

继承——基本概念

Ø继承

✧类是对对象抽象,继承是对某一批类抽象,从而实现对现实世界更好建模。

(OOD面向对象设计角度分析)。

✧提高代码复用性(OOP面向对象编码角度分析)

✧extends意思是“扩展”。

子类是父类扩展

Ø继承小结:

✧子类继承父类,可以得到父类所有属性和办法(除了父类构造办法)。

✧Java中只有单继承,没

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 实习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1