当前位置:网站首页 > Java基础 > 正文

java入坟教程



  • Java语言的发展历史
  • 安装JDK
  • 配置环境变化
  • 编写HelloWorld程序
  • Java注释
  • Java关键字
  • 标识符
  • 常量
  • 变量
  • Java基本数据类型
  • 能够使用常见的DOS命令
  • 理解Java语言的跨平台实现原理
  • 理解JDK/JRE/JVM的组成和作用
  • 能够配置环境变量JAVA_HOME(会参照笔记配置)
  • 能够编写HelloWorld程序编译并执行
  • 会使用单行注释和多行注释
  • 能够辨识关键字
  • 理解标识符的含义
  • 理解Java中的基本数据类型分类
  • 能够理解常量的概念
  • 能够定义8种基本数据集类型的变量
  • 能够分清楚两种输出语句的区别
  • 第一部分:计算机编程语言核心结构:数据类型、运算符、流程控制、数组、…
  • 第二部分:Java面向对象核心逻辑:类和对象、封装、继承、多态、抽象、接口、…
  • 第三部分:JavaSE核心高级应用:集合、I/O、多线程、网络编程、反射机制、…
  • 第四部分:Java新特性:Lambda表达式、函数式编程、新Date/Time API、接口的默认、静态和私有方法、…
  • 第五部分:MySQL/JDBC核心技术:SQL语句、数据库连接池、DBUtils、事务管理、批处理、…

所谓计算机编程语言,就是人们可以使用编程语言对计算机下达命令,让计算机完成人们需要的功能。

·第一代语言:机器语言(相当于人类的原始阶段)
机器语言由数字组成所有指令。当让你使用数字编程,写几百个数字、甚至几千个数字,每天面对的是纯数字,我大胆预测:“程序员群体100%会有精神问题”。
机器语言通常由数字串组成(最终被简化成01),对于人类来说,机器语言过于繁琐。使用机器语言,人类无法编出复杂的程序。如下为一段典型的机器码:
1. 0000,0000,000000010000 代表 LOAD A, 16
2. 0000,0001,000000000001 代表 ADD B, 1
3. 0001,0001,000000010000 代表 STORE C, 16
·第二代语言:汇编语言(相当于人类的手工业阶段)
为了编程的方便,以及解决更加复杂的问题。程序员开始改进机器语言,使用英文缩写的助记符来表示基本的计算机操作。这些助记符构成了汇编语言的基础。如下是一些常见的汇编语言助记符(单词)比如:LOAD、MOVE之类,这样人更容易使用了。识别几百、几千个单词,感觉要比几百几千个数字,美妙多了。汇编语言相当于人类的手工业社会,需要技术极其娴熟的工匠,但是开发效率也非常低。
汇编语言虽然能编写高效率的程序,但是学习和使用都不是易事,并且很难调试。另一个复杂的问题,汇编语言以及早期的计算机语言(Basic、Fortran等)没有考虑结构化设计原则,而是使用goto语句来作为程序流程控制的主要方法。这样做的后果是:一大堆混乱的调转语句使得程序几乎不可能被读懂。对于那个时代的程序员,能读懂上个月自己写的代码都成为一种挑战。
汇编语言仍然应用于工业电子编程领域、软件的加密解密、计算机病毒分析等。
·第三代:高级语言(相当于人类的工业阶段)
对于简单的任务,汇编语言可以胜任。但是随着计算机的发展,渗透到了工作生活的更多的方面,一些复杂的任务出现了,汇编语言就显得力不从心(应该说是程序员使用汇编语言解决复杂问题出现了瓶颈)。于是,出现了高级语言。像我们熟知的C、C++、Java等等都是高级语言。
高级语言允许程序员使用接近日常英语的指令来编写程序。例如,实现一个简单的任务:A+B=C 。


































三代计算机语言的直观对比

从上面这个简单的加法计算,可以看出越到高级语言,越接近人的思维,人使用起来就越方便。
高级语言的出现,尤其是面向对象语言的出现,相当于人类的工业社会,高级语言极其易用,编程门槛和难度大大降低,大量的人员进入软件开发行业,为软件爆发性的增长提供了充足的人力资源。目前以及可预见的将来,计算机语言仍然处于“第三代高级语言”阶段。

Java是目前应用最为广泛的软件开发平台之一。随着Java以及Java社区的不断壮大,Java 也早已不再是简简单单的一门计算机语言了,它更是一个平台、一种文化、一个社区。
作为一个平台,Java虚拟机扮演着举足轻重的作用。除了 Java语言,任何一种能够被编译成字节码的计算机语言都属于Java这个平台。Groovy、Scala、 JRuby、Kotlin等都是Java平台的一部分,它们依赖于Java虚拟机,同时,Java平台也因为它们变得更加丰富多彩。
作为一种文化,Java几乎成为了 “开源”的代名词。在Java程序中,有着数不清的开源软件和框架。如Tomcat、Struts, Hibernate, Spring等。就连JDK和JVM自身也有不少开源的实现,如OpenJDK、Apache Harmony。可以说,“共享”的精神在Java世界里体现得淋漓尽致。
作为一个社区,Java拥有全世界最多的技术拥护者和开源社区支持,有数不清的论坛和资料。从桌面应用软件、嵌入式开发到企业级应用、后台服务器、中间件,都可以看到Java的身影。其应用形式之复杂、参与人数之众多也令人咋舌。可以说,Java社区已经俨然成为了一个良好而庞大的生态系统。其实这才是Java最大的优势和财富。







不是,因为在每个领域都有更合适的编程语言。

  • C 语言无疑是现代计算机软件编程语言的王者,几乎所有的操作系统都是 C 语言写成的。C++ 是面向对象的 C 语言,一直在不断的改进。
  • JavaScript 是能运行在浏览器中的语言,丰富的前端界面离不开 Javascript 的功劳。近年来的 Node.js 又在后端占有一席之地。
  • Python 用于系统管理,并通过高性能预编译的库,提供 API 来进行科学计算,文本处理等,是 Linux 必选的解释性语言。
  • Ruby 强于 DSL(领域特定语言),程序员可以定义丰富的语义来充分表达自己的思想。
  • Erlang 就是为分布式计算设计的,能保证在大规模并发访问的情况下,保持强壮和稳定性。
  • Go 语言内置了并发能力,可以编译成本地代码。当前新的网络相关项目,很大比例是由 Go 语言编写的,如 Docker、Kubernetes 等。
  • 编写网页用 PHP,函数式编程有 Lisp,编写 iOS 程序有 Swift/Objective-C。
  • R的思想是:它可以提供一些集成的统计工具,但更大量的是它提供各种数学计算、统计计算的函数,从而使使用者能灵活机动的进行数据分析,甚至创造出符合需要的新的统计计算方法
  • SQL 是用于访问和处理数据库的标准的计算机语言, 这类数据库包括:MySQL,Oracle, Sybase, SQL Server, DB2, Access 等等

一句话概括,能留在排行榜之上的语言,都是好的语言,在其所在的领域能做到最好。

发行版本 发行时间 备注 Java 1995.05.23 Sun公司在Sun world会议上正式发布Java和HotJava浏览器 Java 1.0 1996.01.23 Sun公司发布了Java的第一个开发工具包 Java 1.1 1997.02.19 Java 1.2 1998.12.08 拆分成:J2SE(标准版)、J2EE(企业版)、J2ME(小型版) Java 1.3 2000.05.08 Java1.4 2004.02.06 Java 5.0 2004.09.30 ①版本号从1.4直接更新至5.0;②平台更名为JavaSE、JavaEE、JavaME Java 6.0 2006.12.11 2009.04.20 Oracle宣布收购SUN公司 Java 7.0 2011.07.02 Java 8.0 2014.03.18 Java 9.0 2017.09.22 ①每半年更新一次;②Java 9.0开始不再支持windows 32位系统 Java 10.0 2018.03.21 Java 11.0 2018.09.25 JDK安装包取消独立JRE安装包 Java 12.0 2019.03.19 Java 13.0 2019.9.18
  • JavaSE(Java Platform, Standard Edition标准版):允许您在桌面和服务器上开发和部署Java应用程序。Java提供了丰富的用户界面、性能、多功能性、可移植性和当今应用程序所需的安全性。
  • JavaEE(Java Platform, Enterprise Edition企业版):是为开发企业环境下的应用程序提供的一套解决方案,主要针对于Web应用程序开发。
  • JavaME(Java Platform, Micro Edition 小型版):为互联网上的嵌入式和移动设备上运行的应用提供了一个健壮、灵活的环境:微控制器、传感器、网关、移动电话、个人数字助理(PDA)、电视机顶盒、打印机等等。JavaME包括灵活的用户界面、健壮的安全性、内置的网络协议,以及支持动态下载的网络和离线应用程序。基于JavaME的应用程序在许多设备上都是可移植的,但是利用了每个设备的本机功能。
    • Java Embedded: 用于解锁物联网的智能设备的价值:通过远程市场更新和刷新功能延长产品生命周期和价值;利用Java的可伸缩性、健壮性、可移植性和全套功能,提高生产效率,降低成本,缩短上市时间;在边缘启用快速数据功能;
    • Java Card:使安全元件(如智能卡和其他防篡改安全芯片)能够承载采用Java技术的应用程序。Java card提供了一个安全的、可互操作的执行平台,它可以在一个资源受限的设备上存储和更新多个应用程序,同时保持最高的认证级别和与标准的兼容性。
    • Java TV:是一种基于JavaME的技术,它为开发在tv和机顶盒设备上运行的java应用程序提供了一个性能良好、安全且易于实现的解决方案。使用Java TV运行时,开发人员可以轻松创建应用程序,例如电子节目指南(EPG)、视频点播(VOD)客户端、游戏和教育应用程序、用于访问Internet数据的应用程序(例如天气、新闻播报器、社交网络)以及大多数蓝光光盘标题上的用户界面和奖金内容。
  • 完全面向对象:Java语言支持封装、继承、多态,面向对象编程,让程序更好达到高内聚,低耦合的标准。
  • 支持分布式:Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
  • 健壮型:Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。
  • 安全:Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。如:安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查。
  • 跨平台性:Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行。
  • 跨平台:任何软件的运行,都必须要运行在操作系统之上,而我们用Java编写的软件可以运行在任何的操作系统上,这个特性称为Java语言的跨平台特性。该特性是由JVM实现的,我们编写的程序运行在JVM上,而JVM运行在操作系统上。
  • JVM(Java Virtual Machine ):Java虚拟机,简称JVM,是运行所有Java程序的假想计算机,是Java程序的运行环境之一,也是Java 最具吸引力的特性之一。我们编写的Java代码,都运行在JVM 之上。
  • JRE (Java Runtime Environment) :是Java程序的运行时环境,包含JVM 和运行时所需要的核心类库。
  • JDK (Java Development Kit):是Java程序开发工具包,包含JRE 和开发人员使用的工具。
  • 下载网址:www.oracle.com
  • 下载步骤:
  •  
        
    • 登录Oracle公司官网,www.oracle.com,如图所示:在底部选择Developers开发者
    • Developers页面中间的技术分类部分,选择Java,单击进入,如图所示:image.png
    • 下拉页面,找到Java,在此选择JavaSEDownload,单击进入,如图所示:
    • 选择Downloads选项卡,默认是最新版的Java13下载,在此处选择Oracle JDK DOWNLOAD,单击进入可以下载JDK13,如图所示:

image.png
选择Accept License Agreement,并选择对应的操作系统类型,如图所示
image.png




  • 如果要下载之前JDK版本,那么在刚才JavaSE/Download页面,下拉到最下面,找到Java Archive(Java档案馆),单击Download

image.png
image.png
例如:这里选择JavaSE 8(8U211 and later),选择Accept License Agreement,并选择对应的操作系统类型。早期版本分为32位/64位操作系统区分,其中x86表示32位,x64表示64位。
image.png







  • 安装步骤:
    • 双击jdk-8u202-windows-x64.exe文件,并单击下一步,如图所示:image.png
    • 取消独立JRE的安装,单击公共JRE前的下拉列表,选择此功能将不可用如图所示:image.png
    • 修改安装路径,单击更改,如图所示:image.png
    • 将安装路径修改为D:developJavajdk1.8.0_202,并单击确定,如图所示:image.png
    • 单击下一步,如图所示:image.png
    • 稍后几秒,安装完成,如图所示:image.png
    • 目录结构,如图所示:image.png
  • 按下Windows+R键,打开运行窗口,输入cmd回车,进入到DOS的操作窗口。image.png
  • 打开DOS命令行后,看到一个路径 C:Users... 就表示我们现在操作的磁盘是C盘的Users的final目录。

进入目录命令:cd

切换盘符命令

查看当前目录下有什么命令:dir

image.png
image.png

新建目录命令:md (make directory)

删除文件命令:del

删除目录命令:rd(remove directory)

清屏命令:cls

cls

退出命令:exit

exit

  • 步骤:
    • 打开桌面上的计算机,进入后在左侧找到计算机,单击鼠标右键,选择属性,如图所示:
    • 选择高级系统设置,如图所示:
    • 在高级选项卡,单击环境变量,如图所示:
    • 在系统变量中,选中Path 环境变量,双击或者点击编辑 ,如图所示:
    • 在变量值的最前面,键入D:developJavajdk1.8.0_202bin; 分号必须要写,而且还要是英文符号。如图所示:

image.png

  • 环境变量配置完成,重新开启DOS命令行,在任意目录下输入javac 命令,运行成功。
  • 步骤:
    • 打开桌面上的计算机,进入后在左侧找到计算机,单击鼠标右键,选择属性,如图所示:

image.png

  • 选择高级系统设置,如图所示:image.png
  • 在高级选项卡,单击环境变量,如图所示:

image.png

  • 在系统变量中,单击新建 ,创建新的环境变量,如图所示:

image.png

  • 变量名输入JAVA_HOME,变量值输入 D:developJavajdk1.8.0_202 ,并单击确定,如图所示:

image.png

  • 选中Path 环境变量,双击或者点击编辑 ,如图所示:

image.png

  • 在变量值的最前面,键入%JAVA_HOME%bin; 分号必须要写,而且还要是英文符号。如图所示:

image.png

  • 环境变量配置完成,重新开启DOS命令行,在任意目录下输入javac 命令,运行成功。

程序开发步骤说明

编写Java源程序

  1. 在D:atguiguday01_code 目录下新建文本文件,完整的文件名修改为HelloWorld.java,其中文件名为HelloWorld,后缀名必须为.java 。
  2. 用记事本或notepad++等文本编辑器打开
  3. 在文件中键入文本并保存,代码如下:
 
  

运行Java程序

在DOS命令行中,进入Java源文件的目录,使用java 命令进行运行。
命令:
java 类名字
举例:
java HelloWorld
友情提示:
java HelloWord 不要写 不要写 不要写 .class

Java字节码文件的运行工具:java.exe






















  • 单词拼写问题
    • 正确:class 错误:Class
    • 正确:String 错误:string
    • 正确:System 错误:system
    • 正确:main 错误:mian
  • Java语言是一门严格区分大小写的语言
  • 标点符号使用问题
    • 不能用中文符号,英文半角的标点符号(正确)
    • 括号问题,成对出现

}

  • 注释:就是对代码的解释和说明。其目的是让人们能够更加轻松地了解代码。为代码添加注释,是十分必须要的,它不影响程序的编译和运行。
  • Java中有单行注释、多行注释和文档注释
    • 单行注释以 //开头,以换行结束,格式如下: // 注释内容
    • 多行注释以 /开头,以/结束,格式如下: /*
      注释内容
      */




    • 文档注释以/开头,以*/结束 /
      注释内容
      */




关键字:是指在程序中,Java已经定义好的单词,具有特殊含义。

  • HelloWorld案例中,出现的关键字有 public 、class 、 static 、 void 等,这些单词已经被Java定义好
  • 关键字的特点:全部都是小写字母。
  • 关键字比较多,不需要死记硬背,学到哪里记到哪里即可。


关键字一共50个,其中const和goto是保留字。
true,false,null看起来像关键字,但从技术角度,它们是特殊的布尔值和空值。




Java的数据类型分为两大类:

  • 基本数据类型:包括 整数、浮点数、字符、布尔。
  • 引用数据类型:包括 类、数组、接口。

  • 常量:在程序执行的过程中,其值不可以发生改变的量
  • 常量的分类:
    • 自定义常量:通过final关键字定义(后面在面向对象部分讲解)
    • 字面值常量:
 
  

注意事项:字符常量,单引号里面有且仅有一个字符空常量,不可以在输出语句中直接打印

字面值常量 举例 字符串常量 ”HelloWorld“ 整数常量 12,-23 浮点常量 12.34 字符常量 ‘a’,’0’,‘我’ 布尔常量 true,false 空常量 null

变量:在程序执行的过程中,其值可以发生改变的量
变量的作用:用来存储数据,代表内存的一块存储区域,这块内存中的值是可以改变的。

 
  
 
  

(2)计算

 
  
 
  

long类型:如果赋值的常量整数超过int范围,那么需要在数字后面加L。
float类型:如果赋值为常量小数,那么需要在小数后面加F。
char类型:使用单引号''
String类型:使用双引号""







  • 换行输出语句:输出内容,完毕后进行换行,格式如下: System.out.println(输出内容);
  • 直接输出语句:输出内容,完毕后不做任何处理,格式如下 System.out.print(输出内容);

示例代码:

 
  

  • 上一篇: java教程可以自学么
  • 下一篇: Java教程项目
  • 版权声明


    相关文章:

  • java教程可以自学么2025-10-23 22:18:00
  • java 游戏编程开发教程2025-10-23 22:18:00
  • java ee eclipse安装教程2025-10-23 22:18:00
  • java书单教程2025-10-23 22:18:00
  • java 教程有哪些2025-10-23 22:18:00
  • Java教程项目2025-10-23 22:18:00
  • java7安装教程2025-10-23 22:18:00
  • java教程哪个讲得好2025-10-23 22:18:00
  • java教程知乎2025-10-23 22:18:00
  • 软件java开发教程2025-10-23 22:18:00