您的位置:首页 > 编程语言 > Java开发

Java基础知识学习

2015-10-06 22:31 513 查看
1 在定义classpath路径时,如果没有定义classpath,java启动jvm后,会在当前目录下查找要运行的文件。

    定义后,会在指定的目录下查找要运行的文件,如果classpath的值结尾处有分号,则在具体路径没有找到运行的类,会默认在当前目录再找一次。

    如果定义的classpath没有分号,则在具体路径没有找到运行的类后,不会再当前目录找。

2 javac生成jvm可以识别的字节码文件,即为class文件,也就是java运行程序。

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

3 基本数据类型:byte、short、int、long、float、double、char、boolean 

  引用数据类型: 数组、类、接口

4 <<左移  >>右移   >>>(无符号右移)

高效的算出 2*8 = 2<<3;左移3位,

对两个变量的数据进行互换。不需要第三方变量

int a  = 3,b = 5;-->b= 3,a = 5;

            a = a + b; a =8;

            b = a - b; b =3;

            a = a - b; a =5;

            a = a ^ b;//

            b = a ^ b;//b= a ^ b ^ b = a

            a = a ^ b;//a= a ^ b ^ a = b;

5 Java函数定义格式为:

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

        执行语句;

        return 返回值;

    }

注意:对于没有具体返回值的函数时,返回值类型为void,此时return语句可以省略,系统会帮忙加上,其作用为结束函数,结束功能。

6 重载,函数名相同,只是他们的参数的个数或者参数的类型不同,即为函数重载。

重载,函数同名,只看参数列表,与返回值类型没有关系。

7  Java数组

 元素类型[] 变量名=new 元素类型[元素个数]

元素类型[] 变量名={元素1,元素2,,,}

元素类型[] 变量名=new 元素类型[]{元素1,元素2,,,,}

8 Java分5片内存。寄存器、本地方法区、方法区,栈和堆。

栈:存储的都是局部变量(函数中定义变量、函数上的参数,语句中变量)

堆:用于存储数组和对象,也就是实体。

9 过程其实就是函数;对象是将函数等一些内容进行了封装

10 当对方法只进行一次调用的时候,可以使用匿名对象。

11 成员变量,其实对应的就是事务的属性。成员函数就是事务的行为。

注:开发时一般属性用于存储数据的,直接被访问,容易出现安全隐患,故类中属性通常被私有化,对外提供公共访问访问。

12 成员变量和局部变量的区别:

成员变量定义在类中;局部变量定义在方法中、参数上、语句中。

成员变量在这个类中有效;局部变量只在自己所属的大括号内有效。

成员变量存在堆中,随对象的产生而存在,消失而消失;局部变量存在于栈内存中,随着所属区域的运行而存在,结束而释放。

13 构造函数在初始化时才执行一次,而一般函数,在对象创建时,需要调用才执行。

注意:用this调用构造函数,必须定义在构造函数的第一行。因为构造函数是用于初始化的,所以初始化动作一定要执行。否则编译失败。

14 static优先于对象而存在。

    静态方法只能访问静态成员(因其加载时,优先于对象存在,无法访问对象中成员)

   静态不可使用this和super关键字。

*主函数为静态的。

成员函数。方法中没有调用特有数据时就定义成静态

成员变量。数据共享时静态化

成员变量可以称为对象的特有数据,静态变量称为对象的共享数据

静态代码块:就是一个有静态关键字标示的一个代码块区域。定义在类中。

作用:可以完成类的初始化。静态代码块随着类的加载而执行,而且只执行一次(new 多个对象就只执行一次)。如果和主函数在同一类中,优先于主函数执行。

static 不需要对象,直接类名即可。

静态代码块、构造代码块、构造函数同时存在时的执行顺序:静态代码块
à构造代码块 à构造函数
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Java基础