学java第一天应该干什么?应该了解什么?

Posted 小牛儿学JAVA

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学java第一天应该干什么?应该了解什么?相关的知识,希望对你有一定的参考价值。

口水话: 大家好!我是小牛儿,前期花掉一个月的时间学完了html+CSS and RHCSA,感觉一个月很长,实际这一个月过的很快,作者把自己学到的金典都放置在了自己的主页当中,热烈欢迎大家的查看!今天开始自己便进入了核心及难点性的学习——Java

在这里插入图片描述

java环境安装及历史

简单介绍Java语言

Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 面向对象程序设计语言和 Java 平台的总称。由 James Gosling和同事们共同研发,并在 1995 年正式推出。
后来 Sun 公司被 Oracle (甲骨文)公司收购,Java 也随之成为 Oracle 公司的产品。
Java分为三个体系:
JavaSE(J2SE)(Java2 Platform Standard Edition,java平台标准版)
JavaEE(J2EE)(Java 2 Platform,Enterprise Edition,java平台企业版)
JavaME(J2ME)(Java 2 Platform Micro Edition,java平台微型版)。
2005 年 6 月,JavaOne 大会召开,SUN 公司公开 Java SE 6。此时,Java 的各种版本已经更名,以取消其中的数字 “2”:J2EE 更名为 Java EE,J2SE 更名为Java SE,J2ME 更名为 Java ME。

主要特性

Java 语言是简单的:
Java 语言的语法与 C 语言和 C++ 语言很接近,使得大多数程序员很容易学习和使用。另一方面,Java 丢弃了 C++ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java 语言不使用指针,而是引用。并提供了自动分配和回收内存空间,使得程序员不必为内存管理而担忧。
Java 语言是面向对象的:
Java 语言提供类、接口和继承等面向对象的特性,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为 implements)。Java 语言全面支持动态绑定,而 C++语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。
Java语言是分布式的:
Java 语言支持 Internet 应用的开发,在基本的 Java 应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括 URL、URLConnection、Socket、ServerSocket 等。Java 的 RMI(远程方法激活)机制也是开发分布式应用的重要手段。
Java 语言是健壮的:
Java 的强类型机制、异常处理、垃圾的自动收集等是 Java 程序健壮性的重要保证。对指针的丢弃是 Java 的明智选择。Java 的安全检查机制使得 Java 更具健壮性。
Java语言是安全的:
Java通常被用在网络环境中,为此,Java 提供了一个安全机制以防恶意代码的攻击。除了Java 语言具有的许多安全特性以外,Java 对通过网络下载的类具有一个安全防范机制(类 ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类 SecurityManager)让 Java 应用设置安全哨兵。
Java 语言是体系结构中立的:
Java 程序(后缀为 java 的文件)在 Java 平台上被编译为体系结构中立的字节码格式(后缀为 class 的文件),然后可以在实现这个 Java 平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。
Java 语言是可移植的:
这种可移植性来源于体系结构中立性,另外,Java 还严格规定了各个基本数据类型的长度。Java 系统本身也具有很强的可移植性,Java 编译器是用 Java 实现的,Java 的运行环境是用 ANSI C 实现的。
Java 语言是解释型的:
如前所述,Java 程序在 Java 平台上被编译为字节码格式,然后可以在实现这个 Java 平台的任何系统中运行。在运行时,Java 平台中的 Java 解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。
Java 是高性能的:
与那些解释型的高级脚本语言相比,Java 的确是高性能的。事实上,Java 的运行速度随着 JIT(Just-In-Time)编译器技术的发展越来越接近于 C++。
Java 语言是多线程的:
在 Java 语言中,线程是一种特殊的对象,它必须由 Thread 类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为 Thread(Runnable) 的构造子类将一个实现了 Runnable 接口的对象包装成一个线程,其二,从 Thread 类派生出子类并重写 run 方法,使用该子类创建的对象即为线程。值得注意的是 Thread 类已经实现了 Runnable 接口,因此,任何一个线程均有它的 run 方法,而 run 方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。Java 语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为 synchronized)。
Java 语言是动态的:
Java 语言的设计目标之一是适应于动态变化的环境。Java 程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java 中的类有一个运行时刻的表示,能进行运行时刻的类型检查。

发展历史

1991年为Oak主要是做电子性嵌入式产品,从1995年IE浏览器的出现成就了Oak----java,java在1995年就诞生了。
1996 年 1 月,第一个 JDK-JDK1.0 诞生
1996 年 4 月,10 个最主要的操作系统供应商申明将在其产品中嵌入 JAVA 技术
1996 年 9 月,约 8.3 万个网页应用了 JAVA 技术来制作
1997 年 2 月 18 日,JDK1.1 发布
1997 年 4 月 2 日,JavaOne 会议召开,参与者逾一万人,创当时全球同类会议规模之纪录
1997 年 9 月,JavaDeveloperConnection 社区成员超过十万
1998 年 2 月,JDK1.1 被下载超过 2,000,000次
1998 年 12 月 8 日,JAVA2 企业平台 J2EE 发布
1999 年 6月,SUN 公司发布 Java 的三个版本:标准版(JavaSE, 以前是 J2SE)、企业版(JavaEE 以前是 J2EE)和微型版(JavaME,以前是 J2ME)

java安装环境

jdk (java development kit)Java的开发工具包
jre (java runtime environment)java运行时环境
安装jdk的过程中会默认将jre安装好。

下面是安装流程
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
安装完成之后的jdk1.8.0_131,文件夹下面的内容如下
在这里插入图片描述

通常企业人员电脑只会安装jre
bin java的应用指令
db database
include c语言所编写的文件
jre 集成的运行环境的文件夹
lib java的第三方工具包
src.zip 是jdk1.8版本的源代码包

如何检测java运行环境安装成功
1.java -version命令检测Java的版本
2.java 检测java命令,相当于执行bin目录下的java.exe
3.javac检测javac指令是否能正常使用

环境变量设置

在这里插入图片描述

变量名称:JAVA_HOME
变量值:jdk的安装目录
C:\\Program Files\\Java\\jdk1.8.0_171
变量名称:path
变量值:jdk安装目录下的bin目录
C:\\Program Files\\Java\\jdk1.8.0_171\\bin
变量名称:class_path
变量值:./jdk安装目录下lib目录中的 dt.jar/tools.jar
.;
C:\\Program Files\\Java\\jdk1.8.0_171\\lib\\dt.jar;
C:\\Program Files\\Java\\jdk1.8.0_171\\lib\\tools.jar
最后去检验一下三个指令是否都生效,如果生效则java的环境变量配置 成功。

Java第一个程序

可以用记事本编写,把txt后缀名改为java就可,前提是计算机已经成功安装好Java的运行环境

public class HelloWorld{
	
	public static void main(String [] args){
		
		System.out.println("Hello Java");
	}
	
}

通过cmd 进行黑窗口 要先编译在执行,编译指令使用javac HelloWorld.java
在这里插入图片描述
在目录中会自动生成java字节码文件HelloWorld.class
在这里插入图片描述

使用java指令执行 class文件
在这里插入图片描述
注意:以.java结尾的叫做源代码文件 以.class结尾的文件叫做字节码文件

JVM运行原理

在这里插入图片描述
由图可以看出jvm相当于运行的是底层.class二进制数,可以使用sublime-text 打开HelloWorld.class文件,进行查看:
在这里插入图片描述
打开候发现都是些16进制的数,当然占时的我完全看不明白,不过我们须知的是文件的开头cafe babe 这是java二进制文件的一种标识,因为jvm并不仅仅只能运行java语言还可以运行其他语言,有句话是“java是跨平台的语言,jvm是跨语言的平台。所以每一种语言的二进制文件标识是不相同的。目前这是我们须知的内容。Class的文件结构 cafe babe magic 魔数 java的class文件的标识。

在这里插入图片描述

代码分析

//访问修饰符 类关键字 类名
public class HelloWorld {
	
	// 主函数  主方法  -----整个程序的入口
	// 4要素 1-public  2 static 3 void 4 方法名称必须叫main
	public static void main(String [] args){
	    // 打印语句
        //类.属性.方法 带()都叫方法
		System.out.println("Hello Java");
	}
	
}

java语言的常用规范

类的命名规范

1.不要使用中文 韩文 日文 等 当作类名
2.首字母大写 ----望文生义 驼峰标识 DianHuaben TelephoneNote
3.不要使用关键字
4.不能使用数字开头,但可以使用数字结尾
5.不能使用除了下划线和$ 以外的特殊字符
尽量不要使用Java类库中已经存在的类名,如果使用了的话,要注意导包问题。
注意:类名一般和文件名相同

注释

如何使用Eclipse创建工程
	// 单行注释  用于解释说明一行代码的作用
	
	/*
	 * 多行注释  用于解释说明多行代码的作用 
	 */
	
	/**
	 * 文档注释  用于解释说明文档、方法中的某些属性的作用 用于描述类的作者 和创作时间 
	 * @author maclu
	 * @since 2021.5.9
	 * @param args
	 * @return 返回值
	 * @throws 抛出异常
	 * 
	 */

包和类的创建

关键字 package 一般命名规范是公司域名的反写,包的主要作用就是为了在不同文件夹下存在相同的文件名称。
在这里插入图片描述

以上是关于学java第一天应该干什么?应该了解什么?的主要内容,如果未能解决你的问题,请参考以下文章

学java应该从哪里开始?

前端入职第一天,应该做什么

如果想学Linux,应该怎么学?

编程菜鸟学java的第一天

为什么程序猿都应该学点linux命令?

代码生涯第一天(其实之前学过。。)