4

一文回顾 Java 入门知识(上)

 2 years ago
source link: https://segmentfault.com/a/1190000040092222
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Java前世今生

Java最早是由SUN公司(已被Oracle收购)的詹姆斯·高斯林(高司令,人称Java之父)在上个世纪90年代初开发的一种编程语言,最初被命名为Oak,目标是针对小型家电设备的嵌入式应用,结果市场没啥反响。谁料到互联网的崛起,让Oak重新焕发了生机,于是SUN公司改造了Oak,在1995年以Java的名称正式发布,原因是Oak已经被人注册了,因此SUN注册了Java这个商标。随着互联网的高速发展,Java逐渐成为最重要的网络编程语言。

Java介于编译型语言和解释型语言之间。 为了保证不同平台、不同公司开发的虚拟机都能正确执行Java字节码,SUN公司制定了一系列的Java虚拟机规范。从实践的角度看,JVM的兼容性做得非常好,低版本的Java字节码完全可以正常运行在高版本的JVM上。

随着Java的发展,SUN给Java又分出了三个不同版本:

  • Java SE:Standard Edition
  • Java EE:Enterprise Edition
  • Java ME:Micro Edition

这三者之间有啥关系呢?

简单来说,Java SE就是标准版,包含标准的JVM和标准库,而Java EE是企业版,它只是在Java SE的基础上加上了大量的API和库,以便方便开发Web应用、数据库、消息服务等,Java EE的应用使用的虚拟机和Java SE完全相同。

毫无疑问,Java SE是整个Java平台的核心,而Java EE是进一步学习Web应用所必须的。我们熟悉的Spring等框架都是Java EE开源生态系统的一部分。

  • JDK:即Java Development Kit(java开发工具包)
  • JRE:即Java Runtime Environment(Java运行环境,主要构成是运行Java字节码文件的JVM,即Java Virtual Machine)

二者关系如下:

简单地说,JRE就是运行Java字节码的虚拟机。但是,如果只有Java源码,要编译成Java字节码,就需要JDK,因为JDK除了包含JRE,还提供了编译器、调试器等开发工具。

学习任何一门编程语言,都有前辈们推荐的IDE或者官方的开发工具,还有运行环境的配置,这都是必须的。小编这里选择的IDEA 2021jdk8

JDK下载与安装

1、下载

官网下载链接:https://www.oracle.com/java/technologies/javase-downloads.html

小编这里使用的 jdk8 版本,是目前使用较多较稳定的版本,推荐使用。如果自己无法下载的可以访问这里提取哈:https://pan.baidu.com/s/1tb1AG-FBHpYRsw0Q5U9YLw 提取码:3kwk

2、安装

小编以 win10 系统为例,下载好后解压即可,小编的是无需安装版本。解压的路径需要注意:不要使用带有中文的路径 。此外,强烈建议:把自己电脑的盘符名称和账户名都修改为英文,或者拼音,这样就会避免一些奇怪的问题,虽然这些问题可能到后面安装数据库或者其他软件才会出现,但是程序的世界是不认识汉字的。

3、配置环境

桌面此电脑,按照如下操作顺序:鼠标右键-->属性-->高级系统设置-->高级-->环境变量:

选择环境变量后,我们可以看到如下界面,此时再选择系统变量-->新建,此时将会弹出新建系统变量的对话框,在变量名处输入JAVA_HOME,在变量值中输入JDK的安装路径(小编的jdk就是解压后的目录),点击确定。

我们还需要修改系统Path变量。在变量后增加如下两条路径:

%JAVA_HOME%\bin
%JAVA_HOME%\jre\bin

新建/修改CLASSPATH变量

如果存在 CLASSPATH 变量,选中点击 编辑。如果没有,点击 新建。

输入/在已有的变量值后面添加:

变量名:CLASSPATH
变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

验证是否安装成功

通过快捷键Win+R 并输入cmd 调出命令行窗口

输入java,如果能出现类似下图信息,就说明配置成功了。

然后依次输入命令javacjava -version命令,如果没有报错信息就是ok的,其中后一个命令是查看你的 jdk 版本号的,如果时间长了忘记当时安装的哪个版本jdk,就可以通过此命令来查看。

IDEA下载安装

下载地址:https://www.jetbrains.com/idea/download/#section=windows

小编这里选择的Ultimate版本64位,一般下载的时候机会智能识别当前的电脑系统,小编下载的 exe 文件,还有 zip 格式的,可自行尝试哈。

安装就简单了,几乎都是一路next即可。这里建议大家不要把软件都习惯性的安装在C盘,这样C盘会越来越大,最后导致电脑很卡。

这里建议大家修改一下编辑区域的字体大小显示方法分割线。后者当你的方法比较多的时候,不容易区分方法的开始与结尾,尤其是在全部折叠方法的时候。

File-->Settings,然后参照下图修改即可:

修改编辑区域的字号

File-->Settings,然后参照下图修改即可:

显示方法之间分隔符

除了这两个最最基本设置外,其他根据个人偏好调整到自己使用起来最舒服即可。

Hello World详解

这一部分网络上很多作者都把它放在了后面去讲解,因为涉及到的东西稍微多一点,这里指的是名词,这对于新手来说,理解起来是有困难的,但小编仔细琢磨了下,在一开始讲解其实也完全没有问题,听一听总是有好处的,最起码心里有个低了。

编写第一个 Java 程序

新建第一个java程序: File-->New-->Project(在这一步就可以看到我们安装的jdk)-->Next-->Next-->会看到如下界面:

Project name 就是我们创建的工程名字,自己命名即可,推荐英文或者拼音。<br/>
Project location 我们创建的工程放在电脑的哪个地方,推荐不要使用带有中文的路径。

接着就是finish了,我们会看到如下界面:

这是系统默认提供的内容,前期我们主要的工作都是在src这个目录下,下面以新建第一个 java 程序为例:
src右键,依次选择new-->Java Class-->输入要新建的类名(类名的命名规则本文后面会讲)-->回车即可。

比如小编这里输入的类名是MainHello

public class MainHello {
    
}

这一步相当于一个java文件创建好了,但是没有系统执行的函数入口,这个入口暂时可以理解为现实生活中某个场景的入口(比如:景点的门票入口),只不过Java文件的入口有且仅有一个,接下来我们就创建这个入口函数:

可以使用快捷输入main+回车即可快速生成这个方法:

修改这个快捷输入其实也很简单,其实就是去掉了默认的智能提示限制(默认只有大写的首字母,才会提示完整的系统类和关键字等)

生成后方法如下:

public class MainHello {

    public static void main(String[] args) {
        
    }
}

这个时候就会看到绿色的运行按钮出来了,这就是系统默认认识的入口,接下来我们所学习的内容都会在这里进行。小编首先在这里使用系统提供的输出语句,输出咱们熟悉的Hello World

public class MainHello {

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

然后点击运行即可看到结果。

这里对Java程序的入口,也就是主函数进行简单的解析,首先看下图不同颜色标注的矩形

  • public 这个在java中叫修饰限定符,初次之外还有privateprotecteddefault(默认不写就是这个),其作用分别是对类文件或者类文中的方法进行访问权限限定,通过下图便一目了然:
  • class 是java语言中的关键字,除此之外,还有很多关键字以及保留字,后者就是系统暂时不用但是保留着,说不定后面会用到,但是开发者不能用,比如:goto。了解如下这些即可:

java语言中的关键字

  • MainHello 就是我们定义的标识符,在Java语言中,标识符的命名是有规则的:

    • 严格区分大小写
    • 不能以数字开头
    • 只能由字母、数字、下划线、$其中一种或多种来组合完成
    • 不能占用Java中的关键词和保留字
    • 要见名知意
    • 命名方式,推荐驼峰命名法(不是必须,是推荐)

标识符作用于类名方法名变量语句块,是我们最最常用的。

  • main(String[] args) 就是java中的函数形式之一:带一个参数的方法。java中所说的函数和方法,其实是指同一个东西。Java中的方法根据参数多少分两种:无参数方法有参数方法(参数的个数可以自定义),其中参数的类型也可以自定义的。

这里的main方法带有一个字符串数组类型的参数,这里又出现一个新名词:数组,在Java中数组根据维数不同可分为:一维数组多维数组

对数组的理解,可以简单理解为一个箱子里面装的台球,每个球上有编号是数组的特征,这在Java语言里叫做索引,索引是从0开始的,比如共有10个球,那么索引就是0~9 。

小结

对Java程序的入口牵扯到的相关内容就介绍到这里,具体内容后面还会详细讲解。

java语言中数据类型可以分为两大类:基本数据类型引用数据类型。通过下面这个导图大家就很清楚了:

Java中有四种表示整数的形式:十进制(我们平时使用的就是)、二进制、八进制、十六进制。

  • 二进制:以0b或0B开头,包括0~1的数字。
  • 十进制:包括0~9的数字。
  • 八进制:以0开头,包括0~7的数字。
  • 十六进制:以0x或0X开头,包括0~9的数字,以及字母a~f,A~F。

其他进制转十进制

公式:系数 * 基数的权次幂相加 (系数指每个数字,基数指的是多少进制,权指的是从右到左从0开始,次幂就是乘方)

例如:计算 0x100 的十进制值:

0x100 = 1*16^2 + 0 * 16^1 + 0 * 16^0

       =  16*16

       =  256

十进制转其他进制

公式:除基(基数,也就是要转的进制)倒取余(余数)

例如:计算 60 的二进制:

  • 存在内存中
  • 根据作用域分为:局部变量和全局变量
  • 声明规则:变量类型 变量名,比如:int stuAge
  • 变量赋值符:=
  • 变量使用规则:先声明,再使用
  • 变量默认值:基本数据类型有对应的默认值,引用类型默认值是null,布尔型默认值是false

常量其实是变量的一种特例。常量用final来修饰,它的值是不会被二次改变的,一般使用大写字母来定义。

昨天看到一个关于编程的视频挺有趣,推荐大家看下https://youtu.be/dU1xS07N-FA

相信学java都知道这么一句话:一次编译,到处运行。那么它背后的原理是什么呢?

“Java 编译器不会将所有类都编译成一个机器代码程序。相反,它会独立编译每个类,而且不是编译成机器代码,而是编译成特殊的中间代码(字节码)。当程序启动时,该字节码被编译成机器代码。”

这就是为什么Java被广泛应用于诸多行业中,而且被越来越多的开发者作为首选学习语言之一。

小编特意创建了一个公众号:推荐学java,会分享与java相关的内容,并且以原创为主,欢迎大家搜索关注(关注即送小编挑选的精品视频教程),一起学Java!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK