• JavaSE_day01【Java概述、环境搭建、标识符、变量、基本数据类型】


    JavaSE_day01【Java基础语法】

    今日内容

    • Java语言的发展历史
    • 安装JDK
    • 配置环境变化
    • 编写HelloWorld程序
    • Java注释
    • Java关键字
    • 标识符
    • 常量
    • 变量
    • Java基本数据类型

    学习目标

    • 能够使用常见的DOS命令
    • 理解Java语言的跨平台实现原理
    • 理解JDK/JRE/JVM的组成和作用
    • 能够配置环境变量JAVA_HOME(会参照笔记配置)
    • 能够编写HelloWorld程序编译并执行
    • 会使用单行注释和多行注释
    • 能够辨识关键字
    • 理解标识符的含义
    • 理解Java中的基本数据类型分类
    • 能够理解常量的概念
    • 能够定义8种基本数据集类型的变量
    • 能够分清楚两种输出语句的区别

    第一章 Java概述

    1.1 JavaSE课程体系介绍

    JavaSE知识图解

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QVWVukDC-1667229973076)(imgs/JavaSE课程内容介绍.png)]

    JavaSE知识模块介绍

    • 第一部分:计算机编程语言核心结构:数据类型运算符流程控制数组、…
    • 第二部分:Java面向对象核心逻辑:类和对象封装继承多态抽象接口、…
    • 第三部分:JavaSE核心高级应用:集合I/O多线程网络编程反射机制、…
    • 第四部分:Java新特性:Lambda表达式函数式编程新Date/Time API接口的默认、静态和私有方法、…
    • 第五部分:MySQL/JDBC核心技术:SQL语句数据库连接池DBUtils事务管理批处理、…

    1.2 计算机语言介绍(了解)

    计算机语言是什么

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

    计算机语言发展

    • 第一代:机器语言
    • 第二代:汇编语言
    • 第三代:高级语言

    计算机语言排行榜

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-X6bNkKta-1667229973079)(imgs/TIOBE语言排行.png)]

    计算机语言走势

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-42CM8QAu-1667229973080)(imgs/TIOBE社区语言发展指数.png)]

    1.3 Java语言概述(了解)

    Java生态圈

    **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最大的优势和财富。

    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语言发展历史

    Java诞生于SUN(Stanford University Network),09年SUN被Oracle(甲骨文)收购。

    Java之父是詹姆斯.高斯林(James Gosling)。

    1996年发布JDK1.0版。

    目前最新的版本是Java13。我们学习的Java8。

    发行版本发行时间备注
    Java1995.05.23Sun公司在Sun world会议上正式发布Java和HotJava浏览器
    Java 1.01996.01.23Sun公司发布了Java的第一个开发工具包
    Java 1.11997.02.19
    Java 1.21998.12.08拆分成:J2SE(标准版)、J2EE(企业版)、J2ME(小型版)
    Java 1.32000.05.08
    Java1.42004.02.06
    Java 5.02004.09.30①版本号从1.4直接更新至5.0;②平台更名为JavaSE、JavaEE、JavaME
    Java 6.02006.12.112009.04.20 Oracle宣布收购SUN公司
    Java 7.02011.07.02
    Java 8.02014.03.18
    Java 9.02017.09.22①每半年更新一次;②Java 9.0开始不再支持windows 32位系统
    Java 10.02018.03.21
    Java 11.02018.09.25JDK安装包取消独立JRE安装包
    Java 12.02019.03.19
    Java 13.02019.9.18

    Java技术体系平台

    • 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数据的应用程序(例如天气、新闻播报器、社交网络)以及大多数蓝光光盘标题上的用户界面和奖金内容。

    1.4 Java语言跨平台原理

    Java语言的特点

    • **完全面向对象:**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编写的软件可以运行在任何的操作系统上,这个特性称为Java语言的跨平台特性。该特性是由JVM实现的,我们编写的程序运行在JVM上,而JVM运行在操作系统上。
    • JVM(Java Virtual Machine ):Java虚拟机,简称JVM,是运行所有Java程序的假想计算机,是Java程序的运行环境之一,也是Java 最具吸引力的特性之一。我们编写的Java代码,都运行在JVM 之上。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6OuOT4Lt-1667229973081)(imgs/跨平台.jpg)]

    如图所示,Java的虚拟机本身是不具备跨平台功能的,每个操作系统下都有不同版本的虚拟机。

    • **JRE ** (Java Runtime Environment) :是Java程序的运行时环境,包含JVM 和运行时所需要的核心类库
    • JDK (Java Development Kit):是Java程序开发工具包,包含JRE 和开发人员使用的工具。

    我们想要运行一个已有的Java程序,那么只需安装JRE 即可。

    我们想要开发一个全新的Java程序,那么必须安装JDK ,其内部包含JRE

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NQkttp9N-1667229973082)(imgs/JDKJRE.jpg)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UYjoYhKb-1667229973083)(imgs/JDKJREJVM.png)]

    1.5 JDK下载和安装

    JDK的下载

    • 下载网址:www.oracle.com

    • 下载步骤:

      • 登录Oracle公司官网,www.oracle.com,如图所示:在底部选择Developers开发者

    在这里插入图片描述

    • Developers页面中间的技术分类部分,选择Java,单击进入,如图所示:

    在这里插入图片描述

    • 下拉页面,找到Java,在此选择JavaSEDownload,单击进入,如图所示:

    在这里插入图片描述

    • 选择Downloads选项卡,默认是最新版的Java13下载,在此处选择Oracle JDK DOWNLOAD,单击进入可以下载JDK13,如图所示:

    在这里插入图片描述

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

    在这里插入图片描述

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

    在这里插入图片描述

    在这里插入图片描述

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

    在这里插入图片描述

    JDK的安装

    • 安装步骤:

      • 双击jdk-8u202-windows-x64.exe文件,并单击下一步,如图所示:

      在这里插入图片描述

      • 取消独立JRE的安装,单击公共JRE前的下拉列表,选择此功能将不可用如图所示:
        在这里插入图片描述

      • 修改安装路径,单击更改,如图所示:

      在这里插入图片描述

      • 将安装路径修改为D:\develop\Java\jdk1.8.0_202\,并单击确定,如图所示:

        在这里插入图片描述

      • 单击下一步,如图所示:

        在这里插入图片描述

      • 稍后几秒,安装完成,如图所示:

        在这里插入图片描述

      • 目录结构,如图所示:

      在这里插入图片描述

    1.6 常用DOS命令(了解)

    什么是DOS

    Java语言的初学者,学习一些DOS命令,会非常有帮助。DOS是一个早期的操作系统,现在已经被Windows系统取代,对于我们开发人员,目前需要在DOS中完成一些事情,因此就需要掌握一些必要的命令。

    Dos: Disk Operating System 磁盘操作系统, 简单说一下windows的目录结构。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lL34fhkN-1667229973098)(imgs/image-20200213095127784.png)]

    进入DOS操作窗口

    • 按下Windows+R键,打开运行窗口,输入cmd回车,进入到DOS的操作窗口。

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nJ3HXq05-1667229973099)(imgs/运行窗口.jpg)]

    • 打开DOS命令行后,看到一个路径 C:\Users\... 就表示我们现在操作的磁盘是C盘的Users的final目录。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7DPTnK6E-1667229973099)(imgs/image-20200213083838587.png)]

    常用命令

    进入目录命令:cd

    (1)回到根目录

    cd /  或  cd \
    
    • 1

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LfAekdZd-1667229973100)(imgs/image-20200213103050182.png)]

    (2)切换到上一级

    cd ..
    
    • 1

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FgIgZn4O-1667229973101)(imgs/image-20200213102356751.png)]

    (3)当前盘的其他目录下

    绝对路径:从根目录开始定位,例如:cd d:\test200\1 或者 cd d:/test200/1

    相对路径:从当前目录开始定位,例如:…\…\…\test200\1 或者 …/…/…/test200/1

    例如:现在在d:/test100/hello/a目录,要切换到d:/test200/1目录

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9UJOCTwl-1667229973102)(imgs/image-20200213101458688.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2r3KbLg0-1667229973103)(imgs/image-20200213101428222.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ysPcLjim-1667229973104)(imgs/image-20200213101246431.png)]

    切换盘符命令

    (1)直接盘符:

    例如:要切换到D盘,直接d:
    
    • 1

    (2)使用cd命令

    例如:要切换到E盘,可以使用cd /D e:
    
    • 1

    使用 /D 开关,除了改变驱动器的当前目录之外,还可改变当前驱动器。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-70AEItLH-1667229973105)(imgs/image-20200213101745482.png)]

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

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Z18zoqSh-1667229973106)(imgs/image-20200213101952912.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JYSn89fY-1667229973107)(imgs/image-20200213102043229.png)]

    新建目录命令:md (make directory)
    //在当前目录下创建hello文件夹
    md hello
    
    //在当前目录下创建a,b,c三个文件夹
    md a b c
    
    //在d盘test200下创建ok200文件夹
    md d:\test200\ok200
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OHxZA9AG-1667229973108)(imgs/image-20200213103500670.png)]

    新建空文件命令:type nul
    type nul > 文件名.扩展名
    
    • 1
    追加内容到文件命令:echo
    echo 内容 > 文件名.扩展名
    
    • 1

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LUfTnSQd-1667229973109)(imgs/image-20200213103717706.png)]

    复制(copy)或移动(move)文件
    copy 源文件 目标目录\新文件名.扩展名
    move 源文件 目标目录
    
    • 1
    • 2

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-e7HDyFLa-1667229973110)(imgs/image-20200213104204070.png)]

    删除文件命令:del
    //删除指定文件
    del 文件名.扩展名
    del 目标目录\文件名.扩展名
    
    删除所有文件并询问
    del *.*
    
    删除所有文件不询问
    del /Q *.*
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-W1Th0cJS-1667229973111)(imgs/image-20200213104335172.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Jylf7L7I-1667229973112)(imgs/image-20200213104501033.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QUvThBTk-1667229973113)(imgs/image-20200213104938765.png)]

    删除目录命令:rd(remove directory)
    //删除空目录
    rd 空目录名
    
    //删除目录以及下面的子目录和文件,带询问
    rd /S 非空目录名
    
    //删除目录以及下面的子目录和文件,不带询问
    rd /S/Q 非空目录名
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    注意:你在d:\test100\hello\a中,你不能删除test100、hello、a这几个目录

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lnZvS1s8-1667229973114)(imgs/image-20200213105002765.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sMlyftGc-1667229973114)(imgs/image-20200213105012075.png)]

    查看某个目录的下一级目录结构:tree
    tree 目录
    
    tree /F 目录
    /F   显示每个文件夹中文件的名称。
    
    • 1
    • 2
    • 3
    • 4
    清屏命令:cls
    cls
    
    • 1
    退出命令:exit
    exit
    
    • 1

    1.7 配置环境变量

    为什么配置path?

    希望在命令行使用javac.exe等工具时,任意目录下都可以找到这个工具所在的目录。

    例如:我们在C:\Users\Irene目录下使用java命令,结果如下:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-db88dCkh-1667229973115)(imgs/1572317249341.png)]

    我们在JDK的安装目录的bin目录下使用java命令,结果如下:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r65CJQXO-1667229973116)(imgs/1572317330332.png)]

    我们不可能每次使用java.exe,javac.exe等工具的时候都进入到JDK的安装目录下,太麻烦了。我们希望在任意目录下都可以使用JDK的bin目录的开发工具,因此我们需要告诉操作系统去哪里找这些开发工具,这就需要配置path环境变量。

    1.7.1 只配置path

    • 步骤:

      • 打开桌面上的计算机,进入后在左侧找到计算机,单击鼠标右键,选择属性,如图所示:

        [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lAMOPtwZ-1667229973117)(imgs/环境变量1.jpg)]

      • 选择高级系统设置,如图所示:

        [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lRqTfKiV-1667229973117)(imgs/环境变量2.jpg)]

      • 高级选项卡,单击环境变量,如图所示:

        [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gOChLfTx-1667229973118)(imgs/环境变量3.jpg)]

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

        [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KFoPAcBX-1667229973119)(imgs/环境变量6.jpg)]

      • 在变量值的最前面,键入D:\develop\Java\jdk1.8.0_202\bin; 分号必须要写,而且还要是英文符号。如图所示:

        [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ADhnG6Lm-1667229973120)(imgs/环境变量9.png)]

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

        [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Pk532bvG-1667229973121)(imgs/环境变量8.jpg)]

    1.7.2 配置JAVA_HOME+path

    • 步骤:

      • 打开桌面上的计算机,进入后在左侧找到计算机,单击鼠标右键,选择属性,如图所示:

        [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5wgwsPH9-1667229973121)(imgs/环境变量1.jpg)]

      • 选择高级系统设置,如图所示:

        [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6AtcjJQ7-1667229973122)(imgs/环境变量2.jpg)]

      • 高级选项卡,单击环境变量,如图所示:

        [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wUJlRHrO-1667229973123)(imgs/环境变量3.jpg)]

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

        [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0WJR5mBG-1667229973124)(imgs/环境变量4.jpg)]

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

        [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iZmYeInP-1667229973125)(imgs/环境变量5.jpg)]

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

        [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5zd4Abhr-1667229973125)(imgs/环境变量6.jpg)]

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

        [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SzQndiR4-1667229973126)(imgs/环境变量7.jpg)]

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

        [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bYe9EfbI-1667229973127)(imgs/环境变量8.jpg)]

    1.8 入门程序HelloWorld

    1.8.1 HelloWorld案例

    程序开发步骤说明

    JDK安装完毕,可以开发我们第一个Java程序了。

    Java程序开发三步骤:编写编译运行

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DJnrN1sQ-1667229973128)(imgs/开发步骤.jpg)]

    编写Java源程序
    1. D:\atguigu\javaee\JavaSE20190624\code\day01_code 目录下新建文本文件,完整的文件名修改为HelloWorld.java,其中文件名为HelloWorld,后缀名必须为.java

    2. 用记事本或notepad++等文本编辑器打开

    3. 在文件中键入文本并保存,代码如下:

    public class HelloWorld {
      	public static void main(String[] args) {
        	System.out.println("HelloWorld");
      	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5

    友情提示:

    每个字母和符号必须与示例代码一模一样。

    第一个HelloWord 源程序就编写完成了,但是这个文件是程序员编写的,JVM是看不懂的,也就不能运行,因此我们必须将编写好的Java源文件 编译成JVM可以看懂的字节码文件 ,也就是.class文件。

    编译Java源文件

    在DOS命令行中,进入D:\atguigu\javaee\JavaSE20190624\code\day01_code目录,使用javac 命令进行编译。

    命令:

    javac Java源文件名.后缀名
    
    • 1

    举例:

    javac HelloWorld.java
    
    • 1

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-paWFV3dX-1667229973128)(imgs/HelloWorld编译结果.png)]

    编译成功后,命令行没有任何提示。打开D:\atguigu\javaee\JavaSE20190624\code\day01_code目录,发现产生了一个新的文件 HelloWorld.class,该文件就是编译后的文件,是Java的可运行文件,称为字节码文件,有了字节码文件,就可以运行程序了。

    Java源文件的编译工具javac.exe

    运行Java程序

    在DOS命令行中,进入Java源文件的目录,使用java 命令进行运行。

    命令:

    java 类名字
    
    • 1

    举例:

    java HelloWorld
    
    • 1

    友情提示:

    java HelloWord 不要写 不要写 不要写 .class

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eYT1u0uU-1667229973129)(imgs/HelloWorld运行结果.png)]

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

    1.8.2 HelloWorld案例常见错误

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

    1.8.3 Java程序的结构与格式

    结构:

    {
        方法{
            语句;
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5

    格式:

    (1)每一级缩进一个Tab键

    (2){}的左半部分在行尾,右半部分单独一行,与和它成对的"{"的行首对齐

    1.8.4 Java程序的入口

    Java程序的入口是main方法

    public static void main(String[] args){
        
    }
    
    • 1
    • 2
    • 3

    1.8.5 编写Java程序时应该注意的问题

    1、字符编码问题

    当cmd命令行窗口的字符编码与.java源文件的字符编码不一致,如何解决?

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qOuVhm8A-1667229973130)(imgs/命令行编译乱码.png)]

    解决方案一:

    在Notepad++等编辑器中,修改源文件的字符编码
    
    • 1

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ga4PS50V-1667229973132)(imgs/Notepad修改源文件字符编码.png)]

    解决方案二:

    在使用javac命令式,可以指定源文件的字符编码
    
    • 1
    javac -encoding utf-8 Review01.java
    
    • 1

    2、大小写问题

    (1)源文件名:

    不区分大小写,我们建议大家还是区分
    
    • 1

    (2)字节码文件名与类名

    区分大小写
    
    • 1

    (3)代码中

    区分大小写
    
    • 1

    3、源文件名与类名一致问题?

    (1)源文件名是否必须与类名一致?public呢?

    如果这个类不是public,那么源文件名可以和类名不一致。

    如果这个类是public,那么要求源文件名必须与类名一致。

    我们建议大家,不管是否是public,都与源文件名保持一致,而且一个源文件尽量只写一个类,目的是为了好维护。

    (2)一个源文件中是否可以有多个类?public呢?

    一个源文件中可以有多个类,编译后会生成多个.class字节码文件。

    但是一个源文件只能有一个public的类。

    (3)main必须在public的类中吗?

    不是。

    但是后面写代码时,基本上main习惯上都在public类中。

    第二章 Java基础知识

    2.1 注释(annotation

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

        // 注释内容
        
        • 1
      • 多行注释以 /*开头,以*/结束,格式如下:

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

        /**
        	注释内容
         */
        
        • 1
        • 2
        • 3

    2.2 关键字(keyword

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

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

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SmNKK1Db-1667229973133)(imgs/关键字表.png)]

    关键字一共50个,其中const和goto是保留字。

    true,false,null看起来像关键字,但从技术角度,它们是特殊的布尔值和空值。

    2.3 标识符( identifier)

    简单的说,凡是程序员自己命名的部分都可以称为标识符。

    即给类、变量、方法、包等命名的字符序列,称为标识符。

    1、标识符的命名规则(必须遵守)

    (1)Java的标识符只能使用26个英文字母大小写,0-9的数字,下划线_,美元符号$

    (2)不能使用Java的关键字(包含保留字)和特殊值

    (3)数字不能开头

    (4)不能包含空格

    (5)严格区分大小写

    2、标识符的命名规范(遭受鄙视)

    (1)见名知意

    (2)类名、接口名等:每个单词的首字母都大写,形式:XxxYyyZzz,

    例如:HelloWorld,String,System等

    (3)变量、方法名等:从第二个单词开始首字母大写,其余字母小写,形式:xxxYyyZzz,

    例如:age,name,bookName,main

    (4)包名等:每一个单词都小写,单词之间使用点.分割,形式:xxx.yyy.zzz,

    例如:java.lang

    (5)常量名等:每一个单词都大写,单词之间使用下划线_分割,形式:XXX_YYY_ZZZ,

    例如:MAX_VALUE,PI

    2.4 初识数据类型(data type)

    数据类型分类

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

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

    基本数据类型

    四类八种基本数据类型:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LyHVJ0Xm-1667229973134)(imgs/基本数据类型范围.jpg)]

    Java中的默认类型:整数类型是int 、浮点类型是double

    2.5 常量(constant

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

    • 常量的分类:

      • 自定义常量:通过final关键字定义(后面在面向对象部分讲解)

      • 字面值常量:

        字面值常量举例
        字符串常量”HelloWorld“
        整数常量12,-23
        浮点常量12.34
        字符常量‘a’,‘0’,‘我’
        布尔常量true,false
        空常量null
        public class ConstantDemo {
        	public static void main(String[] args) {
        		//字符串常量
        		System.out.println("HelloWorld");
        		
        		//整数常量
        		System.out.println(12);
        		System.out.println(-23);
        		
        		//小数常量
        		System.out.println(12.34);
        		
        		//字符常量
        		System.out.println('a');
        		System.out.println('0');
                System.out.println('我');
        		
        		//布尔常量
        		System.out.println(true);
        		System.out.println(false);
        	}
        }
        
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6
        • 7
        • 8
        • 9
        • 10
        • 11
        • 12
        • 13
        • 14
        • 15
        • 16
        • 17
        • 18
        • 19
        • 20
        • 21
        • 22

        注意事项:

        ​ 字符常量,单引号里面有且仅有一个字符

        ​ 空常量,不可以在输出语句中直接打印

    2.6 变量(variable

    2.6.1 变量的概念

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

    变量的作用:用来存储数据,代表内存的一块存储区域,这块内存中的值是可以改变的。

    2.6.2 变量的三要素

    1、数据类型

    2、变量名

    3、值

    2.6.3 变量的使用应该注意什么?

    1、先声明后使用

    如果没有声明,会报“找不到符号”错误

    2、在使用之前必须初始化

    如果没有初始化,会报“未初始化”错误

    3、变量有作用域

    如果超过作用域,也会报“找不到符号”错误

    4、在同一个作用域中不能重名

    2.6.4 变量的声明和赋值、使用的语法格式?

    1、变量的声明的语法格式:

    数据类型  变量名;
    例如:
    int age;
    String name;
    double weight;
    char gender;
    boolean isMarry;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    2、变量的赋值的语法格式:

    变量名 =;
    例如:
    age = 18;
    name = "古力娜扎"; //字符串的值必须用""
    weight = 44.4;
    gender = '女';//单字符的值必须使用''
    isMarry = true;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    3、变量的使用的语法格式:

    通过变量名直接引用
    
    例如:
    (1)输出变量的值
    System.out.println(age);
    System.out.println(name);
    System.out.println(weight);
    System.out.println(gender);
    System.out.println(isMarry);
    
    (2)计算
    age = age + 1;//年龄增加1岁
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    2.6.7 练习:定义所有基本数据类型的变量和字符串变量并输出

    public class VariableDemo {
    	public static void main(String[] args){
            // 定义字节型变量
            byte b = 100;
            System.out.println(b);
            // 定义短整型变量
            short s = 1000;
            System.out.println(s);
            // 定义整型变量
            int i = 123456;
            System.out.println(i);
            // 定义长整型变量
            long l = 12345678900L;
            System.out.println(l);
            // 定义单精度浮点型变量
            float f = 5.5F;
            System.out.println(f);
            // 定义双精度浮点型变量
            double d = 8.5;
            System.out.println(d);
            // 定义布尔型变量
            boolean bool = false;
            System.out.println(bool);
            // 定义字符型变量
            char c = 'A';
            System.out.println(c);
            
            // 定义字符串变量
            String s = "HelloWorld";
            System.out.println(s);
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32

    long类型:如果赋值的常量整数超过int范围,那么需要在数字后面加L。

    float类型:如果赋值为常量小数,那么需要在小数后面加F。

    char类型:使用单引号’’

    String类型:使用双引号""

    2.7 两种常见的输出语句

    • 换行输出语句:输出内容,完毕后进行换行,格式如下:

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

      System.out.print(输出内容);
      
      • 1

    示例代码:

    String name = "古力娜扎";
    int age = 18;
    
    对比如下两组代码:
    System.out.println(name);
    System.out.println(age);
    
    System.out.print(name);
    System.out.print(age);
    
    对比如下两组代码:
    System.out.print("姓名:" + name +",");//""中的内容会原样显示
    System.out.println("年龄:" + age);//""中的内容会原样显示
    
    System.out.print("name = " + name + ",");
    System.out.println("age = " + age);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    注意事项:

    ​ 换行输出语句,括号内可以什么都不写,只做换行处理

    ​ 直接输出语句,括号内什么都不写的话,编译报错

    ​ 如果()中有多项内容,那么必须使用 + 连接起来

    ​ 如果某些内容想要原样输出,就用"“引起来,而要输出变量中的内容,则不要把变量名用”"引起来

  • 相关阅读:
    linux开放端口命令
    jsp如何读取数据库,取到数据后,展示数据。
    多进程单线程多端口TCPUDP三层协议转发
    JavaScript学习——数组概念及使用、函数的调用
    Vue 指令、计算属性、侦听器
    微信小程序上传图片到服务端,springboot项目。避免踩坑保姆教程
    重学Java8新特性(三) : Collection、List、Map 新增的API, Collectors收集器
    腾讯云联合微信推出云开发 2.0 平台,低代码“微搭”升级
    【C++ 】STL求全排列和组合
    数据结构之队列
  • 原文地址:https://blog.csdn.net/pp_46918/article/details/127625586