为了方便大家学习JAVA,理顺java技术知识点,也可以助您尽快的努力成长起来,小编整理了以下JAVA入门基础知识,一起来学习吧!
一、概述
1991年Sun公司的James Gosling等人开始开发名称为 Oak 的语言,希望用于控制嵌入在有线电视交换盒、PDA等的微处理器;1994年将Oak语言更名为Java;James Gosling也被称为JAVA之父。
1、Java的三种技术架构体系:
(1)JAVAEE(Java Platform Enterprise Edition):企业版,开发企业环境下的应用程序,主要针对web程序开发;
(2)JAVASE(Java Platform Standard Edition):标准版,完成桌面应用程序的开发,是其它两者的基础;
(3)JAVAME(Java Platform Micro Edition):微型版,开发电子消费产品和嵌入式设备,如手机中的程序;
2、javac命令和java命令
java分为编译和运行两个部分,其中:(1)javac负责的是编译的部分,当执行javac时,会启动java的编译器程序。对指定扩展名的.java文件进行编译。 生成了jvm可以识别的字节码文件。也就是class文件,也就是java的运行程序。
(2)java:负责运行的部分.会启动jvm.加载运行时所需的类库,并对class文件进行执行。一个文件要被执行,必须要有一个执行的起始点,这个起始点就是main函数.
3、java可以做什么
(1)开发桌面应用程序。
(2)开发面向Internet的web应用程序。
(3)提供各行业的解决方案。
(4)开发android手机应用程序。
4、java的特性
(1)面向对象的编程语言;
(2)与平台无关的语言(根据JVM实现的);
(3)健壮性语言;
(4)较高的安全性。
5、java应用开发的6个要点
(1)一个源文件中只能有一个public修饰的类,其他类个数不限;
(2)一个源文件有n个类时,编译结果的class文件就有n个;
(3)源文件的名字必须和public修饰的类名相同;
(4)java语言中单词拼写大小写严格区分;
(5)main方法入口;
(6)每一句以分号(;)结束。
二、Java编程基础
1、标识符
(1)命名规则:由字母、下划线、数字和美元符号组成,不能以数字开头,区分大小写,不能是关键字和保留字(goto、const),长度一般不超过15个字符。
(2)驼峰式命名:
类名:单个单词,首字母大写,多个单词,首字母都大写。
方法名、参数名、变量名:单个单词,首字母小写,多个单词,第1单词首字母小写,其他单词首字母大写。
包名:全部小写。
2、四个基本数据类型划分:
整形:
byte 1个字节
short 2个字节
int 4个字节
long 8个字节
字符:
char 2个字节
浮点数:
float 4个字节
double 8个字节
布尔:
boolean 1个字节
引用类型:字符串String、 类 class 、枚举 enum、接口interface
3、二进制
(1)计算机中的数据都以二进制数据保存。
(2)计算机信息的存储单位:
位(bit):是计算机存储处理信息的最基本的单位
字节(byte):一个字节有8个位组成。
4、java中字符时16位的Unicode编码方式
格式是'\uXXXX',其中xxxx代表一个十六进制整数
5、java中规定了正无穷大、负无穷大和零
正无穷大=一个正数除以0
负无穷大=一个负数除以零
0.0除以0.0 或者 对一个负数开方 得到一个非数
6、Java中带包的编译方法
javac -d . Hello.java会在当前目录下生成目录树,运行 java 包名字.类名字
7、 instance of 运算符
格式:引用变量名instance of类名(或者接口) 他用于判断前面的对象是否是后面对象的类,子类、实现类的实例,是返回true,否者返回false。
8、Java 中基本数据类型和对应封装类之间的转化
int a = 1; Integer A = new Integer(a); a = A.intValue();
其他的类型也是这样的。
9、抽象类和接口的区别
(1)abstract class在 Java 语言中表示的是一种继承关系,一个类只能使用一次继承关系。但是,一个类却可以实现多个interface。
(2)在abstract class中可以有自己的数据成员,也可以有非abstarct的成员方法,而在interface中,只能够有静态的不能被修改的数据成员(也就是必须是static final的,不过在 interface中一般不定义数据成员),所有的成员方法都是abstract的。
(3)abstract class和interface所反映出的设计理念不同。其实abstract class表示的是"is-a"关系,interface表示的是"like-a"关系。
(4)实现抽象类和接口的类必须实现其中的所有方法。抽象类中可以有非抽象方法。接口中则不能有实现方法。
(5)接口中定义的变量默认是public static final型,且必须给其初值,所以实现类中不能重新定义,也不能改变其值。
(6)抽象类中的变量默认是friendly型,其值可以在子类中重新定义,也可以重新赋值。
(7)接口中的方法默认都是public,abstract类型的。
10、线程的四种状态
(1)新状态:线程已被创建但尚未执行(start()尚未被调用)。
(2)可执行状态:线程可以执行,虽然不一定正在执行。CPU时间随时可能被分配给该线程,从而使得它执行。
(3)死亡状态:正常情况下run()返回使得线程死亡。调用 stop()或 destroy() 亦有同样效果,但是不被推荐,前者会产生异常,后者是强制终止,不会释放锁。
(4)阻塞状态:线程不会被分配CPU时间,无法执行。
11、java中的7大运算符
(1)算术运算符:+、 - 、 * 、 / 、 % 、 ++ 、 --
(2)赋值运算符:=、 += 、 -= 、 *= 、 /= 、 %=
(3)关系运算符:>、 < 、 >= 、 <= 、 == 、 !=
(4)逻辑运算符:!、 & (只要有一个false 最终结果就是false) 、
|(但凡有一个true 最终结果就是true) 、
^(如果两边一样 最终结果为false 如果两边不同 最终结果为true)、
&&(如果第一个是false 那第二个不执行 最终结果是false)、
||(如果第一个表达式的结果是true 那第二个表达式 就不去计算了 ,最终结果是true)
(5)位运算符:~、 >> 、 << 、 >>>
(6)字符串连接运算符:+
(7)三目运算符:X ? Y : Z
X为boolean类型表达式,先计算x的值,若为true,整个三目运算的结果为表达式Y的值,否则整个运算结果为表达式Z的值。
12、java的5片内存
(1)寄存器;(2)本地方法区;(3)方法区;(4)栈;(5)堆。
栈:存储的都是局部变量(函数中定义的变量,函数上的参数,语句中的变量 );
只要数据运算完成所在的区域结束,该数据就会被释放。
堆:用于存储数组和对象,也就是实体。实体就是用于封装多个数据的。每一个实体都有内存首地址值。
堆内存中的变量都有默认初始化值。因为数据类型不同,值也不一样。
垃圾回收机制。
三、面向对象:
1、面向的特点:
(1)将复杂的事情简单化。
(2)面向对象将以前的过程中的执行者,变成了指挥者。
(3)面向对象这种思想是符合现在人们思考习惯的一种思想。
2、面向对象和面向过程
1、面向对象:是以具体的事物为单位,考虑的是它的特征(属性)和行为(方法)。
2、面向过程:是以具体的流程为单位,考虑功能的实现。
3、类和对象
(1)对象:看得见摸得着的具体事物。
类:抽象化的概念
(2)类和对象的关系:
类是对象的模板/抽象化的概念,对象是类的实例。
3)创建类和对象
类:
特征:全局变量/属性/成员变量
动作:方法
对象:
类名对象名=new类名()
注意:一个类可以创建多个对象,,每个对象之间没有关系。
4、面向对象特征之封装
封装是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。
封装原则:将不需要对外提供的内容都隐藏起来,把属性都隐藏,提供公共方法对其访问。
5、This:
代表对象,就是所在函数所属对象的引用。
哪个对象调用了this所在的函数,this就代表哪个对象,就是哪个对象的引用。
在定义功能时,如果该功能内部使用到了调用该功能的对象,这时就用this来表示这个对象。
this还可以用于构造函数间的调用。
调用格式:this(实际参数);
this对象后面跟上 . 调用的是成员属性和成员方法(一般方法);
this对象后面跟上 () 调用的是本类中的对应参数的构造函数。
6、面向对象特征之继承
父类的由来:其实是由多个类不断向上抽取共性内容而来的。
java中对于继承,java只支持单继承。java虽然不直接支持多继承,但是保留了这种多继承机制,进行改良。
单继承:一个类只能有一个父类。
多继承:一个类可以有多个父类。
不支持多继承的原因:当一个类同时继承两个父类时,两个父类中有相同的功能,那么子类对象调用该功能时,运行哪一个呢?因为父类中的方法中存在方法体。
但是java支持多重继承。A继承B B继承C C继承D。
多重继承的出现,就有了继承体系。体系中的顶层父类是通过不断向上抽取而来的。它里面定义的该体系最基本最共性内容的功能。
以上就是小编整理的Java入门学习基础知识点,希望这篇文章能够对学习Java的小伙伴一些参考和帮助~