java学习资料
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
j a v a学习资料(总19页) -CAL-FENGHAI.-(YICAI)-Company One1
-CAL-本页仅作为文档封面,使用请直接删除
1、课程名称:JAVA SE基础部分
2、知识点
、课程说明
、本次预计讲解的知识点
1、JAVA 的发展及环境的搭建配置;
2、JAVA 中的主要数据类型及关键字;
3、基本的运算操作符;
4、程序的控制语句:循环、判断;
5、方法及数组的使用。
3、具体内容
、认识Java(了解)
Java是现在最流行的一种语言,而且在Java中完全的显示出了简单的特性,所以java语言足够简单。
Java最早的时候是在1991年的GREEN项目诞生的,但是其原本的名字不叫Java而是称为OAK(橡树),GREEN 的项目实际上就属于现在所提出的嵌入式的开发项目,通过EMAIL可以控制家电的工作。
但是最早的时候SUN公司的设计人员原本是使用C++进行开发,但是由于其开发过于复杂了,所以使用了C++开发出了一套新的平台—— OAK。
JAVA 语言的发展经历了以下的几个重大的版本:
· JDK :标志着整个JAVA体系的诞生;
· JDK :1998年推出,Java更名为JAVA 2,加入了大量的图形界面的开发包,但是现在基本上已经不用了;
· JDK :2005年推出,加入了很多的新特性,而且这些新特性几乎都是从上学来的。
JAVA从诞生之初发展到今天也分成了三个方面的发展:
· J2SE的开发(JAVA SE):主要提供了开发平台的底层支持,可以开发单机版程序;
· J2EE的开发(JAVA EE):主要是完成各种企业软件的开发,是在JAVA SE的基础上构建的;
· J2ME的开发(JAVA ME):使用Java完成嵌入式开发的平台。
以上的三个方面,核心的基础部分就是J2SE,所以,在把JAVA学习透彻的话,就必须先把JAVA SE彻底的精通。
在讲解中,JAVA主要使用的版本就是JDK ,但是需要说明的是,在实际的开发中使用最广泛的版本依然是JDK 和,最新的版本是JDK 。
(在开发中尚不可使用,希望大家不要做第一个吃螃蟹的人)
以后在开发的时候一定要注意:只要是新的产品都要小心使用,因为有80%的可能性会造成项目的失败。
在JAVA语言中有以下几个特点:
·简单:Java语言比任何一门都简单,但是这种简单只是针对于语法而言的,实际上对于Java来讲,其庞大和复杂程度确实太高了,支持公司太多了:IBM、BEA、Oracle、Apple、HP.
·自动的垃圾收集:在程序的操作中会存在着许多的无用的内存空间,如果处理不当会使系统越来越庞大,在java中可以对无用的空间自动进行回收,而无需开发人员手工回收。
·安全性高:Java的所有程序都是通过字节码的方式保存的,所以其安全性相对较高。
·多线程:多线程的处理可以使JAVA的处理能力提高的更多。
·可移植性高:Java发展到今天,一直提倡的口号就是可移植性高,可以在不同的操作系统平台上运行。
、Java的操作原理(理解)
对于编程语言来讲,主要有两种:
·编译型:
·解释型:将一段代码在一个指定的平台上进行解释执行。
正因为存在了解释器,所以Java语言开发的程序可以在各个平台上使用。
一个Java程序需要先经过编译(由JDK自动提供命令:javac执行),编译之后将形成一个字节码的文件(*.class),之后再进行解释执行(由JDK自动提供的命令:java执行),再在电脑上进行程序的运行显示。
但是,此时的电脑并不是一台物理上存在的电脑,而是一台由软件和硬件模拟的一台虚拟电脑(Java虚拟机)。
可以发现,所有的*.class文件实际上最终认的不是操作系统,而是在操作系统上绑定的JVM,依靠JVM执行,而JVM去适应不同的操作系统。
Windows XP之后之所以不支持Java,主要的原因就是从操作系统中将JVM移除掉了。
、搭建Java的开发平台(重点)
如果要开发JAVA程序,则肯定要使用JDK,现在的JDK的最新版本是JDK ,教学使用的是JDK 版本。
可以直接从上下载最新的JDK版本。
安装的时候选择在D盘上安装JAVA开发环境。
安装完成之后,此时本机就具备了开发Java程序的能力,但是需要注意的是,如果要开发Java程序则肯定需要javac和java两个命令,但是这两个命令是在D:\Java\目录下才存在的,本身的windows中是不支持的。
如果要想让windows可以正常的使用这些命令进行开发的话,则必须配置一个环境:path路径。
【我的电脑】【属性】【高级】【环境变量】【新建JAVA_HOME】【新建PATH】。
配置完成之后,以后就可以在命令行方式下使用JDK所提供的各种命令了。
新的path路径配置完成之后,需要重新启动命令行窗口,因为每次在启动的时候才会将新的配置加载进来。
现在Java的开发环境搭建完成之后,下面开始编写第一个java程序,所有的程序依然以打印不完的“Hello World”为主。
范例:第一个程序——
public class Hello{
/**
主函数
*/
public static void main(String args[]){
"Hello World!!!") ;
1..”--->在弹出的运行框里输入“cmd”再按回车键。
出现默认是黑底白字的控制台。
2. 作为一个程序员,我们要习惯和喜欢使用快捷键,达到高效的目的。
按“win”键+ “R”键,也可以进入命令行窗口。
3.Editplus开发环境的搭建】
配置java 编译环境:
工具--->配置用户工具---->组名称回弹出一个叫“重命名用户工具组”的对话框,在新的名字里写上“编译运行
java”,再点击“添加工具”按钮,
选择“程序“,
填写以下的信息:
菜单文本:javac
命令:javac
参数:$(FileName)
初始目录:$(FileDir)
最后再勾选上捕获输出。
3>.配置java 运行环境
同理在“编译运行java”这个组里面,点击“添加工具”按钮,选择“程序“,
填写以的信息:
菜单文本:java
命令:java
参数:$(FileNameNoExt)
初始目录:$(FileDir)
最后再勾选上捕获输出。
到此,再Editplus里面的java 编译运行环境就已经配置完成了,当你写完一个java文件,就可以在”工具“里点击 "javac" 来编译,或则 "java"来运行,当然,像我这么懒的人肯定是会使用快捷键的,编译(javac)的快捷键是 ctrl + 1, 运行(java)的快捷键是 ctrl + 2。
、第一个Java程序解释(重点)
第一个Java程序完成之后,下面对于Java程序来做进一步的了解。
、文件名称
在编写java程序的时候一定要注意,只要是java程序则一定要放在一个类之中,使用如下的语法定义类:
在编写类名称的时候单词的首字母是采用大写的方式进行的,例如:T est H ello J ava。
但是,如果一个类使用public class和class声明的话是有区别的。
· public class:文件名称必须与类名称保持一致。
(当一个java文件中有多个类的时候,有main 方法的类称为主类,那么这个主类的名字必须和该java文件名相同)
· class:文件名称可以与类名称不一致,执行的时候执行的是生成的*.class文件。
所以在一个*.java的文件中,只能有一个public class声明,但是允许有多个class声明,在编译之后会生成不同的*.class文件。
、程序理解
在一个java程序之中,所有的程序都是从主方法(main)中开始执行,在java中主方法定义如下:
在主方法后面的“{}”之中编写具体的语句,例如:系统输出:
此语句表示的是在屏幕上进行打印,如果后面有“ln”的话表示输出之后会加一个换行出来,如果没有“ln”表示只是输出而没有换行。
"Hello kity!!!") ;
"Hello kity!!!") ;
"Hello kity!!!") ;
}
};
、classpath属性
例如:在当前文件夹之中保存着所有的*.class文件。
如果现在在其他路径上,则无法执行,但是现在就非想执行的话,则就需要classpath的操作属性。
在正常情况下,一个*.class文件只能从本目录中被访问,因为在默认的要求下classpath就是默认的是从当前所在的文件夹中查找所要的文件,也就是说现在的java的运行机制:java命令 classpath *.class。
所以按照这种理解,如果将classpath指定好了一个位置的话,则以后不管在何种目录下都可以访问了。
SET classpath=x:\xx\xx
以上的设置表示的是,以后不管在那里,都从x:\xx\xx文件夹之中找到所需要的*.class文件,那么即使不在当前类所在文件夹之中,依然可以访问,但是从一个正常的开发习惯来讲,这种配置并不常见,因为最好的执行还是从当前所在的文件夹中查找类执行最方便,那么一般情况下classpath都会存在以下的设置:
SET classpath=.
“.”表示的是从当前所在的文件夹之中查找所需要的*.class文件,而且以上通过命令设置的classpath也只是在当前命令行窗口下起作用,如果要想对全体其作用,则需要通过环境属性进行配置,增加一个classpath的选项:
需要注意的是:在定义新的变量的时候,所有的单词都必须采用大写的形式出现。
、数据类型(重点)
既然Java是一门语言,则在这门语言肯定存在各种数据类型,Java数据类型分为两种:(基本和引用)
其中布尔型只有两种取值范围:true或false
在数值型中使用最多的就是:byte、int
在浮点型中:float和double都经常使用。
每种数据类型都会有其相应的取值范围:
这里的值没有必要刻意去记,每一个基本数据类型都有一个封转类,除了char的封转类是多少Character和int
的封装类是Integer外,其他的封转类都是数据类型的首字母大写的单词。
比如long的封装类是Long。
求数据类型的范围我们就可以使用和来求得。
(这里的XX表示数据类型的封转类)
比如现在我们想要知道byte的数据范围,我们只需要使用求得最小值,求得最大值。
(后面会细讲,可以先记住)
一般在程序中出现了一个整数都属于int型数据,如果出现的是小数则都属于double型数据。
范例:定义int型数据
public class IntTest{
public static void main(String args[]){
标识符:
可以用来定义方法、类名称、变量名称的一种标记,在Java中所有的标识符的定义风格如下:·由字母、数字、下划线、$符号组成,其中不能以数字开头,不能是Java中的关键字。
例如:demo、x、$Hello
但是从一般的开发来看,一般的标识符用的最多的就是字母、数字、下划线。
、运算符(重点)
程序的主要功能就是计算,所以在Java中提供了以下的运算符:
·赋值运算:= ; 3==4 3 >= 4
·三目运算:布尔表达式
条件满足 : 条不满足
·数学运算符:+、-、*、/、%
·关系运算符:>、>=、<、<=、==、!=
·位运算:>>、<<、>>>、^、~
·逻辑运算:&&、&、||、|、!
·简便运算符:++、--
以上的各个运算符的使用基本上就是程序构成的主要的语法,但是对于位操作,本身并不严格要求。
范例:三目运算
//求最大值
public class Test{
public static void main(String args[]){
int x = 10 ;
int y = 20 ;
// 如果x的内容大于y,则将x的值给max,否则将y的值给max
int max = x>y
x : y ;
;
}
范例:数学运算
范例:关系运算
以上的各个关系运算符中返回的都是boolean 型数据,那么如果现在有多个条件要同时判断的话,则需要对条
件进行连接:与、或、非 与和或的说明: 在Java 的运算符操作中,与和或分别有两种使用方法: · 与:所有条件同时满足 |- &
:所有的条件都要判断
|- &&:短路与,如果前面的条件不满足则后面的不再判断 · 或:所有的条件有一个满足即可
|- |:所有的条件都要判断
|- ||:当前面的条件满足时,后面的条件不再判断
在验证之前先来看以下的一段代码:
在数学中被除数是不能为0的,那么下面就利用以上的关系观察代码。
再来观察或的操作:
public static void main(String args[]){
if(1!=2 | 10/0==0){
"条件满足") ;
}
}
};
public static void main(String args[]){
if(1!=2 || 10/0==0){
"条件满足") ;
}
}
};
所有的条件必须判断第一个满足之后所有的条件不再判断所以,根据以上的概念可以发现,肯定开发中使用“&&”和“||”操作最为方便。
简便运算符:++、--,这些符号如果习惯于使用,则使用,不习惯就别使。
旧的写法新的写法
public class Test{
public static void main(String args[]){
int x = 10 ;
x = x + 1 ;
;
}
};
public class Test{
public static void main(String args[]){
int x = 10 ;
;
}
};
++或--的操作基本上都是在最早的时候,由于内存很昂贵的时候所采用的写法。
但是++和--的位置不同,操作的结果也有所不同。
public class Test{
public static void main(String args[]){
int x = 10 ;
; // 先输出(计算)再自增
;
}
};
但是对于以上的操作代码千万别写成:++x –x – x + x++。
位运算
在进行Java的应用开发中,位运算出现的几率并不高,一般而言在一些加密的程序中会使用的到。
但是,在进行位操作之前,先来研究一下十进制变成二进制,除2取余:45二进制:101101
在位操作中,可以使用如下的运算符:&、|、^
范例:验证&操作
public class Test{
public static void main(String args[]){
int x = 45 ;
int y = 10 ;
& y) ;
;
}
};
在经过位运算操作之后,原本的内容根本就不改变。
public class Test{
public static void main(String args[]){
int x = 45 ;
int y = 10 ;
& y) ;
;
}
};
范例:验证或的操作
public class Test{
public static void main(String args[]){
int x = 45 ;
int y = 10 ;
| y) ;
}
};
将以上的要求变为图形显示:
还存在着移位操作:
public class Test{
public static void main(String args[]){
int x = 45 ;
;
}
};
范例:观察左移位操作
public class Test{
public static void main(String args[]){
int x = 2 ;
;
}
};
、程序控制(重点)
程序的控制部分主要就是判断、循环操作。
判断:if、if…else、switch
public class IFTest{
public static void main(String args[]){
int x = 2 ;
// boolean flag = x > 2 ;
if(x>=2){ // if(flag)
"条件满足") ;
}
}
};
也可以多条件进行判断:
public class IFElseTest {
public static void main(String args[]){
switch虽然也可以同时判断多个条件,但是一般而言只能判断数字、字母、枚举(JDK ),字符串()。
循环语句是整个程序中的重点部分:当某一段代码需要被反复执行的时候就要使用循环的操作,循环使用for、while、do…while语句完成。
范例:观察循环
while循环属于先判断后执行,如果条件满足了,则一直执行下去。
for循环是使用最多的操作,因为其会将初始内容和循环条件一起编写。
在循环中还存在着两个控制循环的语句:break、continue。
对于循环操作本身也是允许嵌套的。
范例:打印三角形
·需要两层循环,一层是控制显示的行,另外一层是控制输出“*”或者是“”的。
范例:打印九九乘法表。