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方法
  • 点击绿的三角运行,查看运行结果,打印了这个说明环境没问题
相关推荐
悟能不能悟2 小时前
java list=null,可以stream吗
java·windows·list
cike_y2 小时前
Mybatis-万能的Map&模糊查询
java·开发语言·mybatis·安全开发
郝学胜-神的一滴2 小时前
Linux的pthread_self函数详解:多线程编程中的身份标识器
linux·运维·服务器·开发语言·c++·程序人生
HUST2 小时前
C 语言 第七讲:数组和函数实践:扫雷游戏
c语言·开发语言·数据结构·vscode·算法·游戏·c#
oioihoii2 小时前
C++高并发编程核心技能解析
开发语言·c++
jimy12 小时前
程序崩溃free(): double free detected in tcache 2
linux·开发语言·数据结构·链表
开开心心_Every3 小时前
无广告干扰:简单好用文字LOGO设计工具
xml·java·网络·数据库·华为od·华为云·excel
古城小栈3 小时前
GitHub Copilot for Java:上下文感知重构建议实操
java·github·copilot
秋邱3 小时前
Java面向对象进阶:封装、继承、多态的实现逻辑与实战案例
java·开发语言·后端·spring cloud·ar·restful