赞
踩
简单易学,面向对象,支持网络编程,支持并发编程,编译与解释并存,一次编译到处运行。
注意,这里编译与解释并存很重要,下面会进行讲解!!
JVM是执行Java字节码的虚拟机,不同的操作系统对应着不同的虚拟机,如windows,linux等,JVM和字节码文件是Java实现一次编译,到处运行的关键。
JRE是Java代码运行时的环境,包括了JVM,Java核心类库等,如果只是运行Java程序,而不需要创建和编译Java代码,则只需要JRE就够了。
JDK包含了JRE的一切,同时比JRE多出额外的功能,如创建程序,编译程序。
字节码文件就是Java原程序(.java)经过编译后得到的文件(.class),它是可以被jvm理解的文件
字节码文件的好处就是平台无关性,Java程序只需要经过一次编译得到字节文件,就可以在不同的操作系统上执行。
首先我们可以将高级编程语言分为两种:
如C,C++,GO等,这类语言开发慢,执行快,会一次性将所有程序编译成机器码,因此执行效率较高。
如Python,JavaScript等,这类语言开发快,执行慢,会通过解释器一行一行将源代码解释为机器码。
因为Java代码从编写完成到顺利执行,需要经过两个步骤,首先我们需要将Java源程序编译为字节码文件,这里就体现了Java的编译型语言特性,然后我们需要将字节码一行一行解释给JVM虚拟机并且执行,这里又体现了Java的解释型语言特性。因此,我们称Java为编译与解释并存的语言。
Java中类只支持单继承,而C++中类支持多继承,不过Java中接口可以多实现
Java不提供指针直接访问内存,更加安全
Java不需要手动回收内存,有内存回收和释放机制,而C++没有
C++的字符串和字符数组以"\0"结尾,而Java没有这一说法。
凡是可以自己命名的地方,都可称作为标识符
1.标识符由数字,字母,下划线和$组成,但是不能以数组开头
2.标识符需要有实际的意义
Java关键字是被赋予了特殊含义的,如class,interface,abstract等
1.运算符在变量前就先自增或自减,再参与运算
2.运算符在变量后就先参与运算,再自增或自减
1.continue,跳过当前循环,进入下一次循环
2.break,结束循环
3.return,结束程序执行
成员变量属于类,局部变量属于方法。成员变量可以被public,private,static等修饰符修饰,而局部变量不可以,但是两者都可以被final修饰。
若成员变量使用static修饰,则属于类,若无static修饰则属于对象实例,存放在堆中,而局部变量存放在栈中。
成员变量属于对象实例,随着对象的创建而产生,随着对象的回收而消亡。
局部变量属于方法,随着方法的调用而产生,随着调用的结束而消亡。
成员变量有各自数据类型默认的初始值(被final修饰的成员变量则需要显式赋值)。
局部变量无默认初始值,需要显示赋值。
字符型常量使用单引号,字符串常量使用双引号
字符型常量可以参与运算,相当于是整型,而字符串常量是字符串在内存中的地址,不能参与运算。
字符型常量占两个字节,字符串常量占若干字节
重载发生在同一个类中,重载的方法名相同,其余都可以不同,主要是根据传入不同的参数,调用不同的方法,以处理不同的业务。重载的参数列表可以为可变长参数,但是传入的参数会优先匹配定长参数列表的方法。
重写发生在子类与父类之间,主要表现为子类重写父类的方法,从而实现自己的逻辑。
重写的方法与父类方法方法名相同,参数列表相同。
重写的方法需要遵循“两小一大原则”,即子类的方法返回值类型和异常类型需要小于等于父类方法,子类方法的权限修饰符范围需要大于等于父类方法。
注意:构造方法无法被重写,但是可以被重载。
1.byte,一个字节
2.short,两个字节
3.int,四个字节
4.long,八个字节
5.float,四个字节
6.double,八个字节
7.char,两个字节
8.boolean,不占字节
未完待续......
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。