黑马程序员——java复习总结——Java基础知识

来源:互联网 发布:php博客项目实战开发 编辑:程序博客网 时间:2024/06/11 04:46

------- android培训、java培训、期待与您交流! ----------


一、Java语言的概括


1.1  java语言的介绍

Java语言是sun公司1995年推出的一门高级编程语言,它是一门面向Internet的编程语言。

1.2  java语言的技术架构

Java语言有三种技术架构,他们分别是:

J2EE(Java 2Platform Enterprise Edition)企业版

是为开发企业环境下的应用程序提供的一套解决方案,改技术体系中包含的技术如Servlet Jsp等,主要针对Web应用程序。

 

J2SE(Java 2Platform Standard Edition)标准版

         是为开发普通桌面的商务应用程序提供的解决方案,该体系是共有其他两者的基础,可以完成一些桌面应用程序的开发,比如Java版的扫雷。

 

J2ME(Java 2Platform Micro Edition)小型版

         是为了开发电子消费产品和嵌入式设备提供的解决方案,该技术体系主要用于小型电子消费产品,如手机中的应用程序等。

 

而在Java5.0版本后,这三者更名为JAVAEE   JAVASE  JAVAME


1.3  Java语言的特点——跨平台性

跨平台性是指Java语言编写的应用程序在不同的系统上都可以运行。

         而它的原理是,Java程序是由JVM(JavaVirtual Machine)来负责运行的。而不同的操作系统可以通过它们对应的JVM来执行Java的程序,所以这样就实现了Java程序的跨平台性,也称为Java具有良好的可移植性。


二、Java语言的基础组成

2.1  java语言的关键字

定义:被java语言赋予了特殊含义的单词

特点:关键字中所有的字母都为小写。

 

用于定义数据类型的关键字:

 

用于定义数据类型值的关键字

 

用于定义流程控制的关键字

 



2.2  标识符

定义:在程序中自定义的一些名称。

 

由26个英文字母大小写,数字0-9和符号_$组成。

 

在定义标识符时,具有以下规则:

1、  数字不可以开头

2、  不可以使用关键字

 

Java中严格区分大小写,所以在起名字时,为了提高阅读性,尽量起有意义的名字。

 

注意:main不是关键字,确实虚拟机所识别的一个名称。

 

Java命名的规范:

包名:多个单词都小写

类名和接口:多个单词组成时,所有单词的首字母大写。

变量名和函数名:多个单词组成时,第一个单词首字母小写,后面的单词首字母大写。

常量名:所有字母都大写,多个单词时使用下划线连接。


2.3  注释

Java中注释有三种:

行注释: //  它表示它后面的这一行都是注释

段注释:  以  /*  开头,以  */  结尾,两个符合中间的一段都是注释。

文本注释:以  /**  开头,以  */  结尾,和段注释相同,只是这个注释中可以用@生成文本。

 

注意:java中注释不可以嵌套。


2.4  常量和变量

 

常量表示不能改变的数值

Java中的常量分类:

1、  整数常量,所有整数。

2、  小数常量,所有小数。

3、  布尔型常量,较为特有,只有两种数值,true和false。

4、  字符常量,将一个数字字母或者符号用单引号(’  ’)标识。

5、  字符串常量,将一个或者多个字符用双引号标识。

6、  Null常量,只有一个数值就是null。

 

对于整数:java有三种表现形式。

十进制:0-9,满10进1。

八进制:0-7,满8进1,用0表示开头。

十六进制:0-9,A-F,满16进1,用0x开头表示。

 

负数的二进制:将他对应正数的二进制全部取反然后加1.



2.5  类型的转换

数据类型的级别:byte、char、short-->int-->float-->long-->double

 

自动类型转换:在java预算中,会将级别从低到高,进行自动转换。

强制类型转换:将一个高级别数赋给一个低级别数时使用,不然会出现数据可能损失精度的错误。

 

例如:

byte b = 1; b = b+1;

在第二个表达式中,有自动类型转换,这是因为byte型的b和int型数据运算时,会自动向高级类型转换。而再将高级的数值赋给低级别byte的b时,就会出现数据损失精度的错误了。


2.6  运算符

 

运算符有很多种,这里分为:

1、  算术运算符

2、  赋值运算符

3、  比较运算符

4、  逻辑运算符

5、  位运算符

6、  三元运算符


2.6.1 算术运算符



2.6.2 赋值运算符

 

=       +=     -=      *=     /=    %=

 

2.6.3 比较运算符




比较运算符的结构都是boolean型,要么是true,要么是false。

 

2.6.4 逻辑运算符




2.6.5 位运算符





位运算符是直接对二进制进行运算。所以也是效率最高的。

 

例如:3<<3就是表示3*8,但是相比于直接写3*8,写3<<3时计算机效率更高。

 

对于^异或运算,对于一个数,连续异或同一个数两次,那么还是原来的这个数,利用这个特点,可以进行数据加密,或者在不实用第三方变量的情况下,实现数据的互换。

 

例如:交换int m,n;

 

n = n^m;

m = n^m;

n = n^m;

这样,就实现了在不适用第三方变量的情况下,交换两个int类型的数。

 

2.7  程序流程控制

 

判断结构(  if  else       )

选择结构(  switch  case  )

循环结构(  while或者  do while 或者for)


2.7.1

If语句的三种格式:

 

第一种:

If(条件表达式)

{

         执行语句;

}

 

第二种:

If()

{

         执行语句;

}

Else

{

         执行语句;

}

 

第三种:

If(条件表达式)

{

         执行语句;

}

else if(条件表达式)

{

         执行语句;

}

… …

else

{

         执行语句;

}


2.7.2 选择结构

 

switch语句

格式:

switch(表达式)

{

         case取值1:

执行语句;

break;

         case取值2:

                   执行语句;

                   break;

         ……

         default:

         执行语句;

break;

}


2.7.3 循环结构

 

 

while语句格式:

while(条件表达式)

{

         执行语句;

}

 

do while语句格式:

do

{

         执行语句;

}while(条件表达式);

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

 

for语句格式:

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

{

         执行语句;

}


2.7.4 无限循环的最简单表现形式:

while(true)

for( ;  ;  ){}

 

2.7.5 其他流程控制语句

 

break(跳出)   continue(继续)

break语句:应用范围,选择结构和循环结构。

continue语句,应用于循环结构。

 

注意:

1、  这两个语句离开了应用范围,都是存在没有意义的。

2、这两个语句单独存在在下面都是不可以有语句的,因为执行不到。

3、continue语句是结束本次循环继续下次循环。

4、标号的出现,可以让这两个语句作用于指定范围。


2.8  函数

 

2.8.1 函数的定义


函数就是定义在类中的具有特定功能的一段独立小程序,函数也称为方法。

 

函数的格式:

修饰符返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,…)

{

         执行语句;

return 返回值;

}

 

返回值类型:函数运行后的结果的数据类型。

参数类型:是形式参数的数据类型。

实际参数:传递给形式参数的具体数值。

return :用于结束函数。

返回值:该值会返回给调用者。

 

2.8.2 函数的特点

1、定义函数可以将功能代码进行封装,便于对于该功能进行反复复用。

2、函数只有在被调用才会执行。

3、函数的出现提高了代码的复用性。

4、对于函数没有具体的返回值的情况,返回值类型用关键字void表示,那么函数中的return语句如果在最后一行可以省略不写。

 

注意:

函数中只能调用函数,不可以在函数内部定义函数。

定义函数时,函数的结果应该返回给调用者,交由调用者处理。


2.8.3 函数的重载


重载的概念:

在同一个类中,允许存在一个以上的同名函数,只要他们的参数个数或者参数类型不同即可。

 

重载的特点:

与返回值类型无关,只看参数列表。

 

重载的好处:

方便阅读,优化了程序。


2.9  数组


数组的概念:

同一种类型的数据的集合,其实数组就是一个容器。

 

数组的好处:

可以自动的给数组中的元素从0开始编号,方便操作这些元素。

 

格式1:

元素类型[] 数组名= new 元素类型[元素的个数或者数组长度];

示例:int[] arr = new int[5];

 

格式2:

元素类型[] 数组名= new 元素类型[]{元素,元素,……};

int[] arr = new int[]{}1,2,3,4;

int[] arr = {1,2,3,4};

 

2.10 内存结构

 

java程序在运行时,需要在内存中分配空间,为了提高运行效率,有对空间进行不同区域的划分,因为每一片区域都有特定的处理数据方式和内存管理方式。

 

栈内存:

用于存储局部变量,当数据使用完,所占的空间会自动释放。

 

堆内存:

1、数组和对象,通过new建立的实力都存放在堆内存中。

2、每一个死体都有内存地址值。

3、实体中的变量都有默认的初始化值。

4、实体不在被使用,会在不确定的时间内被垃圾回收器回收。

 

方法区:本地方法区,寄存器。





0 0