【Java基础】Java入门知识

【学习参考资料】:菜鸟教程-Java教程

1,java简介

Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计语言和Java平台的总称。

1)Java分为三个体系

  • JavaSE(J2SE)Java2 Platform Standard Edition,java平台标准版)
  • JavaEE(J2EE)(Java 2 Platform,Enterprise Edition,java平台企业版)
  • JavaME(J2ME)(Java 2 Platform Micro Edition,java平台微型版)

2)Java的主要特性

  • java语言是简单的;
  • java语言是面向对象的(纯面向对象);
  • java语言的分布式的;
  • java语言是健壮的(丢弃指针,强类型机制,异常处理,垃圾的自动收集);
  • java语言是安全的(安全防范机制(类ClassLoader),安全管理机制(类SecurityManager));
  • java语言是可移植的;
  • java语言是解释型的;
  • java是高性能的;
  • java语言多线程的;
  • java语言是动态的。

3)Java的发展史:诞生于1995年;2014年3月18日,Oracle公司发表Java SE8。

4)Java工具:Java语言尽量保证系统内存在1G以上。

2,Java开发环境配置

1)下载JDK工具解压安装,对应不同的系统选择适合的版本。

2)变量设置参数如下:

  • 变量名:JAVA_HOME
  • 变量值:C:\Program Files (x86)\Java\jdk1.8.0_91 // 要根据自己的实际路径配置
  • 变量名:CLASSPATH
  • 变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; //记得前面有个”.
  • 变量名:Path
  • 变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

3)测试JDK是否安装成功

1
2
~ java -version  # 输出java安装的版本
~ javac -version # 输出javac安装的版本

注意:如果使用1.5以上版本的JDK,不用设置CLASSPATH环境变量,也可以正常编译和运行Java程序。

4)Java开发工具选择

3,Java基础语法

1)相关概念
:类是一个模板,描述一个对象的行为和状态。
java中的

  • 局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。
  • 成员变量:成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。
  • 类变量:类变量也声明在类中,方法体之外,但必须声明为static类型。
  • 构造方法:每个类都有构造方法。如果没有显式地为类定义构造方法,Java编译器将会为该类提供一个默认构造方法。构造方法的名称必须与类同名,一个类可以有多个构造方法。

创建对象:在Java中,使用关键字new创建一个新的对象,主要有三步:声明实例化(new)初始化
对象:对象是一个类的实例,有状态和行为。
在软件开发中,方法操作对象内部状态的改变,对象的相互调用也是通过方法来完成。
方法:方法即行为,一个类可以有很多方法。
实例变量:每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定。

2)编程注意点

  • 大小写敏感
  • 类名每个单词的首字母大写(帕斯卡命名法)
  • 方法名以小写字母开头,之后每个单词首字母大写(驼峰命名法)
  • 源文件名必须和类名相同
  • 主方法入口,所有的Java程序由public static void main(String []args)方法开始执行

3)Java标识符

标识符:类名,变量名及方法名都称为标识符

  • 所有的标识符都应该以字母(A-Z或者a-z),美元符($)、或者下划线(_)开始;
  • 首字符之后可以是字母(A-Z或者a-z),美元符($)、下划线(_)或数字的任何字符组合;
  • 关键字不能用作标识符;
  • 标识符是大小写敏感的;
  • 合法标识符举例:age$salary_value__1_value
  • 非法标识符举例:123abc-salary

4)Java修饰符

(1)访问控制: default, public, protected, private

修饰符 当前类 同一包内 子孙类(同一包) 子孙类(不同包) 其他包
public Y Y Y Y Y
protected Y Y Y Y /N N
default Y Y Y N N
private Y N N N N

protected说明

  • 子类与基类在同一包中:被声明为protected的变量、方法和构造器能被同一个包中的任何其他类访问;
  • 子类与基类不在同一包中:那么在子类中,子类实例可以访问其从基类继承而来的 protected 方法,而不能访问基类实例的protected方法。

(2)访问控制和继承,注意以下原则:

  • 父类中声明为public的方法在子类中也必须为public
  • 父类中声明为protected的方法在子类中要么声明为protected,要么声明为 public,不能声明为private
  • 父类中声明为private的方法,不能够被继承。

(3)非访问控制:final, abstract,static, synchronized,volatile

  • static:创建类方法和类变量;
  • final:修饰类,方法和变量。修饰的类不可被继承;修饰的方法不能被继承的类重新定义;修饰的变量为常量,不可修改。
  • abstract:创建抽象类和抽象方法;
  • synchronized:用于线程编程,synchronized声明的方法同一时间只能被一个线程访问;
  • transient:序列化的对象包含被 transient修饰的实例变量时,Java虚拟机(JVM)跳过该特定的变量;该修饰符包含在定义变量的语句中,用来预处理类和变量的数据类型。
  • volatile:用于线程编程, 修饰的成员变量在每次被线程访问时,都强制从共享内存中重新读取该成员变量的值,当成员变量发生变化时,会强制线程将变化值回写到共享内

5)Java变量

局部变量:类的方法中的变量。

  • 局部变量声明在方法、构造方法或者语句块中;
  • 局部变量在方法、构造方法、或者语句块被执行的时候创建,当它们执行完成后,变量将会被销毁;
  • 访问修饰符不能用于局部变量;
  • 局部变量只在声明它的方法、构造方法或者语句块中可见;
  • 局部变量是在上分配的。
  • 局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用。

类变量(静态变量):独立于方法之外的变量,用static修饰。
成员变量(非静态变量):独立于方法之外的变量,不用static修饰。

6)Java数组:储存在堆上的对象,可以保存多个同类型变量。

7)Java枚举:Java 5.0引入了枚举,枚举限制变量只能是预先设定好的值。使用枚举可以减少代码中的bug。

8)Java关键字:参见Java关键字列表

9)Java注释

10)Java空行:空白行,或者有注释的行,Java编译器都会忽略掉。

11)Java继承
在Java中,一个类可以由其他类派生。被继承的类称为超类super class),派生类称为子类subclass)。

12)Java接口:在Java中,接口可以理解为对象间相互通信的协议。

13)源文件声明规则

  • 一个源文件中只能有一个public类
  • 一个源文件可以有多个非public类
  • 源文件的名称应该和public类的类名保持一致
  • 如果一个类定义在某个包中,那么package语句应该在源文件的首行
  • 如果源文件包含import语句,那么应该放在package语句和类定义之间;如果没有package语句,那么import语句应该在源文件中最前面。
  • import语句和package语句对源文件中定义的所有类都有效。在同一源文件中,不能给不同的类不同的包声明。

14)Java包:包主要用来对类和接口进行分类。

15)Import语句

16)Java运算符

  • 算术运算符
  • 关系运算符
  • 位运算符:Java定义类位运算符,应用于整数类型(int),长整型(long),短整型(short),字符型(char)和字节型(byte)等类型。
  • 逻辑运算符
  • 赋值运算符
  • 其他运算符(instanceof,自增,自减,条件运算符)

17)Java 源程序与编译型运行区别
Java 源程序与编译型运行区别

坚持原创技术分享,您的支持将鼓励我继续创作!