JavaSE.docx

上传人:b****2 文档编号:1209858 上传时间:2023-04-30 格式:DOCX 页数:72 大小:444.22KB
下载 相关 举报
JavaSE.docx_第1页
第1页 / 共72页
JavaSE.docx_第2页
第2页 / 共72页
JavaSE.docx_第3页
第3页 / 共72页
JavaSE.docx_第4页
第4页 / 共72页
JavaSE.docx_第5页
第5页 / 共72页
JavaSE.docx_第6页
第6页 / 共72页
JavaSE.docx_第7页
第7页 / 共72页
JavaSE.docx_第8页
第8页 / 共72页
JavaSE.docx_第9页
第9页 / 共72页
JavaSE.docx_第10页
第10页 / 共72页
JavaSE.docx_第11页
第11页 / 共72页
JavaSE.docx_第12页
第12页 / 共72页
JavaSE.docx_第13页
第13页 / 共72页
JavaSE.docx_第14页
第14页 / 共72页
JavaSE.docx_第15页
第15页 / 共72页
JavaSE.docx_第16页
第16页 / 共72页
JavaSE.docx_第17页
第17页 / 共72页
JavaSE.docx_第18页
第18页 / 共72页
JavaSE.docx_第19页
第19页 / 共72页
JavaSE.docx_第20页
第20页 / 共72页
亲,该文档总共72页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

JavaSE.docx

《JavaSE.docx》由会员分享,可在线阅读,更多相关《JavaSE.docx(72页珍藏版)》请在冰点文库上搜索。

JavaSE.docx

JavaSE

1.Java编程基础

1.1.基本概念

Ø什么是软件

软件是一系列按照特定顺序组织的计算机数据和指令的集合。

程序设计的最终结果是软件。

系统软件:

系统软件为计算机使用提供最基本的功能.

例如:

DOS,Windows,Linux,Unix,MacOS,Android,iOS

应用软件:

系统软件并不针对某一特定应用领域。

而应用软件则相反,不同的应用软件根据用户和所服务的领域提供不同的功能。

例如:

Word,Excel,PPT,QQ,FeiQ,凌波,UltraEdit,Eclipse

Ø什么是计算机语言

计算机语言指用于人与计算机之间通讯的语言。

计算机语言是人与计算机之间传递信息的媒介。

为了使电子计算机进行各种工作,就需要有一套用于编写计算机程序的数字、字符和语法规划,由这些组成计算机指令就是计算机语言。

软件就是由若干条计算机语言所组成的。

Ø计算机语言分类

机器语言:

机器语言是直接用二进制代码指令表达的计算机语言,指令是用0和1组成的一串代码,它们有一定的位数,并分成若干段,各段的编码表示不同的含义。

汇编语言:

汇编语言是使用一些特殊的符号来代替机器语言的二进制码,计算机不能直接识别,需要用一种软件将汇编语言翻译成机器语言。

高级语言:

使用普通英语进行编写源代码,通过编译器将源代码翻译成计算机直接识别的机器语言,之后再由计算机执行。

Ø高级语言工作原理

1.2.Java开发环境搭建

ØJava平台分类

JavaSE(JavaPlatformStandardEdition)

Java平台标准版,包含那些构成Java语言核心的类,可以理解为学习Java的基础

JavaEE(JavaPlatformEnterprise Edition)

Java平台企业版,包含JavaSE,并且还包含用于开发企业级应用的类

准确的说JavaEE是一套用于企业开发的技术规范,包含很多组件,13种核心技术,如:

XML、JSP、Servlet、JDBC、JavaMail等

JavaME(JavaPlatformMicroEdition)

Java平台微型版,包含JavaSE的一部分,另外提供一些用于小型设备上的类,例如:

手机、机顶盒、汽车导航仪

Ø下载地址

2009年SUN(StanfordUniversityNetwork)公司被Oracle公司收购之后该地址跳转到Oracle网站

ØJDK与JRE

JDK(JavaDevelopmentKit)

Java开发工具,包含开发Java程序的所有组件,包含JRE

JRE(JavaRuntimeEnvironment)

Java运行环境,如果要运行Java程序,就需要JRE的支持

常用组件:

src.zipJava是一门开源的语言,其源代码都在这个压缩包中

rt.jarJava的基础核心类库,我们编写Java程序时使用的class都在这个jar包中

javac.exe编译器,将.java源代码编译为.class文件

java.exe虚拟机,运行Java程序的工具

jar.exe将class文件打成jar包的工具

javadoc.exe生成帮助文档的工具

ØJDK版本

JDK1.0、JDK1.1、JDK1.2、JDK1.3、JDK1.4、JDK5.0、JDK6.0

JDK5.0即为JDK1.5,此版本较1.4大幅变更,因为非常强大,取名叫老虎(Tiger)版,也从1.4升级为5.0

JDK6.0即为JDK1.6,官方版本为6.0但很多人习惯叫1.6,此版本名为野马(Mustang)

Ø环境变量

环境变量是指在操作系统中用来指定操作系统运行环境的一些参数

path:

如果想在任意目录下运行一个程序,我们就需要将程序所在的路径配置在path环境变量中。

通常我们会将javac.exe所在目录配置到path中,因为我们需要在任意目录下都能编译Java源文件。

配置完成之后可以在命令行输入javac测试,如果显式帮助信息则是配置成功。

classpath:

Java虚拟机运行时加载类的路径。

JDK5之后不配置默认为当前目录“.”。

如使用JDK1.4或以下版本时需要人工配置。

暂时不需要配置,默认加载当前目录下的所有class文件。

配置方式:

a.命令行

点击屏幕左下角开始–运行–输入cmd–在命令行中直接输入命令进行修改

查看变量值:

set变量名

设置变量值:

set变量名=变量值,多个值之间使用分号“;”分割,引用变量时使用“%变量名%”形式

注意:

此种方式仅适用于当前窗口

b.我的电脑

鼠标右键点击我的电脑–属性–高级–环境变量

找到要修改的变量将其值修改,此种方式永久有效

注意:

配置环境变量之后可以查看编译器(javac.exe)和虚拟机(java.exe)版本,虚拟机版本不能低于编译器。

使用哪个版本的编译器和虚拟机取决于path环境变量,如果虚拟机版本过低,可以通过环境变量来修改。

编译器版本查看方式:

javac–version

虚拟机版本查看方式:

java–version

1.3.第一个Java程序

Ø编写源代码

新建文本文档,扩展名改为.java,在文件中写入代码。

注意:

windows操作系统默认是隐藏已知文件扩展名的。

请测试新建一个文本文档,如果看到的文件名是“新建文本文档”而不是“新建文本文档.txt”,那么说明你的扩展名被隐藏了。

请选择菜单栏中的工具–文件夹选项–查看–下拉滚动条找到“隐藏已知文件扩展名”–取消掉这一项。

Ø编译字节码文件

a.左键单机屏幕左下角开始–运行–输入cmd启动命令行窗口

b.使用DOS命令进入源代码所在目录

c.使用编译器(javac.exe)编译源代码,javac文件名.java,编译后在该目录中会出现扩展名为class的字节码文件

常用DOS命令:

跳转到指定盘符:

盘符:

例:

C:

D:

E:

跳转到指定目录:

cd目录例:

cdItcast\day01cdTencent\QQ\Bin

显示当前目录下文件:

dir

跳转到上级目录:

cd..

跳转到根目录:

cd\

清屏:

cls

Ø运行程序

使用虚拟机(java.exe)运行class文件,java文件名,注意不要加扩展名,因为虚拟机只能运行class文件,扩展名省略不写,如写则报错。

1.4.UltraEdit使用

使用记事本编辑Java程序有些麻烦,我们可以使用一些工具来帮助我们更好的编写Java代码。

UltraEdit就是一款这样的工具,它提供了显示行号、关键字高亮以及自动缩进的功能。

注意:

关键字高亮功能需要将当前操作文档保存成.java文件之后才能使用。

显示行号:

视图–显示行号

取消备份:

高级–配置–备份–不要备份

自动更正:

高级–配置–语法高亮–取消自动更正关键字

1.5.进制

Ø十进制

由0到9的数字组成,逢十进一

我们最常用的一种进制

01234567891011121314151617181920

Ø二进制

由0和1组成,逢二进一

计算机中存储任何数据都是以二进制的形式进行存储的

0110111001011101111000

Ø八进制

由0到7的数字组成,逢八进一

八进制在程序中以0开头

01234567101112131415161720

Ø十六进制

由0到9的数字和A-F的字母组成,逢十六进一

十六进制在程序中以0x开头

0123456789ABCDEF101112131415161718191A1B1C1D1E1F20

Ø进制转换

a.十进制转二、八、十六进制

除法取余,将要转换的数除以进制数,记住余数,再除以进制数,记住余数,直到这个数等于0为止,将所有余数反转就是对应的二进制表现形式。

b.二、八、十六进制转十进制

乘法,将要转换的数编号,编号从低位开始,从0开始,将每一位上的数乘以进制数的编号次方,最后将所有乘得的结果相加就是十进制表现形式。

c.二进制和八进制互转

八进制的每一位对应二进制的三位。

d.二进制和十六进制互转

十六进制的每一位对应二进制的四位。

Ø二进制负数

一个负数的二进制表现形式就是这个负数忽略符号的正数对应的二进制取反再加一。

计算机中存储的二进制数最高位是0则是正数,是1则是负数。

1.6.码表

ASCII:

英文码表,每个字符占1个字节。

A是65,a是97,0是48

GB2312:

兼容ASCII,包含中文,每个英文占1个字节(正数),中文占2个字节(2个负数)。

GBK、GB18030:

兼容GB2312,包含更多中文,每个英文占1个字节(正数),中文占2个字节(第一个负数、第二个可正可负)。

Unicode:

国际码表,每个字符占2个字节。

Java中存储字符类型就是使用的Unicode编码。

UTF-8:

国际码表,英文占1个字节,中文占3个字节。

2.Java语法

2.1.基本格式

所有Java代码都应该在一个class中。

Java是严格区分大小写的。

Java是一种自由格式的语言。

Java代码分为结构定义语句和功能执行语句,功能执行语句最后必须以分号结束。

2.2.注释

单行注释和多行注释是在程序用来标记一些特殊的文本,这些文本不参与编译运行。

单行注释:

//注释内容

多行注释:

/*注释内容*/

文档注释是Java中特有的一种注释,它可以通过JDK中的工具(javadoc.exe)解析,生成帮助文档。

文档注释:

/**注释内容*/

2.3.标识符

Ø什么是标识符

标识符可以理解为程序中我们自定义的一些名字,包括:

包名、类名、函数名、变量名、常量名。

Ø标识符的命名规则

由大小写字母、数字、下划线(_)和美元符号($)组成,开头不能是数字。

不能使用关键字。

推荐使用全英文。

Ø标识符通用规范

类名、接口名:

所有单词首字母大写,驼峰式命名,例如:

XxxYyyZzz

变量名、函数名:

第一个单词首字母小写,其他单词首字母大写,驼峰式命名,例如:

xxxYyyZzz

常量名:

所有字母都大写,单词之间用下划线分割,例如:

XXX_YYY_ZZZ

包名:

全部小写,例如:

xxx.yyy.zzz

2.4.关键字

abstract

boolean

break

byte

case

catch

char

class

continue

default

do

double

else

extends

final

finally

float

for

if

implements

import

instanceof

int

interface

long

native

new

package

private

protected

public

return

short

static

super

switch

synchronized

this

throw

throws

transient

try

void

volatile

while

注:

java无sizeof,goto,const关键字,但不能用gotoconst作为变量名

2.5.常量

Ø整型

整数,4个字节。

Ø长整型

整数,8个字节。

以L结尾。

Ø单精度浮点数

小数,4个字节。

以F结尾。

Ø双精度浮点数

小数,8个字节。

Ø布尔

只有两个值,真(true)或假(false),1个字节。

Ø字符

单个字符,2个字节。

例如:

'a','中','5','\u0026','\u0027'

在字符常量中,斜杠(\)是一个特殊的字符,它的作用是用来转义后面一个字符,这些字符通常是不可见的或者有特殊意义的。

'\r'回车,回到一行的开始

'\n'换行,换到下一行

'\t'制表符,键盘上的Tab

'\b'类似退格,键盘上的Backspace

以上字符都不可见,无法直接表示,所以用斜杠加上另外一个字符来表示。

'\''单引号,Java代码中单引号表示字符的开始和结束,如果直接写程序会认为前两个是一对,报错。

'\"'双引号,Java代码中双引号表示字符串的开始和结尾,如果要写一个包含双引号的字符串那么这个双引号也需要转义。

'\\'斜杠,Java代码中的斜杠是转义字符,用来和后面一个字符配合使用,在真正需要用斜杠的时候那么就要用另一个斜杠来转义。

以上字符都有特殊意义,无法直接表示,所以用斜杠加上另外一个字符来表示。

Ø字符串

由若干个字符组成的一串。

可以是一个字符、多个字符、或者一个都没有。

字符串没有固定大小。

Ø空

null,只有这一个值,用来表示一个引用为空。

2.6.变量

intx=5;

System.out.println(x);

x=1+1;

System.out.println(x);

x=x+1;

System.out.println(x);

上面的x就是一个变量,变量没有固定的值,是在内存中开辟的一片空间。

Java中的变量中只能存储同一种类型的值。

变量在被取值之前必须初始化(第一次给变量赋值)。

Ø变量分类

a.基本数据类型:

8种

整数:

byte1个字节,最小值:

-128,最大值:

127

short2个字节,最小值:

-32768,最大值:

32767

int4个字节,最小值:

-2147483648,最大值:

2147483647

long8个字节,最小值:

-9223372036854775808,最大值:

9223372036854775807

浮点数:

float4个字节,最小值:

1.4E-45,最大值:

3.4028235E38

double8个字节,最小值:

4.9E-324,最大值:

1.7976931348623157E308

字符:

char2个字节,最小值:

0,最大值:

65535

布尔:

boolean1个字节,true或false

b.引用数据类型:

类、接口、数组都是引用数据类型,除了8种基本数据类型,其他所有类型都是引用数据类型。

Ø类型转化

a.自动类型转换

在byte、short、char参与运算的时候会自动提升为int,相当于将一个占空间较小的值放入了一个较大的空间。

b.强制类型转换

可以将一个占空间较大的值使用(类型)的形式强制放入一个较小的空间,有可能损失精度。

c.字符串转换

任何值和字符串相加都会得到字符串。

Ø变量的作用域与生命周期

作用域:

变量定义在哪一级大括号中,哪个大括号的范围就是这个变量的作用域。

相同的作用域中不能定义两个同名变量。

生命周期:

变量的生命周期从定义时开始,超出作用域后结束。

变量生命周期以外不能使用。

2.7.函数

Ø函数的定义

函数就是一段有名字的代码,可以完成某一特定功能。

如果有一段代码要使用多次,我们可以给它起个名字,每次使用时通过名字调用,这样就不用每次都写一大段代码了。

如果某个函数在执行的时候需要调用者传入数据,那么可以定义参数列表,用于接收数据。

如果函数运行之后需要返回给调用者数据,那么需要指定返回值类型,并且用关键字return返回。

定义函数的3个必要条件:

函数名、参数列表、返回值类型。

如果不需要参数也要写小括号,如果没有返回值类型要写void。

Ø名词解释

形参:

在定义函数时小括号中的参数,用来接收数据的参数。

实参:

在调用函数时真正传入的参数,传递给函数的数据。

参数类型:

函数的参数的类型,一旦定义传入时必须匹配。

返回值:

函数运行结束后返回的值,使用return关键字返回。

返回值类型:

函数运行结束后返回的值的类型,在类型非void情况下必须返回,而且必须类型匹配。

Ø函数的重载

多个函数的函数名相同,参数列表不同(个数、顺序、类型),这就是函数的重载。

在调用函数的时候通过传入的实参找到匹配的函数调用。

函数的重载和返回值类型无关。

2.8.运算符

Ø算数运算符

加号:

在操作数字、字符、字符串时是不同的,两个字符相加得到的是码表值,两个字符串相加是将字符串连接在一起。

除号:

整数在使用除号操作时,得到的结果仍为整数(小数部分忽略)。

取模:

模数的符号忽略不计,结果的正负取决于被模数。

自增:

符号在前就是先运算后取值,符号在后则是先取值后运算。

习题:

a.System.out.println(3500/1000*1000);

b.某个培训中心要为新到的学员安排房间,假设共有x个学员,每个房间可以住6人,让你用一个公式来计算他们要住的房间数?

Ø赋值运算符

等于:

可以多个连用,例如:

x=y=z=5;

加等于:

x+=5;相当于x=x+5;

面试题:

以下代码正确的是?

(多选)

a.byteb=1+1;

b.byteb=1;b=b+1;

c.byteb=1;b+=1;

d.byteb=1;b=++b;

Ø

比较运算符

比较运算符运行结束之后返回的都是boolean值。

注意运算符==不要写成=

Ø逻辑运算符

逻辑运算符运行结束之后返回的也是boolean值

&两边都为true结果才为true,只要有一边是false,结果就是false

|两边都为false结果才为false,只要有一边是true,结果就是true

^判断两边是否不同,不同则为true,相同则为false

!

取反,!

true结果是false,!

fasle结果是true

&&和&结果相同,具有短路效果,如果前半是false,表达式结果一定为false,不运行后一半

||和||结果相同,具有短路效果,如果前半是true,表达式结果一定为true,不运行后一半

分析以下程序运行结果:

intx=1;

inty=2;

System.out.println(x++==y&++x>y++);

System.out.println(x);

System.out.println(y);

intx=1;

inty=2;

System.out.println(x++==y&&++x>y++);

System.out.println(x);

System.out.println(y);

intx=1;

inty=2;

System.out.println(x++==y|++x>y++);

System.out.println(x);

System.out.println(y);

intx=1;

inty=2;

System.out.println(x++==y||++x>y++);

System.out.println(x);

System.out.println(y);

&&在前半是false的时候短路

||在前半是true的时候短路

Ø位运算符

任何信息在计算机中都是以二进制的形式保存的,&、|、^除了可以作为逻辑运算符,也可以做为位算符。

它们对两个操作数中的每一个二进制位都进行运算,0当做false,1当做true。

&将两个二进制数每一位进行&运算,两边都为1结果才为1,只要有一边是0,结果就为0。

|将两个二进制数每一位进行|运算,两边都为0结果才为0,只要有一边是1,结果就为1。

^将两个二进制数每一位进行^运算,只要两边不同结果就为1,相同则为0。

我们可以对数据按二进制位进行移位操作,java的移位运算符有三种:

<<左移将二进制的每一位向左移,低位补0。

左移几位就相当于乘以2的几次方。

>>右移将二进制的每一位向右移,原来高位是0就补0,原来高位是1就补1。

右移几位就相当于除以2的几次方。

>>>无无符号右移将二进制的每一位向右移,高位补0。

正数移动没区别,负数移动后变为正数。

练习:

a.用&和>>来做十进制转十六进制

b.有两个int型变量a和b,在不使用第三个变量的情况下交换两个变量中的值

Ø运算符优先级

思考一下代码运行结果:

System.out.println(1+2*3);

System.out.println(false&&true||true);

System.out.println(true||true&&false);

inta=2;

intb=a+3*a++;

System.out.println(b);

inta=2;

intb=a+++3*a;

System.out.println(b);

inta=1;

intb=2;

System.out.println(a+++b);

尽量写简单的表达式,遇到运算符优先级的问题使用括号解决。

2.9.语句

Ø顺序结构

顾名思义,就是程序从上到下一行一行执行的结构,中间没有判断和跳转,直到程序结束。

Ø选择结构

程序具备多个分支,通过条件判断决定程序选择那一条分支执行

a.if语句:

通过if...elseif...else决定程序流程。

如果if中的条件满足则执行其中语句,if未满足则继续判断elseif,如果满足则执行,不满足继续判断下一个elseif,如果所有都不满足,则执行else。

练习:

用ifelse语句判断一个数是奇数还是偶数。

用户输入一个字符,用程序判断是否为小写字母,如果是,请输出“您输入的字符是小写字母”。

b.switch语句:

通过switch...case...default语句控制程序流程。

根据switch后括号中的值判断运行哪一个case,这个值可以是byte、short、ch;ar、int。

default语句是可选的,如果所有case都不满足,则会执行default。

一旦匹配到一个case,程序就会从这个case向下执行,执行完一个case之后不会跳过其他的case,如需跳过请使用break。

c.三元运算符

语法:

表达式?

结果1:

结果2

如果表达式结尾为true取结果1,为false则取结果2。

注意三元运算符也是有短路的效果,根据表达式的结果,只运行冒号一边的,另外一边的不参与运行。

练习:

定义一个函数,接收两个int参数,返回较大的一个。

Ø循环结构

通过循环语句让同一段代码反复执行多次,执行完毕程序才会继续往后运行

a.while

先判断while中的表达式

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

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

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2