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 标识符(理解)

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

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SAP 【MM】移动类型的科目确定<转载>

原文链接:https://blog.csdn.net/zhongguomao/article/details/134387102 移动类型的科目确定 SAP中支持控制不同移动类型所确定的总分类帐科目和账户分配,同时也支持控制用户能否改变总分类帐科目和账户分配默认值。 1、控制能否手动输入总分类帐科目…

Golang | Leetcode Golang题解之第74题搜索二维矩阵

题目&#xff1a; 题解&#xff1a; func searchMatrix(matrix [][]int, target int) bool {m, n : len(matrix), len(matrix[0])i : sort.Search(m*n, func(i int) bool { return matrix[i/n][i%n] > target })return i < m*n && matrix[i/n][i%n] target }

一起刷C语言菜鸟教程100题(15-26含解析)

五一过的好快&#xff0c;五天假期说没就没&#xff0c;因为一些事情耽搁到现在&#xff0c;不过还是要继续学习的&#xff0c;之后就照常更新&#xff0c;先说一下&#xff0c;这个100题是菜鸟教程里面的&#xff0c;但是有一些题&#xff0c;我加入了自己的理解&#xff0c;甚…

责任链模式和观察者模式

1、责任链模式 1.1 概述 在现实生活中&#xff0c;常常会出现这样的事例&#xff1a;一个请求有多个对象可以处理&#xff0c;但每个对象的处理条件或权限不同。例如&#xff0c;公司员工请假&#xff0c;可批假的领导有部门负责人、副总经理、总经理等&#xff0c;但每个领导…

第80天:WAF 攻防-漏洞利用HPP 污染分块传输垃圾数据

案例一&#xff1a;安全狗-SQL 注入-知识点 正常访问会被拦截 like绕过 对比成功&#xff0c;正常返回 对比失败&#xff0c;不返回 post绕过 这里需要支持post注入。这里是我自己改的REQUEST 这里其实安全狗可以开启post验证&#xff0c;看别人知不知道能开启了 过滤了 模拟…

贪心算法应用例题

最优装载问题 #include <stdio.h> #include <algorithm>//排序int main() {int data[] { 8,20,5,80,3,420,14,330,70 };//物体重量int max 500;//船容最大总重量int count sizeof(data) / sizeof(data[0]);//物体数量std::sort(data, data count);//排序,排完数…

荟敏堂·中医优势专科建设新质生产力发展论坛在京召开

原题&#xff1a;《荟敏堂中医优势专科建设新质生产力发展论坛在京召开——周超凡中医治则学思想传承研讨会成功举办》 会议现场照片 仟江水商业电讯&#xff08;5月8日 北京 委托发布&#xff09;日前&#xff0c;周超凡中医治则学思想传承研讨会暨中医优势专科建设新质生产力…

QT实现Home框架的两种方式

在触摸屏开发QT界面一般都是一个Home页面&#xff0c;然后button触发进入子页面显示&#xff0c;下面介绍这个home框架实现的两种方式&#xff1a; 1.方式一&#xff1a;用stackedWidget实现 &#xff08;1&#xff09;StackedWidget控件在Qt框架中是一个用于管理多个子窗口或…

数据挖掘流程是怎样的?数据挖掘平台基本功能有哪些?

数据挖掘是从大量的、不完全的、有噪声的、模糊的、随机的数据中提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。 数据挖掘的流程是&#xff1a; 清晰地定义出业务问题&#xff0c;确定数据挖掘的目的。 数据准备: 数据准备包括&am…

记一次java进程频繁挂掉问题排查修复

前言 最近业务部门有个java服务进程会突然无缘无故的挂掉&#xff0c;然后这个服务会产生一堆类似hs_err_pid19287.log这样的日志。业务部门负责人就把hs_err_pidxxx的日志发给我&#xff0c;让我帮忙看下问题。本文就来回顾一下&#xff0c;我是如何帮业务部门进行问题排查 …

PyGame 文字显示问题及解决方法

在 Pygame 中显示文字时可能会遇到一些问题&#xff0c;例如文字显示不清晰、字体不正确或者文字位置不准确等。以下是一些常见的问题及其解决方法&#xff0c;具体情况可以看看情况。 1、问题背景 一位用户在使用 PyGame 库进行游戏开发时&#xff0c;遇到了一个问题&#xf…

Chromium编译指南2024 Windows11篇-GN 工具生成构建文件(六)

前言 在《Chromium编译指南2024&#xff08;五&#xff09;》我们已经获取了 Chromium 的源代码并且同步了相关的第三方依赖。 现在&#xff0c;我们将进一步学习如何使用 GN 工具生成构建文件&#xff0c;为后续的编译工作做好准备。 1. 使用gn工具生成构建文件 再次在Win…

第一个C++项目

文章目录 一、新建项目1.打开软件&#xff0c;选择“创建新项目”2.新建项目栏中&#xff0c;按自己的需求来设置项目模板&#xff0c;项目名称和文件存放位置&#xff0c;设置好后点击“确认”3. 点击“Next”4. 按照自己需求设置&#xff0c;设置完后&#xff0c;点击“Next”…

R语言【Tidyverse、Tidymodel】机器学习

机器学习已经成为继理论、实验和数值计算之后的科研“第四范式”&#xff0c;是发现新规律&#xff0c;总结和分析实验结果的利器。机器学习涉及的理论和方法繁多&#xff0c;编程相当复杂&#xff0c;一直是阻碍机器学习大范围应用的主要困难之一&#xff0c;由此诞生了Python…

《ESP8266通信指南》12-Lua 固件烧录

往期 《ESP8266通信指南》11-Lua开发环境配置-CSDN博客 《ESP8266通信指南》10-MQTT通信&#xff08;Arduino开发&#xff09;-CSDN博客 《ESP8266通信指南》9-TCP通信&#xff08;Arudino开发&#xff09;-CSDN博客 《ESP8266通信指南》8-连接WIFI&#xff08;Arduino开发…

Python数据分析案例44——基于模态分解和深度学习的电负荷量预测(VMD+BiGRU+注意力)

案例背景 承接之前的案例&#xff0c;说要做模态分解加神经网络的模型的&#xff0c;前面纯神经网络的缝合模型参考数据分析案例41和数据分析案例42。 虽然我自己基于各种循环神经网络做时间序列的预测已经做烂了.....但是还是会有很多刚读研究生或者是别的领域过来的小白来问…

Java集合 总结篇(全)

Java集合 集合底层框架总结 List 代表的有序&#xff0c;可重复的集合。 ArrayList -- 数组 -- 把他想象成C中的Vector就可以&#xff0c;当数组空间不够的时候&#xff0c;会自动扩容。 -- 线程不安全 LinkedList -- 双向链表 -- 可以将他理解成一个链表&#xff0c;不支持…

广州工业冷风机在通风降温的优点

工业冷风机在通风降温方面具有一些显著的优点&#xff0c;以下是对其优点的分析&#xff1a; 优点&#xff1a; 高效降温&#xff1a;工业冷风机采用水蒸发原理&#xff0c;通过将热空气经过湿帘或水幕冷却&#xff0c;迅速降低空气温度&#xff0c;具有高效降温的特点。成本…

DCEP数字人民币:中国法定区块链中数字货币

一、背景 作为全球第二大经济体&#xff0c;中国在数字货币领域的发展一直备受关注。近年来&#xff0c;中国政府积极推动数字货币的研究和试点工作&#xff0c;逐步开放数字货币交易试点&#xff0c;并计划推出中国唯一合法数字货币——数字人民币&#xff08;RMB Coin&#…

47.Redis学习笔记

小林coding -> 图解redis的学习笔记 文章目录 Rediswindwos安装docker安装redis启动redis使用RDM访问虚拟机中的redispython连接redis缓存穿透、击穿、雪崩基本数据类型高级数据类型高并发指标布隆过滤器分布式锁Redis 的有序集合底层为什么要用跳表&#xff0c;而不用平衡…