java入门详细教程——day01

目录

1. Java入门

1.1 Java是什么?

1.2 Java语言的历史

1.3 Java语言的分类

1.4 Java语言的特点

1.4.1 先编译再解释运行

1.4.2 跨平台

1.5 JRE和JDK(记忆)

1.6 JDK的下载和安装(应用)

1.6.1 下载

1.6.2 安装

1.6.3 JDK的安装目录介绍

1.7 常用DOS命令(了解)

1.8 Path环境变量的配置(应用)

1.8.1 为什么配置环境变量?

2. Java基础语法

2.1 注释(理解)

文档注释。文档注释以/**开始,以*/结束。

2.2 关键字(理解)

2.3 常量(应用)

2.4 数据类型(应用)

2.5 变量(应用)

总结:通常采用第一种方式来定义变量。

2.6 标识符(理解)


 Java源自于C++,Sun公司为了抢占市场先机,在1991年成立了一个称为Green的项目小组,专门研究计算机在家电产品上的嵌入式应用。由于C++程序过于复杂和庞大,不适合在硬件资源有限的单片式系统上运行,因此项目组的研究人员根据嵌入式软件的要求,对C++进行了改造,去除了留在C++的一些不太实用及影响安全的成分,并结合嵌入式系统的实时性要求,开发了一种称为Oak的面向对象语言。这就是Java的前身。

  注:喜欢的朋友可以关注下方公众号系统学习,内容持续更新。带你走进java的世界

1. Java入门

1.1 Java是什么?

  • 自然语言:人与人之间沟通交流的方式。

  • 计算机语言:人与计算机之间沟通交流的方式。

  • 计算机语言发展历史:第一代(机器语言) 第二代(汇编语言) 第三代(高级语言),其中高级语言又分为 面对过程的语言(c语言)和面向对象的语言(Java语言)。

所以我们说Java是一门面向对象的高级计算机语言。

1.2 Java语言的历史

Java语言是美国Sun公司(Stanford University Network)斯坦福大学网络公司 在1995年推出的计算机语言。2009年,Sun公司被甲骨文公司(Oracle)收购。Java之父:詹姆斯·高斯林(James Gosling)

Java的版本迭代:1.0 1.1 1.2 1.3 1.4(小版本号更新)因为5的更新力度非常的大,从5开始,Java就使用了大版本号更新。

  • Java5.0:第一个大版本更新。

  • Java8.0:公司里面最为常用的版本

  • Java12.0:课程中学习的版本。

  • 为什么公司常用的还是Java8.0?

  • 长期支持版本:就是Oracle公司长期有专门的人去更新维护java8版本。

  • 公司里面用的是8,现在学习的是12,不一样了啊?

因为Java在更新的时候,高版本兼容低版本。高版本在更新的时候,不会推翻以前的东西,只是在原有的基础上添加了一些新的功能而已。如果我们用Java8写的代码,是可以用12去运行的。如果我们用Java12写代码,可不可以用8去运行?不一定。如果在代码中,我们使用了高于8的新内容。就不能用8去运行了。

1.3 Java语言的分类

  • JavaSE: Java 语言的(标准版),用于桌面应用的开发,是其他两个版本的基础。

  • JavaME: Java 语言的(小型版),用于嵌入式消费类电子设备,现在不用了。

  • JavaEE: Java 语言的(企业版),用于 Web 方向的网站开发。网站的简单理解= 网页+后台服务器

1.4 Java语言的特点

1.4.1 先编译再解释运行

1.4.2 跨平台

  • 平台:指的是操作系统(Windows,Linux,Mac)

  • 跨平台:Java程序一次编译之后,可以在任意操作系统上运行。

  • 原理:实现跨平台需要依赖Java的虚拟机 JVM (Java Virtual Machine)。 JVM相当于翻译官。

1.5 JREJDK(记忆)

  • JRE(Java Runtime Environment),Java运行时环境,包含了JVM和Java的核心类库(Java API)。

  • 类库:java类的仓库,里面装的是java提供的写好Java类,我们只需要拿来直接使用。

  • JDK(Java Development Kit)称为Java开发工具,包含了JRE和开发工具

  • 开发工具:主要有二个,javac.exe 编译工具 java.exe 运行工具

JDK、JRE、JVM三者的包含关系?

1.6 JDK的下载和安装(应用)

1.6.1 下载

通过官方网站获取:JDKhttp://www.oracle.com

​注意:针对不同的操作系统,需要下载对应版本的JDK。

下面的链接是 oracle 官网对所有版本的 jdk 下载的归档地址。
Java Archive | Oracle

1.6.2 安装

傻瓜式安装,下一步即可。但默认的安装路径是在C:\Program Files下,为方便统一管理建议修改安装路径,将与开发相关的软件都安装到一个目录下,例如:D:\develop 或者D:\soft

注意:安装路径不要包含中文或者空格等特殊字符(使用纯英文目录)。

扩展:一个电脑上可以安装多个不同版本的JDK,我们这里安装一个JDK8和一个JDK12.其中JDK12用于我们JavaSe阶段学习使用,JDK8用于JavaSe后续阶段使用。

1.6.3 JDK的安装目录介绍

1.7 常用DOS命令(了解)

DOS:DOS是微软在window操作系统之前推出的一款操作系统,在我们现在的window系统中一直保留。

DOS命令:DOS操作系统是命令行式的,跟我们window可视化不一样,我们需要通过命令来完成各种操作。

为什么要学习DOS命令:javac.exe java.exe 直接双击不能运行 需要在DOS下进行运行。

  • 进入DOS窗口的方式:win + r打开运行窗口,输入cmd,回车。

  • 快捷进入cmd窗口方式

常用命令及其作用

1.8 Path环境变量的配置(应用)

开发Java程序,需要使用JDK提供的开发工具(比如javac.exe、java.exe等命令),而这些工具在JDK的安装目录的bin目录下,如果不配置环境变量,那么这些命令只可以在该目录下执行。我们不可能把所有的java文件都放到JDK的bin目录下,所以配置环境变量的作用就是在任意目录下使用jdk的bin目录下的java相关命令。

1.8.1 为什么配置环境变量?

在系统变量中添加一个名称叫JAVA_HOME的环境变量,JAVA_HOME=jdk的安装目录。如上图。

​为什么叫这个名字?因为web阶段我们要用到一个tomcat服务器,它是java语言开发的,它启动的时候会找一个叫JAVA_HOME的环境变量,如果找不到就报错

添加完JAVA_HOME之后,我们对path进行修改,在最前面加上%JAVA_HOME%\bin。

怎样验证配置成功?: 一定要注意新开一个dos窗口

打开一个dos窗口后 在任意目录下输入javac 出来如下效果则表示配置成功。

2. Java基础语法

2.1 注释(理解)

​注释是一段对代码的解释说明文字,可以提高程序的可读性,因此在程序中添加必要的注释文字十分重要。

Java中的注释分为三种:单行注释。单行注释的格式是使用//,从//开始至本行结尾的文字将作为注释文字。

// 这是单行注释文字

多行注释。多行注释的格式是使用/* 和 */将一段较长的注释括起来。多行注释使用是注意不要嵌套使用。

/*
这是多行注释文字
这是多行注释文字
这是多行注释文字
*/

文档注释。文档注释以/**开始,以*/结束。

2.2 关键字(理解)

  • ​​ 关键字的字母全部小写。

  • 常用的代码编辑器对关键字都有高亮显示,比如现在我们能看到的public、class、static等。

补充:保留字:goto const 目前的java版本没有使用,但是后续的java版本有可能作为关键字使用,作为保留,我们定义标识符的时候不能使用。

2.3 常量(应用)

常量:在程序运行过程中,其值不可以发生改变的量。

2.4 数据类型(应用)

我们知道计算机中用来存储数据的设备有内存和硬盘,其中内存是用来对数据进行临时存储的,硬盘是用来对数据进行永久存储的。那它们的最小存储单位是“位(bit)”,我们又称之为“比特位”,通常用小写的字母”b”表示。

而计算机中最基本的存储单元叫“字节(byte)”,通常用大写字母”B”表示,字节是由连续的8个位组成。

除了字节外还有一些常用的存储单位,其换算单位如下:

1B(字节) = 8bit

1KB = 1024B

1MB = 1024KB

1GB = 1024MB

1TB = 1024GB

2.5 变量(应用)

变量:在程序运行过程中,其值可以发生改变的量。

数据类型 变量名 = 数据值; // 声明变量并赋值
int age = 18;
或者

// 先声明,后赋值(使用前赋值即可)
数据类型 变量名;
变量名 = 数据值;
double money;
money = 55.5;
System.out.println(money);
或者
int a = 10, b = 20; // 定义int类型的变量a和b,中间使用逗号隔开
System.out.println(a);
System.out.println(b);

总结:通常采用第一种方式来定义变量。

变量的修改

变量前面不加数据类型时,表示修改已存在的变量的值。

2.6 标识符(理解)

标识符是指在代码中,给类、方法、变量、常量等取的名字。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/600472.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Redis(持久化)

文章目录 1.RDB1.介绍2.RDB执行流程3.持久化配置1.Redis持久化的文件是dbfilename指定的文件2.配置基本介绍1.进入redis配置文件2.搜索dbfilename,此时的dump.rdb就是redis持久化的文件3.搜索dir,每次持久化文件,都会在启动redis的当前目录下…

智能实训-wheeltec小车-抓取(源代码)

语言 :C 源代码&#xff1a; #include <ros/ros.h> #include <image_transport/image_transport.h> #include <cv_bridge/cv_bridge.h> #include <sensor_msgs/image_encodings.h> #include <sensor_msgs/JointState.h> #include <geometry…

leetcode17. 电话号码的字母组合

题目描述&#xff1a; 给定一个仅包含数字 2-9 的字符串&#xff0c;返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下&#xff08;与电话按键相同&#xff09;。注意 1 不对应任何字母。 示例 1&#xff1a; 输入&#xff1a;digits "…

产品需求文档怎么写?超详细的产品需求文档PRD模板来了!

产品需求文档怎么写&#xff1f;如何写一份简洁明了、外行人看了就能秒懂的产品需求文档呢&#xff1f;今天这篇文章&#xff0c;就来和大家分享如何编写一份高质量的产品需求文档 PRD&#xff01; 下图是来自 boardmix 模板社区的「产品需求文档」模板&#xff0c;它给出了一…

Verilog刷题笔记47

题目&#xff1a; From a 1000 Hz clock, derive a 1 Hz signal, called OneHertz, that could be used to drive an Enable signal for a set of hour/minute/second counters to create a digital wall clock. Since we want the clock to count once per second, the OneHer…

SpringBoot+Vue+Element-UI实现在线外卖系统

前言介绍 随着科学技术的飞速发展&#xff0c;各行各业都在努力与现代先进技术接轨&#xff0c;通过科技手段提高自身的优势社会的发展和科学技术的进步&#xff0c;互联网技术越来越受欢迎。网络计算机的生活方式逐渐受到广大人民群众的喜爱&#xff0c;也逐渐进入了每个用户的…

【计算机科学速成课】笔记三——操作系统

文章目录 18.操作系统问题引出——批处理设备驱动程序多任务处理虚拟内存内存保护Unix 18.操作系统 问题引出—— Computers in the 1940s and early 50s ran one program at a time. 1940,1950 年代的电脑&#xff0c;每次只能运行一个程序 A programmer would write one at…

北京大学-知存科技存算一体联合实验室揭牌,开启知存科技产学研融合战略新升级

5月5日&#xff0c;“北京大学-知存科技存算一体技术联合实验室”在北京大学微纳电子大厦正式揭牌&#xff0c;北京大学集成电路学院院长蔡一茂、北京大学集成电路学院副院长鲁文高及学院相关负责人、知存科技创始人兼CEO王绍迪、知存科技首席科学家郭昕婕博士及企业研发相关负…

vivado Versal ACAP 可编程器件镜像 (PDI) 设置

Versal ACAP 可编程器件镜像 (PDI) 设置 下表所示 Versal ACAP 器件的器件配置设置可搭配 set_property <Setting> <Value> [current_design] Vivado 工具 Tcl 命令一起使用。 注释 &#xff1a; 在 Versal ACAP 架构上 &#xff0c; 原先支持将可编程器…

408算法题专项-2009年

题目&#xff1a; 分析&#xff1a;09年的链表题目比较简单&#xff0c;直接构建链表&#xff0c;然后根据不同思路模拟即可。 思路一&#xff1a;循环遍历 思考&#xff1a;最容易想到的思路&#xff0c;直接暴力循环。偷了一下懒&#xff0c;变量名称没用题目的&#xff0c;…

力扣每日一题105:从前序与中序序列构造二叉树

题目 给定两个整数数组 preorder 和 inorder &#xff0c;其中 preorder 是二叉树的先序遍历&#xff0c; inorder 是同一棵树的中序遍历&#xff0c;请构造二叉树并返回其根节点。 示例 1: 输入: preorder [3,9,20,15,7], inorder [9,3,15,20,7] 输出: [3,9,20,null,null,1…

语音识别--kNN语音指令识别

⚠申明&#xff1a; 未经许可&#xff0c;禁止以任何形式转载&#xff0c;若要引用&#xff0c;请标注链接地址。 全文共计3077字&#xff0c;阅读大概需要3分钟 &#x1f308;更多学习内容&#xff0c; 欢迎&#x1f44f;关注&#x1f440;【文末】我的个人微信公众号&#xf…

硬盘惊魂!文件夹无法访问怎么办?

在数字时代&#xff0c;数据的重要性不言而喻。然而&#xff0c;有时我们会遇到一个令人头疼的问题——文件夹提示无法访问。当你急需某个文件夹中的文件时&#xff0c;却被告知无法打开&#xff0c;这种感受真是难以言表。今天&#xff0c;我们就来深入探讨这个问题&#xff0…

第六代移动通信介绍、无线网络类型、白皮书

关于6G 即第六代移动通信的介绍&#xff0c; 图解通信原理与案例分析-30&#xff1a;6G-天地互联、陆海空一体、全空间覆盖的超宽带移动通信系统_6g原理-CSDN博客文章浏览阅读1.7w次&#xff0c;点赞34次&#xff0c;收藏165次。6G 即第六代移动通信&#xff0c;6G 将在5G 的基…

VTK —— 三、简单操作 - 示例3 - 将点投影到平面上(附完整源码)

代码效果 本代码编译运行均在如下链接文章生成的库执行成功&#xff0c;若无VTK库则请先参考如下链接编译vtk源码&#xff1a; VTK —— 一、Windows10下编译VTK源码&#xff0c;并用Vs2017代码测试&#xff08;附编译流程、附编译好的库、vtk测试源码&#xff09; 教程描述 本…

Day 63:单调栈 LeedCode 84.柱状图中最大的矩形

84. 柱状图中最大的矩形 给定 n 个非负整数&#xff0c;用来表示柱状图中各个柱子的高度。每个柱子彼此相邻&#xff0c;且宽度为 1 。 求在该柱状图中&#xff0c;能够勾勒出来的矩形的最大面积。 示例 1: 输入&#xff1a;heights [2,1,5,6,2,3] 输出&#xff1a;10 解释&a…

MySQL表的增删改查

在进行表操作之前,一定要use选中数据库 注释&#xff1a;在SQL中可以使用 --空格描述 来表示注释说明 CRUD 即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)四个单词的首字母。 文章目录 数据库约束约束类型NOT NULL约束UNIQUE&#xff1a;唯一约束DEFAULT&…

【计算机科学速成课】笔记三

文章目录 17.集成电路真空管时代晶体管时代集成电路时代印刷电路板时代光刻时代 17.集成电路 Over the past six episodes, we delved into software, 过去 6 集我们聊了软件 \N 从早期编程方式到现代软件工程 from early programming efforts to modern software engineerin…

synchronized与volatile关键字

1.synchronized的特性 1.1互斥 synchronized 会起到互斥效果, 某个线程执行到某个对象的 synchronized 中时, 其他线程如果也执行到 同一个对象 synchronized 就会阻塞等待. 进入 synchronized 修饰的代码块, 相当于 加锁 退出 synchronized 修饰的代码块, 相当于 解锁 syn…

游戏辅助 -- 实战找人物对象基址

本节课在线学习视频&#xff1a; https://pan.quark.cn/s/3e83f4568031 一、打开CE工具&#xff0c;加载游戏进程 二、搜索人物血量144&#xff0c;选择首次扫描 三、进入游戏&#xff0c;让人物血量发生变化&#xff0c;搜索减少的数值 四、发现绿色的数值&#xff0c;一般绿…