您的位置:首页 > 职场人生

黑马程序员--Java概述

2015-06-17 17:23 246 查看
<-------
android培训、java培训、期待与您交流! ---------->

Java是于 1995年由Sun公司推出的一种极富创造力的面向对象的程序设计语言,它是由Java之父之称的Sun研究院院士James
Gosling博士亲手设计而成的,并完成了Java技术的原始编译器和虚拟机。Java最初的名字为 OAK,在1995年被重命名为Java,正式发布。它是一种跨平台的程序设计语言,可以运行在任何平台和设备上,并且已经成为Internet中最具有影响力、最受欢迎的编程语言之一。

Java的三种技术架构:
JAVAEE:Java
Platform Enterprise Edition,开发企业环境下的应用程序,主要针对web程序开发;

JAVASE:Java
Platform Standard Edition,完成桌面应用程序的开发,是其它两者的基础;

JAVAME:Java
Platform Micro Edition,开发电子消费产品和嵌入式设备,如手机中的程序;

1、JDK:Java
DevelopmentKit,
java的开发和运行环境,java的开发工具和jre。

2、JRE:Java
RuntimeEnvironment,
java程序的运行环境,java运行的所需的类库+JVM(java虚拟机)。

3、配置环境变量:让java
jdk\bin目录下的工具,可以在任意目录下运行,原因是,将该工具所在目录告诉了系统,当使用该工具时,由系统帮我们去找指定的目录。

环境变量的配置:

1):永久配置方式:JAVA_HOME=%安装路径%\Java\jdk

path=%JAVA_HOME%\bin

2):临时配置方式:setpath=%path%;C:\Program
Files\Java\jdk\bin

特点:系统默认先去当前路径下找要执行的程序,如果没有,再去path中设置的路径下找。

classpath的配置:

1):永久配置方式:classpath=.;c:\;e:\

2):临时配置方式:set
classpath=.;c:\;e:\

注意:在定义classpath环境变量时,需要注意的情况

如果没有定义环境变量classpath,java启动jvm后,会在当前目录下查找要运行的类文件;

如果指定了classpath,那么会在指定的目录下查找要运行的类文件。

还会在当前目录找吗?两种情况:

1):如果classpath的值结尾处有分号,在具体路径中没有找到运行的类,会默认在当前目录再找一次。

2):如果classpath的值结果出没有分号,在具体的路径中没有找到运行的类,不会再当前目录找。

一般不指定分号,如果没有在指定目录下找到要运行的类文件,就报错,这样可以调试程序。

4、javac命令和java命令做什么事情呢?

要知道java是分两部分的:一个是编译,一个是运行。

javac负责的是编译的部分,当执行javac时,会启动java的编译器程序。对指定扩展名的.java文件进行编译。
生成了jvm可以识别的字节码文件。也就是class文件,也就是java的运行程序。

java负责运行的部分.会启动jvm.加载运行时所需的类库,并对class文件进行执行.

一个文件要被执行,必须要有一个执行的起始点,这个起始点就是main函数.

5、Java语法基础

(1)关键字:其实就是某种语言赋予了特殊含义的单词。

保留字:其实就是还没有赋予特殊含义,但是准备日后要使用的单词。

(2)标示符:其实就是在程序中自定义的名词。比如类名,变量名,函数名。包含0-9、a-z、$、_;

注意:

1)不可以数字开头

2)不可以使用关键字

(3)常量:是在程序中的不会变化的数据;

(4)变量:其实就是内存中的一个存储空间,用于存储常量数据;

作用:方便于运算。因为有些数据不确定。所以确定该数据的名词和存储空间;

特点:变量空间可以重复使用;

变量空间的开辟需要什么要素呢?

1)这个空间要存储什么数据?数据类型。

2)这个空间叫什么名字啊?变量名称。
(5)数据类型:
3)这个空间的第一次的数据是什么? 变量的初始化值。

(5)数据类型:



(6)数据类型转换:

自动类型转换(隐式类型转换)
例如:



int类型的变量占4个字节,当byte类型的变量与其相加的时候,首先会将byte类型的变量自动转化为4个字节的int类型,然后再进行加法操作。

强制类型转换(显式类型转换)

例如:




当byte类型的变量提升为int类型与int类型的常量200相加后,结果依然是int类型。再赋值给byte类型,当然会出现损失精度的错误。

解决方法:
进行强制类型转换,也就是将占4个字节的int类型值,再强硬存储到占1个字节的byte变量中。



结果为-53的原因是,200+3结果是203,换算成占1个字节空间的二进制也就是11001011。

由于首位为1,所以是负数,除符号位外,其余部分取反加1,得1,0110101,即-53。

(7)运算符:
1)赋值运算符:=
, +=, -=, *=, /=,%=

2)比较运算符:




3)逻辑运算符:





4)位运算符:





5)三元运算符:


格式:


(条件表达式) ?表达式1 :表达式2;

如果条件为true,运算后的结果是表达式1;

如果条件为false,运算后的结果是表达式2。

(8)基本语句

1)条件语句

格式:

if( 条件表达式 )

{

执行语句;

}

else

{

执行语句;

}

2)选择switch语句

格式:

switch(表达式)

{

case 取值1:

执行语句;

break;

case 取值2:

执行语句;

break;


…...

default:

执行语句;

break;

}


switch语句特点:

1、switch语句选择的类型只有四种:byte,short,int,char。

2、case与default没有顺序。先执行第一个case,没有匹配的case执行default。

3、结束switch语句的两种情况:①遇到break,②执行到switch语句结束。

4、如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者switch结尾结束。

5、进入switch语句后,执行顺序是先执行case,然后从上到下,最后再执行default。即使default放在case上面,执行顺序也不变。

3)循环语句

关键词:while,dowhile,for

while语句格式
while( 条件表达式 )

{

执行语句;

}


do while语句格式

do

{

执行语句;

}while( 条件表达式 );


do while语句的特点:无论条件是否满足,循环体至少执行一次。

while如果条件不满足,循环体一次都不会执行。

For语句格式

for(初始化表达式;循环条件表达式;循环后的操作表达式)

{

执行语句;(循环体)

}


for里面的三个表达式运行的顺序,初始化表达式只读一次,判断循环条件,为真就执行循环体,然后再执行循环后的操作表达式,接着继续判断循环条件,重复整个过程,直到条件不满足为止。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: