JavaSE学习笔记———Java简介与基础

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaSE学习笔记———Java简介与基础相关的知识,希望对你有一定的参考价值。

一、  Java语言简介

1.1           计算机语言的发展过程

   计算机语言发展主要分为三个阶段:

1.第一代:机器语言

2.第二代:低级语言

3.第三代:高级语言

1.2           Java发展简史

  1Java 是一种程序开发语言,既然是一门语言,就像其他语言一样,具备一定的语法

和自己的数据结构。

2Java语言来源于sun公司,sun指的是斯坦福大学网络。由james gosling领导并开发。


         

Java语言的具体发展历程

1991~1995  Sun 为了占领智能消费电子产品市场,由james gosling 负责该项目,来开发Oak 语言

1995  Oak 改名为Java

1996  发布JDK1.0

1997  发布JDK1.1

1998  发布JDK1.2,将该版本命名为J2SDK,Java更名为Java 2

1999  Java 分为三大块:J2SE(Java 标准版)J2EEJava  企业版)、J2ME(Java 微型版本)

2000  发布J2SE1.3

2002  发布J2SE1.4

2004  此时不再叫J2SE1.5,5.0

2005  Java 10 周年,将J2SE 改为JAVA SE

J2EE 改为JAVA EE、将J2ME  改为JAVAME

2006  发布JAVA SE 6

2011  7 JAVA  SE 7

2014319 JAVA SE 8 发布

 

1.1           JAVASEJAVAEEJAVAME的关系

   Java可以分为三个个版本,JAVAME适用于小型设备和智能卡的开发(Java Platform MicroEditionJavaME)JAVASE适用于桌面系统的核心Java开发平台,也成为Java 平标准版(Java Platform Standard EditionJava SE),第三种是基于web和服务器的应用程序Java 平台企业版(Java Platform EnterpriseEditionJava EE)

   

           技术分享

        

1.2           Java语言特性

1.面向对象

优于面向过程的开发语言,更适用于大型软件的开发。

2.可移植性

Java语言是跨平台的,只需要编译一次,就可以在多种平台上运行,例如在Windows上编译运行的程序也可以在Linux系统上运行。但需要安装不同平台上的JDK(Java开发运行环境)

3.健壮性

Java拥有自动垃圾回收机制,GC。不需要手动对内存中的垃圾进行回收。

4.多线程

可以多线程开发

5.开发简单性

   易于学习,sun提供了很多工具包。

1.3           Java的加载与执行过程

   Java程序经过一次编译就可以在不同的平台上运行,而不需要再次编译,这也是Java流行的一个原因。例如:编译好的程序可以在Windows系统、Linux系统或嵌入式终端上运行。

   编写好的Java程序需要经过编译才能执行,编译的目的是让底层的平台或者机器可以识别并执行。下面的图是Java程序编译执行的过程。

   

         技术分享

  

   Java程序的执行分为两个阶段

1.编译期

编译期将Java源文件.java编译成.class字节码文件。

   2.运行期

   Java类加载器将.class文件加载到内存,在Java虚拟机JVM中进行解释并生成可执行代码,注意:这个可执行代码是不同平台的可执行代码。

   如下图:

              技术分享

1.4           准备

1.4.1       下载安装JDK

   要下载要运行程序的系统对应的JDK,如:windows系统下载jdk-6u5-windows-i586-p.exeLinux系统下载jdk-8u51-linux-x64.tar.gz。并安装。

1.4.2       MS-DOS常用命令

   cd命令:切换目录。

   命令格式:

cd 目录名称

 

   dir命令:显示当前目录下的文件信息。

   命令格式:

dir

 

   mkdir命令:在dos系统下创建目录。

   命令格式:

mkdir 目录名称

md目录名称

 

   cls命令:清屏。

   命令格式:

cls

 

del命令:删除一个文件。

   命令格式:

del 文件名称

 

rmdir命令:删除一个空的目录。

   命令格式:

rmdir 文件名称

rd 文件名称

 

move命令:文件更名。

   命令格式:

move 文件名称 新文件名称

 

1.4.3       环境变量PATH

   告诉系统,要执行的命令在什么地方,如果不设置path,系统就找不到你要执行的命令。也就是说path和操作系统相关的,和java没有关系,但是如果JDK安装目录不在path中设置,操作系统就找不到我们要用的javajavac命令。

当执行javac命令时,操作系统会在path中找,找到就执行,找不到就报错。

C:\Users\LZD>java  -version

java version "1.7.0_79"

Java(TM)  SE Runtime Environment (build 1.7.0_79-b15)

Java  HotSpot(TM) Client VM (build 24.79-b02, mixed mode, sharing)

 

如果显示上面信息,说明JDK配置成功。

1.4.4       环境变量CLASSPATH

   CLASSPATH是和Java相关的。当执行一个Java程序时,会启动一个JVM,虚拟机要在CLASSPATH设置的目录下找要执行的.class文件,如果找到了就执行,如果找不到就报错。如果不设置CLASSPATHJVM就在执行java命令的当前目录下找,如果设置了CLASSPATH就在CLASSPATH下找,不在当前目录下找。

  

1.5           第一个Java程序

   第一个Java程序我们使用文本编辑器进行编辑,并且在命令行进行编译和执行。对Java程序的编译和执行过程做到了解。

   第一个Java程序HelloWorld.java

public  class HelloWorld{

 

   public static void main(String[] args){

     

      System.out.println("Hello  World");

   }

}

 

1.5.1       首先编译Java源文件

   在命令行编译源文件,使用javac命令,命令格式如下:

C:\Users\LZD>javac  d:/corejava/HelloWorld.java

D:\>javac  corejava/HelloWorld.java

D:\corejava>javac  HelloWorld.java

 

   可以是相对路径也可以是绝对路径。注意:javac命令后必须是完整的文件名称,含扩展名java。编译完成后会在源文件目录形成一个HelloWorld.class 文件,这说明编译成功了。编译成功后就可以执行了。

1.5.2       执行Java程序

   Java源文件编译成.class文件后就可以执行了。执行Java程序需要使用java命令,命令格式如下:

D:\corejava>java  HelloWorld

Hello  World

 

   注意:java命令后跟着的是类名,但不含后缀.class。另外需要注意的是,执行Java程序涉及到CLASSPATH环境变量,如果不设置CLASSPATHJVM就在执行java命令的当前目录下找编译好的.class文件并加载执行,如果设置了CLASSPATH环境变量,Java虚拟机JVM就会在CLASSPATH指定的目录下找,而不在执行java命令的当前目录下找.class文件。

1.5.3       语法简介

   HelloWorld.java

//  public 访问修饰符,全局可访问,关键字

//  class 说明声明的是一个Java类,关键字

//  HelloWorld 用户定义的类名,标识符

public class HelloWorld{

   // public 语义同上

   // static 表示方法是静态的,关键字

   // void 表示方法没有返回值,关键字

   // main Java程序执行入口方法,关键字

   // String[] args 数组参数

   public  static void main(String[] args){

      // 将信息输出到控制台

      // System sun提供的工具类

      System.out.println("Hello  World");

   }

}

 

1.5.4       Java中的注释

   Java中,注释会被Java虚拟机忽略,不会执行。主要用于程序功能的说明,方便其他开发人员了解程序的基本功能。

   Java中注释有三种方式:

   1.单行注释

// 单行注释

 

   2.多行注释

/*

  多行注释

多行注释

*/

 

3.多行注释

/**

*  多行注释

*  可以生成java doc文档

*/

 

1.6           定义Java

   Java中,定义类有两种方式:

   1.采用pubicclass 类名的方式

pubic  class 类名{

   // 类体

}

 

   注意:如果采用public class来声明一个类,那么文件名称和类名必须完全相同(包括大小写)。如果不同会报错。

 

   2.采用class类名的方式

class 类名{

   // 类体

}

 

   注意:采用class关键字来声明类,文件名可以是任何合法的文件名称,文件名不需要和类名一致(当然可以相同)。但生成的class 文件名称和类名一致,如果类名和文件名称不同,.class文件名称和类名相同不和原文件名称一致。

 

   在一个源文件中可以声明多个类,可以将所有的类都使用class来声明,我们新建一个Java源文件ClassTest01.java,文件内容如下:

class  A{

   public static void main(String[] args){

       // 方法体

       System.out.println("Hello  World");

   }

}

 

class  B{

   // 类体

}

 

class  C{

   // 类体

}

 

   编译:

javac  ClassTest01.java

 

   在目录下会生成三个.class文件,A.classB.classC.class

 

   执行:

java A

 

   注意:在一个java文件中,可以有多个class,没有public class,文件名可以不和类名相同,只要是合法的文件名称就行了。

 

   另外,在一个源文件中可以使用public class来声明一个类,但是要注意:如果有public class且只能有一个并且和Java文件名称必须相同,也就是java文件中只能有一个class能被public修饰。

public  class A{

   public static void main(String[] args){

       // 方法体

       System.out.println("Hello  World");

   }

}

 

class  B{

   // 类体

}

 

class  C{

   // 类体

}

 

下面的方式是不和法的

public  class A{

   public static void main(String[] args){

       // 方法体

       System.out.println("Hello  World");

   }

}

 

public  class B{

   // 类体

}

 

class  C{

   // 类体

}

 

一、  Java中的标识符与关键字

2.1          标识符

Java中,标识符可以用来标识类名,接口名,变量名和方法名,也就是用户可以定义的名称。

2.1.1       Java 标识符的命名规则

   1.标识符是由,数字,字母,下划线和美元符号构成,其他符号不可以

2.必须以字母、下划线或美元符号开头,不能以数字开头

3.关键字不能作为标识符

4.标识符区分大小写

5.标识符理论上没有长度限制

参见表格

合法标识符不合法标识符

$Abc

合法

_Abc

合法

123abc

非法

public

非法

Abc def

非法

Abc-def

非法

public1

合法

Abc#

非法

Abc%

非法

Abc123

合法

Abc_123

合法

#Abc

非法

 

对于如何命名Java 标识符,通常的做法是见名知意,如:根据类名就知道此类的功能,通过方法名称就知道方法的作用等等。

   通常的规范是:类名首字母大写,后面每个单词的首字母大写。方法名首字母小写,后面每个单词首字母大写。变量首字母小写后面每个单词首字母大写。静态变量全部大写。

   如下面的例子:

// 类名首字母大写,后面每个单词的首字母大写

public  class ClassTest02{

    // 变量首字母小写后面每个单词首字母大写

public String studentName;

// 同上

public int age

//静态变量全部大写

public String COUNTRY = "中国" ;

 

// 方法名首字母小写,后面每个单词首字母大写

public void studyLesson(){

    System.out.println("学习Java") ;

}

}

 

2.2          关键字

   Java关键字是Java语言开发者定义的,并且有特定含义的字符。不能用关键字定义标识符。在Java 中关键字都是小写的

class  extends  implements  interface  import

package   break  case  continue   default

do  if  else   for  return

switch  while  false  true  null

Boolean   byte  char  short   int

Long  float  double  try  catch

throw  throws  finally  abstract  final

native  private  protected  public   static

synchronized   transient  volatile  instanceof  new

super  void  assert   enum  goto

const

 

二、  内容回顾与练习

3.1           内容回顾

1.了解Java发展历史

2.了解JavaSEJavaEEJavaME的区别和联系

3.了解Java的编译期和运行期的概念

4.掌握环境变量PATHCLASSPATH的作用和区别

5.会编写Java程序,并且在命令行编译执行。理解javacjava命令执行过程

6.如何定义Java

7publicclassclass的区别


本文出自 “kevin.blog” 博客,请务必保留此出处http://dongkevin.blog.51cto.com/12103298/1859054

以上是关于JavaSE学习笔记———Java简介与基础的主要内容,如果未能解决你的问题,请参考以下文章

Java Web 学习笔记 第一章,java语言简介

JavaSE 学习笔记之Java概述

Java基础学习笔记一 Java介绍

Spark基础学习笔记04:Scala简介与安装

《一头扎进Spring4》学习笔记简介与helloworld实现

我的Java学习笔记 -开发环境搭建