JavaSE篇学习之路:(一)【JAVA语言概述】

1.4.2 java语言发展历程

  • 1995年5月23日,Java语言诞生

  • 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的三个版本:标准版(J2SE)、企业版(J2EE)和微型版(J2ME)

  • 2000年5月8日,JDK1.3发布

  • 2000年5月29日,JDK1.4发布

  • 2001年6月5日,NOKIA宣布,到2003年将出售1亿部支持Java的手机

  • 2001年9月24日,J2EE1.3发布

  • 2002年2月26日,J2SE1.4发布,自此Java的计算能力有了大幅提升

  • 2004年9月30日18:00PM,J2SE1.5发布,成为Java语言发展史上的又一里程碑。为了表示该版本的重要性,J2SE1.5更名为Java SE 5.0(因为新特新增加特别多,所以起了个高大上的名字!)

  • 2005年6月,JavaOne大会召开,SUN公司公开Java SE 6。此时,Java的各种版本已经更名,以取消其中的数字“2”:J2EE更名为Java EE,J2SE更名为Java SE,J2ME更名为Java ME

  • 2006年12月,SUN公司发布JRE6.0

  • 2009年12月,SUN公司发布Java EE 6

  • 2010年11月,由于Oracle公司对于Java社区的不友善,因此Apache扬言将退出JCP

  • 2011年7月28日,Oracle公司发布Java SE 7

  • 2014年3月18日,Oracle公司发表Java SE 8(市场主流版本)

  • 2017年9月21日,Oracle公司发表Java SE 9

Java之所以被开发,是要达到以下五个目的:

  • 应当使用面向对象程序设计方法学

  • 应当允许同一程序在不同的计算机平台执行

  • 应当包括内建的对计算机网络的支持

  • 应当被设计成安全地执行远端代码

  • 应当易于使用,并借鉴以前那些面向对象语言(如C++)的长处。

Java技术主要分成几个部分:Java语言、Java运行环境、类库。一般情况下说Java时并不区分指的是哪个部分。

Java在1.5版本时,做了重大改变,Sun公司并1.5版本重命名为Java 5.0。

1.5 java语言三种架构


J2EE(Java 2 Platform Enterprise Edition)企业版

可帮助开发和部署可移植、健壮、可伸缩且安全的服务器端 Java 应用程序。Java EE 是在Java SE 的基础上构建的,它提供Web 服务、组件模型、管理和通信API,可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和Web 2.0 应用程序。

J2SE(Java 2 Platform Standard Edition)标准版

它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的Java 应用程序,能为Java EE提供开发基础。比如Java版的扫雷。

J2ME(Java 2 Platform Micro Edition)小型版

用来开发移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)。现在使用的越少用了,Android会逐渐的取代J2ME的市场份额。

Java5.0版本后,更名为 JAVAEE JAVASE JAVAME

第二章:JAVA语言环境搭建

===========================================================================

2.1 跨平台原理


2.1.1 什么是跨平台性?

跨平台就是说同一个软件可以在不同的操作系统上执行,而不需要对软件做任务处理。即通过Java语言编写的应用程序在不同的系统平台上都可以运行。

2.1.2 跨平台的原理是什么?

Java应用程序为什么可以跨平台呢?其实只要在需要运行java应用程序的操作系统上,先安装一个Java虚拟机(JVM Java Virtual Machine)即可。由JVM来负责Java程序在该系统中的运行。

2.1.3 跨平台

因为有了JVM,所以同一个Java程序在三个不同的操作系统中都可以执行。这样就实现了Java程序的跨平台性。也称为Java具有良好的可移植性。

Java程序之所以能够实现跨平台运行,是因为它根本就不直接运行在任何底层平台上,而是需要在哪里运行,就在哪里(如Windows平台)事先准备好自己的Java平台,而这只是仅仅是安装和配置一个软件而已!

2.1.4 JVM介绍

Java Virtual Machine ,简称JVM;它是运行所有Java程序的抽象计算机,是Java语言的运行环境,它是Java 最具吸引力的特性之一,JVM读取并处理编译过的与平台无关的字节码(class)文件。

注意:Java语言是跨平台的,是因为Java应用程序需要Java虚拟机JVM负责运行。

而Java虚拟机JVM是不跨平台的,不同的操作系统需要安装与此对应的Java虚拟机JVM。

2.2 环境搭建


2.2.1 JAR、JDK区别

Jdk(java development toolkit ,java开发工具包)

是java的核心,包括了java运行环境,一堆java工具(javac、java、jdb)和java基础的类库(即javaAPI包括rt.jar)

可以认为Jre的bin目录里的就是jvm,lib中则是jvm工作所需要的类库 。

Jre(java runtime environmental,java运行时环境)

所有的java程序都要在jre下才能运行。包括jvm和java核心类库和支持文件。与jdk相比不包含开发工具(编译器、调试器、和其它工具)。

JVM(java virtual mechinal,java虚拟机)

jvm是jre的一部分,它是一个虚拟出来的计算机。Jvm的主要工作是解释自己的指令集(即字节码)并映射到本地的CPU的指令集或OS的系统调用。

简单而言:使用JDK开发完成的java程序,交给JRE去运行。

为什么JDK中包含一个JRE呢?

  • 开发完的程序,总需要运行一下看看效果。

  • 也是最重要的,JDK中的开发工具其实都是java语言编写的应用程序,为了方便使用才打包成exe文件。

  • 如果没有JRE,那么这些工具是运行不了的。

2.2.2 下载

官网下载:jdk ,点击安装,分别安装JDK和JRE。

测试安装:进入安装目录下 ,win+R进入dos命令,然后:输入Java和Javac看是否能打印出相关信息,若打印出来说明JDK安装成功。

在这里插入图片描述

2.2.3.1 配置环境变量

  1. (右键)此电脑–>高级系统设置–>环境变量在这里插入图片描述

    在这里插入图片描述

  2. 编辑path环境变量,在变量值开始处加上java工具所在目录,后面用 “ ; ”和其他值分隔开即可。然后一路确定就可以了!

    在这里插入图片描述

    在这里插入图片描述

  3. 打开DOS命令行,任意目录下敲入javac。

  4. 如果出现javac 的参数信息,配置成功。

    为什么要配置?一劳永逸。任何环境下都可以直接运行

2.2.3.2 配置技巧

在配置环境变量过程中发现,path环境变量中还有很多其他与系统相关的配置,若JDK目录更改了,这时就要再次修改path中配置的值,很容易造成误操作。

为了不因为jdk的目录或者目录名称的改变,而不断更改path的值,而导致对path变量值的误操作,可以通过以下技巧完成。

新创建一个环境变量 JAVA_HOME 记录住jdk的目录。在path中通过%%动态的获取JAVA_HOME的值即可。

JAVA_HOME=C:\mysoft\Java\jdk1.7.0_21

path=%JAVA_HOME%\bin;%path%

%path%:动态获取path环境变量的值。

%JAVA_HOME%:动态获取名称为JAVA_HOME环境变量的值。

2.2.3.3 临时环境变量配置

临时配置方式:通过dos命令中set命令完成

set :用于查看本机的所有环境变量的信息。

set 变量名 :查看具体一个环境变量的值。

set 变量名=:清空一个环境变量的值。

set 变量名=具体值 :给指定变量定义具体值。

想要在原有环境变量值基础上添加新值呢?首先,通过%变量名%操作符获取到原有环境变量的值。然后加上新值后在定义给该变量名即可:

set path=新值;%path%

注意:这种配置方式只在当前dos窗口和在此dos窗口中使用start开启的dos窗口中有效。窗口关闭,配置消失。

第三章:hello world

============================================================================

正式开始编写java,分为编写.java、编译、运行.class。

步骤一:编写源文件


使用记事本或者其他记事本工具,编译一个java文件,拓展名为.java


    public class Demo01{

    	public static void main(String[] args){

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

    	}

    }



紫色的部分称为关键字,我们这里先说class :用于定义类,java语言的程序代码都需要定义在类中。

关键字:被java语言赋予了特殊含义的单词。

Demo01:为了方便使用这个类,给类自定义的类名。

{}:定义该类中代码的范围。

步骤二:编译


有了java源文件,将其编译成JVM可以识别的文件。在源文件路径下,通过javac编译工具对Demo01.java文件进行编译。如果程序没有错误,没有任何提示,但在当前目录下会出现一个Demo01.class文件,该文件称为字节码文件,也是可以执行的java的程序。

步骤三:运行


通过java Demo01就可以直接运行。前提main方法,不是名字为main。

后记:main

一个程序的执行需要一个起始点或者入口,所以在Demo01类中的public static void main(String[] args){}就是这个作用。

使用打印语句System.out.println("Hello World!!!")和System.out.print("Hello World!!!");

ln代表换行,System.out.print打印语句,()内为内容。“”为字符,还可以写数字。还可以写计算公式等。

第四章:错误

===================================================================

错误原因:源文件名不存在或者写错,或者当前路径错误。

类文件名写错,或者类文件不在当前路径下,或者不再classpath指定路径下。

编译失败,注意错误出现的行数,在到源代码中指定位置排错。

注意:

Java语言拼写上严格区分大小写;

**一个Java源文件里可以定义多个Java类,但其中最多只能有一个类被定义成public类;

若源文件中包括了public类,源文件必须和该public类同名;

一个源文件中包含N个Java类时,编译后会生成N份字节码文件,即每个类都会生成一份单独的class文件,且字节码文件名和其对应的类名相同;**

第五章:基础语法

=====================================================================

任何一种语言都有自己的语法规则,Java也一样,既然是规则,那么知道其如何使用就可以了。

1. 如何定义Java中的类

Java代码都定义在类中,类由class来定义,区分 public class 和 class;

2. main方法的作用

main方法是程序的入口;保证程序的独立运行;被JVM调用;

3. Java语言分隔符

  • 分号 【;】;语句的分割,表示一句话结束,好比咱们使用的句号。

  • 花括号 【{}】;表示一个代码块,是一个整体,花括号要一起使用。

  • 方括号 【[]】;定义数组和访问数组元素时使用。

  • 圆括号 【()】;使用很广泛,具体用到细讲。

  • 圆点【.】;类/对象 访问它的成员(字段,方法)时使用等。

  • 空格【 space】; 分割一条语句的不同部分,空格的次数不限制。

4. 注释

注释:用于解释说明程序的文字就是注释。有利于提高了代码的阅读性。

注释分类:

  • 单行注释: //:

    //后到本行结束的所有字符会被编译器忽略;

  • 多行注释 /* _/:

    /_ */之间的所有字符会被编译器忽略

  • 文档注释 /** _/:

    在/_* */之间的所有字符会被编译器忽略,java特有的(用于生成文档);

注意:多行和文档注释都不能嵌套使用

对于单行和多行注释,被注释的文字,不会被JVM(java虚拟机)解释执行。对于文档注释,是java特有的注释,其中注释内容可以被JDK提供的工具 javadoc 所解析,生成一套以网页文件形式体现的该程序的说明文档。

注释还有一个功能就是调试程序用。


    /**

    这是我的Hello World程序。

    */

    class Demo

    {

    	/*

    	这是主函数,是程序的入口,它的出现可以保证程序的独立运行,

    	*/

    	public static void main(String[] args)

    	{

    		//这是输出语句用于将括号内的数据打印到控制台。

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

            System.out.println(12/0);

    	}

    }





5.输入与输出


    import java.util.Scanner;

    public class 输入和输出 {

        public static void main(String[] args) throws Exception {

            Scanner input = new Scanner(System.in);

            System.out.print("输入 ");

            String s = input.nextLine();

            Thread.currentThread().sleep(1000);

            System.out.println(s);



# 面试准备+复习分享:

> 为了应付面试也刷了很多的面试题与资料,现在就分享给有需要的读者朋友,资料我只截取出来一部分哦

![秋招|美团java一面二面HR面面经,分享攒攒人品](https://img-blog.csdnimg.cn/img_convert/02041f14f51c0d5718662a5354b41d3b.webp?x-oss-process=image/format,png)


            System.out.println(12/0);

    	}

    }





5.输入与输出


    import java.util.Scanner;

    public class 输入和输出 {

        public static void main(String[] args) throws Exception {

            Scanner input = new Scanner(System.in);

            System.out.print("输入 ");

            String s = input.nextLine();

            Thread.currentThread().sleep(1000);

            System.out.println(s);



# 面试准备+复习分享:

> 为了应付面试也刷了很多的面试题与资料,现在就分享给有需要的读者朋友,资料我只截取出来一部分哦

[外链图片转存中...(img-HD7unsSs-1719263476288)]


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值