Java基础篇01-环境搭建+入门体验

Java的诞生历史

  • 简单说一下java的历史,嫌烦燥可以跳过。
  • 1972年C语言横空出世,风靡全球。但是起强大的指针功能和开放的内存管理功能,让很多开发者学习成本高,也不断踩雷。
  • 1982年,C++诞生,加入了面向对象的功能,并且兼容C语言。在图形、游戏领域有着出色的成绩。
  • 在这个时候,就有人提出了一种新设想,要创造一门新语言,这个语言要包含以下特性:
    • 语言和现有的C要相似;
    • 不需要开发者操控指针;
    • 不需要开发者管理内存;
    • 实现真正的可移植性:一次编写、到处运行;
    • 是面向对象的语言;
    • 类型要是安全的;
    • 要提供一套高质量的类库。
  • 1995年由Sun公司(现属Oracle)发布。
  • 1995年网页简单粗糙,缺乏互动性。Java的图形界面程序(Applet)体验相对友好,所以Java火了起来。
  • 1998年,Java从三条线发发展:
    • J2SE:java2标准版(发展桌面端)
    • J2ME:java2移动版(发展手机端)
    • J2EE:java2企业版(发展服务器端)
    • 最终只有服务器端被很多人喜爱
  • 2006年,Hadoop出现,带着Java走进了大数据领域
  • 2008年,Android出现,带着Java走进了手机端

环境搭建

下载jdk

  • java作为一门编程语言,首先要有开发和运行环境,java的开发环境叫做jdk、运行环境叫jre。

    • 因为开发环境是需要运行环境的,所以jdk中是包含jre的。
  • jdk有很多厂家,使用的最多的就是oracle版本的,但是在8u201/202之后的版本变成了收费版本。

  • oracle官网

  • 在官网中根据自己的操作系统以及芯片架构,选择合适的版本,一路安装即可。本文使用jdk8版本。

  • 如果要用新版本,所以也可以采用免费的openJdk。

  • 课外话题:不管安装哪个,都可以选择用scoop的方式安装:scoop配置以及安装openJdk

  • 安装的时候,要记住自己安装的位置,例如:安装在 D:\java_data\java\jdk1.8.0_191

验证

  • win + R,输入 cmd 回车,打开控制台
  • 切换到安装jdk的目录
    • d:是为了切换盘符
    • cd:是切换文件夹
  • 此时已经在java目录了,然后进入到java的bin目录
    • 命令中的 . 代表当前位置
    • bin目录是存放java执行文件的位置,可以在文件管理器中查看,里面全都是exe后缀的可执行文件
  • 接着在刚才的控制台中,输入java 然后回车,相当于执行这个位置的 java.exe
  • 出现类似这样的返回,就说明执行成功了
  • 查询一下安装的java版本信息:java -version
  • 现在想一个问题:每次想执行程序都必须切换到这个目录,有没有什么办法可以不切换目录就可以执行呢?
    • 有的,那就是配置环境变量
    • win的环境变量,可以把这个目录设置为全局命令,可以在任何控制台直接执行

配置环境变量

  • 为什么配置环境变量,因为要在任意位置运行java程序
  • 如果是使用scoop安装的,会自动配置好环境变量
  • 如果是安装包安装的,需要配置环境变量
    • 有的版本自动配置,按这个步骤检查一下有没有

  • 创建 JAVA_HOME 变量,文件位置输入jdk所在目录(这里如果在安装时已经自动安装了,那么下面就不用配置了)
  • 在path中,输入jdk下的bin目录,以及jre下的bin目录
  • 验证是否安装成功:win+R 输入cmd打开控制台,在控制台中直接输入 java -version ,如果能打印出版本号,说明配置成功了

第一个程序

  • 代码现在看不懂是正常的,先来体验一下

  • 做一个程序,让他打印一句:Hello World!

  • 现在,随便创建一个文件夹 -- 右键 -- 新建文本文档

    • 必须能看到这个 .txt ,如果你看不到,需要在文件管理器中打开 文件扩展名:
  • 打开这个新创建的文件,把下面内容复制过去

    复制代码
    public class Demo {
        public static void main(String[] args) {
                   System.out.printf("Hello World!");
        }
    }
  • 关闭文件,给他重命名:Demo.java

  • 点击空白位置,在终端中打开

  • 编译文件:javac demo.java

  • 此时文件下会生成一个 Demo.class 文件,这个就是编译后的文件

  • 使用java程序,运行这个编译后的文件

    此时可以控制台打印出了我们想要的文字

问题解答

复制代码
    问:上文中的 javac是什么?
    答:是编译,将我们写的代码编译成机器能够看懂的的指令
复制代码
    问:代码中的第一行:public class Demo ,这个Demo必须和文件名一致吗?
    答:对的,这个叫类名,public class 后面的类名必须和文件名一致
复制代码
   问:代码中的第二行:public static void main(String[] args) 这个是什么
   答:他是程序的入口,可以先理解为是一个固定的指令,程序从这里开始执行
复制代码
   问:代码中的第三行:System.out.printf("Hello World!");这个是什么
   答:System.out.printf 是一个固定的指令,它会将后面括号中的内容打印到控制台上

代码拆解

  • 接下来详细拆解一下每个关键词,当前阶段不用特别理解,后续时机到了都会说明
  • public:代码权限关键词,指 公共的
  • class:类关键词
  • static:静态关键词
  • void:方法返回值类型中的一种,表示无返回值
  • main:这是一个方法名,表示主程序的入口
  • String:一种类型,表示字符串
  • String[]:字符串数组
  • System.out.printf:这是一个固定的输出函数
    • System:系统类
    • out:输出流对象
    • printf:格式化输出方法

安装IDEA开发工具

创建一个程序

  • 打开新建项目
    • 位置:自己选择合适的文件夹,代码会保存在这里
    • jdk目录会自动识别,如果没有识别到需要自己手动选择
  • 创建之后,会自动生成Main方法
  • 点击绿的三角运行,查看运行结果,打印了这个说明环境没问题
相关推荐
之歆1 天前
Spring AI入门到实战到原理源码-MCP
java·人工智能·spring
LawrenceLan1 天前
Flutter 零基础入门(十一):空安全(Null Safety)基础
开发语言·flutter·dart
yangminlei1 天前
Spring Boot3集成LiteFlow!轻松实现业务流程编排
java·spring boot·后端
qq_318121591 天前
互联网大厂Java面试故事:从Spring Boot到微服务架构的技术挑战与解答
java·spring boot·redis·spring cloud·微服务·面试·内容社区
txinyu的博客1 天前
解析业务层的key冲突问题
开发语言·c++·分布式
J_liaty1 天前
Spring Boot整合Nacos:从入门到精通
java·spring boot·后端·nacos
码不停蹄Zzz1 天前
C语言第1章
c语言·开发语言
行者961 天前
Flutter跨平台开发在OpenHarmony上的评分组件实现与优化
开发语言·flutter·harmonyos·鸿蒙
阿蒙Amon1 天前
C#每日面试题-Array和ArrayList的区别
java·开发语言·c#
daidaidaiyu1 天前
Spring IOC 源码学习 一文学习完整的加载流程
java·spring