Java基础 1. Java开发环境搭建

news2024/12/30 3:39:49

Java基础 1. Java开发环境搭建

文章目录

  • Java基础 1. Java开发环境搭建
    • 1.1. 常用的DOS命令
      • 1.1.1. 常用的Windows组合键:
      • 1.1.2. 常用的DOS命令:
      • 1.1.3. 批处理文件
    • 1.2. 通用文本编辑快捷键
      • 1.2.1. Sublime Text文本编辑器的安装与使用
        • 安装
        • 中英文
        • 打开方式
        • 调整字体大小
        • 文件扩展名
      • 1.2.2. 文本快捷键
    • 1.3. 计算机概述
      • 1.3.1. 计算机组成
    • 1.4. 计算机语言概述
      • 1.4.1. 计算机语言发展史
    • 1.5. Java语言概述
      • 1.5.1. Java语言概述
      • 1.5.2. Java之父
      • 1.5.3. Java名字来历和logo
      • 1.5.4. Java发展史
      • 1.5.5. ==Java的三大分支==
      • 1.5.6. ==Java特点==
    • 1.6. ==Java的加载与运行==
      • 1.6.1. 编译阶段
      • 1.6.2. 运行阶段
    • 1.7. 第一个Java程序
      • 1.7.1. JDK的下载与安装
      • 1.7.3. JDK的重点目录介绍
      • 1.7.2. 环境变量PATH的配置
      • 1.7.4. 第一个Java程序的编写
      • 1.7.5. 第一个Java程序的编译
      • 1.7.6. 第一个Java程序的运行
      • 1.7.7. 环境变量classPATH
      • 1.7.8. 关于编译时的乱码问题
    • 1.8. 注释
    • 1.9. public class和class的区别
    • 1.10. Test

1.1. 常用的DOS命令

1.1.1. 常用的Windows组合键:

  • win+D
    • 回到桌面
  • win+E
    • 打开文件资源管理器
  • win+R
    • 打开运行窗口
  • win+L
    • 锁屏
  • alt+tab
    • 应用之间的切换

1.1.2. 常用的DOS命令:

  • 打开DOS命令窗口

    • win+R
    • 输入cmd(command)
  • 在DOS命令窗口完成复制和粘贴

    • 在DOS中, 用鼠标左键拖动选中想要复制的内容, 然后点击右键, 就复制好了, 如果想要粘贴在DOS中, 再点击右键或者在键盘上按下ctrl+v即可粘贴
  • 在DOS命令窗口删除未执行的命令

    • ctrl+backspace
  • 什么是当前路径? 假设进入DOS命令窗口时显示的是: C:\Users\lenovo>, 那么当前的路径就是C:\Users\lenovo

  • dir

    • 列出当前路径下的所有目录和文件
  • cls

    • 清屏
  • exit

    • 退出
  • 切换盘符

    • c:
    • d:
    • e:
  • del [文件名]

    • 删除一个文件

    • del *.java

      • 删除多个.java文件
  • ipconfig

    • 查看电脑的IP地址

    • ipconfig /all

      • 查看详细信息
  • ping IP地址

    • ping 192.168.1.1
    • ping www.baidu.com
    • 测试两台计算机是否能够通信
    • ping www.baidu.com -t
      • 一直ping
  • ctrl+c

    • 强制终止命令的执行
  • 上下箭头可以翻出历史命令

  • help

    • 查看命令帮助信息
  • cd [路径]

    • 切换目录, change directory
    • 路径包括
      • 绝对路径: 在Windows当中, 路径开始的时候, 是以盼复开始的, 都是绝对路径, 例如: cd C:\Users\lenovo/a/b/c
      • 相对路径: 相对于当前所在的位置开始的路径, 例如: C:\Users\lenovo> cd a/b/c
      • cd …
        • 回到上级目录, …代表上级目录, .代表当前目录
      • cd /
        • 回到根目录, \和/都行
      • 注意, 路径自动补全, 使用tab键
  • 直接进入某个位置的小妙招

    • 在文件资源管理器当中的路径当中输入cmd, 回车之后, 直接进入当前位置的DOS命令窗口
    • 外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
    • 外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
    • 外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
  • mkdir [目录名]

    • 创建目录
  • rd [目录名]

    • 删除名录
  • ren a b

    • 将a目录重命名为b
  • copy con [文件名]

    • 新建并编辑文件
    • ctrl+z
      • 保存
  • type [文件名]

    • 查看文件内容
  • shutdown -s

    • 关机

1.1.3. 批处理文件

  • 批处理文件: 可以批量执行DOS命令的文件

  • 是以**.bat**为后缀名的文件

  • 新建my.bat文件, 并编写大量的DOS命令

  • 双击my.bat文件来完成批处理

    • my.bat, 删除文件下的所有.java文件

    • cd C:\Users\lenovo\test
      
      del *.java
      
    • 新建外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

    • 鼠标右击编辑外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

    • 编辑并保存外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

    • 双击, 会一闪而过, 说明执行完毕了外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

1.2. 通用文本编辑快捷键

1.2.1. Sublime Text文本编辑器的安装与使用

  • 记事本也是文本编辑器, 但是它的功能太弱

  • Sublime Text则是一款功能强大且轻量的文本编辑器

安装

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

中英文

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

打开方式
  • 设置好之后, 以后的.java文件都是用SublimeText来打开的, 这个是可以改的.

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

调整字体大小

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

文件扩展名

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

1.2.2. 文本快捷键

快捷键作用
ctrl+c复制
ctrl+v粘贴
ctrl+x剪切
ctrl+s保存
ctrl+a全选
ctrl+z撤销
ctrl+y重做, 和撤销相对应
home ( 笔记本上的home是fn + 向右箭头 )光标回到行首
end ( end是fn + 向左 )光标回到行尾
ctrl+home ( 注意: 笔记本上的应该为ctrl+fn+向右箭头 )回到文章开头
ctrl+end ( 同理 )回到文章末尾
鼠标三击shift+home或end选中一行
鼠标双击或shift+ctrl+向左或向右选中一个单词
shift+向左或向右选中一个字母
ctrl+f查找
ctrl+h替换
backspace向左删除
delete向右删除

1.3. 计算机概述

1.3.1. 计算机组成

  • 硬件

    • 中央处理器(CPU) : 计算机的核心部件, 决定着计算机的计算能力

      外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

    • 内存 : 计算机的临时存储器, 断电后数据会消失

      外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

    • 硬盘 : 计算机的永久存储器, 但是硬盘当中的数据不会消失

      外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

    • 显卡 : 计算机的图形处理器, 负责显示

      外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

    • 主板 : 安装上面的这些东西的一块板子, 板子上面有凹槽

      外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 软件

    • 系统软件
      • 操作系统, 驱动程序, 系统工具等
      • Windows, MacOS, Linux, HarmonyOS…Android, iOS…
    • 应用软件
      • 各种办公软件, 微信, qq, 支付宝…
      • 应用软件要想和计算机硬件交互, 必须通过操作系统.

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

1.4. 计算机语言概述

1.4.1. 计算机语言发展史

  • 机器语言
    • 20世纪50年代初期, 计算机只能使用二进制代码进行操作, 这被称为机器语言, 机器语言非常难以理解和编写, 因为它们是由0和1组成的
  • 汇编语言
    • 为了简化编写机器语言的过程, 汇编语言被发明出来了, 它使用助记符号来代替二进制代码, 这使得编写程序变得更加容易
  • 高级语言
    • 20世纪60年代, 高级语言开始出现, 高级语言使用更接近自然语言的语法和结构, 使得编写程序变得更加容易, 比如Fortran, C语言( 面向过程 )
  • 面向对象编程语言
    • 20世纪80年代, 面向对象编程语言开始流行, 这些语言允许程序员创建对象, 这些对象可以封装数据和方法, 并与其他对象进行交互, 比如Java, C++, Python.
    • C语言是面向过程的, C++一半是面向过程一半面向对象, Java全部面向对象
    • Java是由C++写出来的, C++是C语言的发展

1.5. Java语言概述

1.5.1. Java语言概述

  • Java是一种面向对象的编程语言, 它的底层是C++实现的, 由Sun Microsystems( 太阳微电子公司 )公司于1995年推出, 它是一种通用的, 高级的, 并发性强的, 安全的, 可移植的, 解释性的, 动态的, 编译性的, 跨平台的编程语言. Sun公司于2010年1月被甲骨文( Oracle )公司以74亿美元的价格收购, Oracle成为了Java语言的主要维护者和开发者之一.

1.5.2. Java之父

  • 詹姆斯 高斯林( James Goslig ), 外号高司令, 在20世纪80年代末和90年代初, 与Sun公司的一些工程师一起开发了Java语言

1.5.3. Java名字来历和logo

  • 在1990年代初, Sun公司的研发团队正在开发一种新的软件平台, 该平台可以在各种不同的计算机系统上运行, 并且能够处理各种多媒体文件, 这种平台最初被称为"Oak", 以纪念Sun公司的高司令喜欢的一棵橡树.
  • 然而, 在1995年, Sun公司发现该名称已经被一家电视机制造商使用了.
  • Java这个名字来源于印度尼西亚的爪哇岛, 因为该岛是印尼咖啡的主产区, Sun公司的营销团队认为这个名字可以带来一些特殊的品牌价值, 并且可以与咖啡文化关联, 因此它们决定将这个名字用于新的软件平台.
  • Java的logo是一个冒着热气的咖啡

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

1.5.4. Java发展史

  • 1995 年初,Sun 公司发布 Java 语言,Sun 公司直接把 Java 放到互联网上,免费给大家使用,甚至连源代码也不保密,也放在互联网公开。几个月后,Java 成了互联网上最热门的宝贝。各种各样的小程序层出不穷,Java 终于扬眉吐气,成为了一种广为人知的编程语言。

  • 1996年 : JDK1.0诞生.

    • 什么是JDK?
      • Java Development Kit
      • Java开发工具箱【Java开发必备】
      • 可以从Oracle的官网上下载。http://www.oracle.com
      • 目前2016-08-30最高版本Java8【Java SE 8u101 / 8u102】
      • 下载JDK的时候需要注意:JDK的版本,不同的操作系统需要安装不同版本的JDK。
  • 1996 年底,Flash 问世了,这是一种更加简单的动画设计软件:使用 Flash 几乎无须任何编程语言知识,就可以做出丰富多彩的动画。Flash 逐渐蚕食了 Java 在网页上的应用。

  • 1997 年 2 月 18 日,Sun 公司发布了 JDK1.1,增加了即时编译器 JIT。

  • 1995 年 Java 诞生到 1998 年底,Java 语言虽然成为了互联网上广泛使用的编程语言,但它没有找到一个准确的定位。

  • 1998 年 12 月,Sun 发布了 Java 历史上最重要的 JDK 版本:JDK1.2。并将 Java 分成了 J2EE(提供了企业应用开发相关的完整解决方案)、J2SE(整个 Java 技术的核心和基础, 基础,无论是以后走EE还是ME,SE是必须要精通的)、J2ME(主要用于控制移动设备和信息家电等有限存储的设备)三个版本。

  • 2002 年 2 月,Sun 发布了 JDK 历史上最为成熟的版本,JDK1.4。

  • 2004 年 10 月,Sun 发布了万众期待的 JDK1.5。JDK1.5 增加了诸如泛型、增强的 for 语句、可变数量的形参、注释、自动拆箱和装箱等。

  • 2005年,java诞生十周年的时候,以上的三大模块改名了:

    • JavaSE : 标准
    • JavaEE : 企业
    • JavaME : 微型
  • 2006 年 12 月,Sun 发布了 JDK1.6。

  • 2009 年 4 月 20 日,Oracle 甲骨文公司宣布将以每股 9.5 美元的价格收购 Sun。Oracle 通过
    收购 Sun 获得了两项资产:Java 和 Solaris。

  • 2007 年 11 月,Google 宣布推出一款基于 Linux 平台的开源手机操作系统:Android。Android使用 Java 语言来开发应用程序。Android 平台的流行,让 Java 语言获得了在客户端程序上大展拳脚的机会。

  • 2011 年 7 月 28 日,Oracle 发布了 Java SE7,这次版本升级耗时将近 5 年时间。引入二进制整数、支持字符串的 switch 语句等。

  • 2014 年 3 月 18 日,Oracle 发布了 Java SE8 LTS ( Long-Term Support, 长期支持 )

  • 2017 年 7 月,Oracle 发布了 JavaSE 9。

  • 2018 年 3 月 20 日,Oracle 发布了正式版 JavaSE 10。同一年 9 月 25 日发布了 Java11 LTS

  • 2019 年 3 月 19 日,Oracle 发布了 Java12。

  • 2019年在9月17日,JDK 13 发布,这个版本主要通过改善Java SE平台和JDK的性能,稳定性和安全性来提高开发人员的生产力。

  • 2020年3月17日,JDK 14发布,这个版本主要是对JDK历史版本的一些增强,也引入了一些新增的功能.

  • 2020年9月15日,JDK 15发布,按照规划路线,JDK 14也停止更新,JDK 15虽然不是LTS版本,但也引入了一些开创性的功能和对早期版本功能的一些优化。

  • 2021年3月16日,JDK 16发布,这部分依旧是一些功能的优化升级。

  • 2021年9月14日,JDK17 LTS 发布,这也是在JDK 11之后的下一个LTS版本,JDK 17也是Java六个月发布节奏下的最新的长期支持(LTS)发布,主打安全、性能、稳定为特性,并且官方计划支持到2029年9月。

  • 2023年9月, JDK21 LTS 发布.

1.5.5. Java的三大分支

  • JavaSE( Java Standard Edition ) : 标准版, 不管以后学EE还是ME, SE都是必学的, 这里面包含了Java的核心部分
  • JavaEE( Java Enterprise Edition ) : 企业版, 以后大部分都是走的是这个方向
  • JavaME( Java Micro Edition ) : 微型版, 做嵌入式开发

1.5.6. Java特点

  • 关键术语:

    • JDK【Java开发工具箱】
    • JRE【Java的运行时环境】
    • JVM【Java虚拟机】
    • 三者之间的关系:JDK 中包含JRE,JRE中包含JVM。
  • 跨平台/可移植

    • java程序可以做到一次编译, 到处运行 ( 可以在windows和linux系统上运行, 但是这两个系统的内核不同, 执行程序的方式也不同, 所以java程序是不能直接和操作系统打交道的. 于是, SUN团队想了一个办法, 他们让java程序运行在一台虚拟的计算机上, 也就是所谓的java虚拟机, 简称JVM, java程序运行在JVM上, JVM再和底层操作系统进行交互).
      • 有一种特殊的机制:JVM, C++模拟的一个虚拟的计算机
      • 但是有一个前提:不同的操作系统中必须安装不同版本的JVM
      • 在可移植性方面表现非常好,一次编译,到处运行。
      • 但是为了达到可移植,必须提前在操作系统中安装JRE,JRE有了之后才会有JVM。【JVM不能单独安装】
  • Java号称:开源、免费、跨平台、纯面向对象。

    • 开源:开发源代码,SUN公司编写的java类库的源代码普通程序员能看到。众人拾柴火焰高。这样java程序会很健壮。很少的BUG

    • 免费

    • 跨平台:依靠JVM机制【java程序不和操作系统交互,java程序运行在JVM中,JVM和操作系统交互。】不同的操作系统有不同版本的JVM。

    • 面向对象:人类在认识现实世界的时候多数是以面向对象的方式认知的

  • 简单性:

    • 这里的简单说的是相对于C语言来说的
    • 例如:C语言当中有指针,C++中多继承
      • java取消了指针的概念,取消了多继承,只支持单继承。
  • java支持多线程

    • 一个线路上可以执行多个任务, 效率高.
  • 健壮性 :

    • java中还有一种特殊的机制:自动垃圾回收机制. GC机制.【java运行过程当中有一个“垃圾回收器”一直在守护着。】不需要手动释放内存空间, 防止内存泄漏.

1.6. Java的加载与运行

1.6.1. 编译阶段

  • 检查Java源文件 ( .java ) 是否符合java语法, 符合的则生成正常的字节码文件 ( .class ) , 否则无法生成.

  • 程序员需要使用JDK当中自带的javac.exe ( 是一个java编译工具/命令 ) 进行java程序的编译.

  • javac语法 : javac + java源文件路径

    • 在DOS命令窗口中使用
    • 比如: javac C:\Users\lenovo\a.java
  • 一个java源文件可以编译生成多个.class文件.

  • class文件是最终要运行的文件, 所以说class文件生成后, java源文件删除不会影响java程序的运行 ( 但是不建议删除 ).

  • 编译结束后, 可以将.class文件拷贝到其它操作系统上运行.( 跨平台 )

1.6.2. 运行阶段

  • JDK安装后, 自带javac.exe ( 编译 ), 还有一个java.exe ( 运行 ).

  • java.exe语法 : java + 类名

    • 也是在DOS窗口中使用

    • 例如 : 硬盘上有一个A.class, 使用 : java A

      外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

      外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 所以Java既是一种编译型语言也是解释型语言, 是一种混合型语言

1.7. 第一个Java程序

1.7.1. JDK的下载与安装

  • Oracle官网
  • 下载安装

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

1.7.3. JDK的重点目录介绍

  • bin (binary)

    • 存放命令

      外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • lib (library)

    • 存放类库
  • lib/src.zip

    • JDK源码文件

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 使用之前, 得先确保javac和java命令可以使用

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

    • 但是现在这两个命令是不能用的, 所以接下来就要提到环境变量PATH

1.7.2. 环境变量PATH的配置

  • PATH环境变量不是java的, 它是隶属于Windows操作系统的

  • PATH环境变量的作用

    • 在PATH中有很多路径, 路径和路径之间采用分号隔开
    • 在DOS命令窗口中输入一个DOS命令之后, Windows会先从当前路径下找到这个命令, 如果没找到, 则会去PATH当中找, 找到则执行, 找不到则报错
    • PATH实际上就是给Windows指路的
  • 配置PATH
    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

    • 然后要把每一个页面的确定键都点上, 然后把cmd窗口关闭并重新开启, 这样javac和java命令就可以使用了

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

1.7.4. 第一个Java程序的编写

  • 在硬盘的任何位置, 新建一个java源文件, 起名HelloWorld.java
public class HelloWorld{
    public static void main(String[] args){
        System.out.println("HelloWorld!");
    }
}

1.7.5. 第一个Java程序的编译

  • 使用javac 命令来编译, 首先确保javac命令能用
  • javac命令怎么用, 语法是什么
    • javac java源文件的路径( 绝对和相对路径都可以 )

1.7.6. 第一个Java程序的运行

  • 使用java命令来运行, 首先确保java命令能用
  • java语法格式
    • java 类名
    • 注意: java命令后面跟的不是文件路径, 而是类名
  • 类名
    • A.class, 类名是A
    • HelloWorld.class, 类名是HelloWorld
  • 要使用java命令, 首先DOS命令窗口中的当前路径必须切换到.class文件所在的位置

1.7.7. 环境变量classPATH

  • classPATH环境变量是隶属于Java的, 不是Windows, 这和PATH环境变量是完全不同的
  • classPATH是给ClassLoader( 类加载器 )指路的
  • java A, 执行后, 先执行JVM, JVM启动ClassLoader, ClassLoader去硬盘上通过classPATH找A.class文件, 找到则执行, 找不到则报错
  • 如果classPATH没有配置的话, 默认从当前路径下找.class字节码文件. 如果classPATH配置了, 比如配置到了桌面上, 那么ClassLoader以后就只会去桌面上( classPATH )找字节码文件, 不再从当前路径下找了
  • 注意, 如果classPATH配置为: classPATH = .;C:\Users\lenovo\Desktop是什么意思
    • 先让ClassLoader从当前路径下找, 如果找不到的话, 去C:\Users\lenovo\Desktop找
  • 但是对于目前来说, 我们还没有必要这样配置, 所以先可以不配置

1.7.8. 关于编译时的乱码问题

  • 当java源文件中有中文时, 采用某种文本编辑器写代码, 最后会出现中文乱码问题
    • JDK21的javac编译器采用的是UTF-8的编码方式进行编译, 而JDK17是采用的GBK
    • Sublime Text4编码方式是UTF-8
    • 编码不一致, 所以乱码了, 所以可以下载最新的LTS版本的JDK21
  • 解决
    • 第一种方案
      • javac -encoding UTF-8 HelloWorld.java
    • 第二种方案
      • 下载最新的LTS版本的JDK21, 最好选择这个, 要不然每次都得敲上面多出来的命令
    • 不管是哪一种解决方案, 都是为了让两边的字符编码方式一致
  • 编码方式
    • GBK

      • 只支持简体中文
    • UTF-8

      • 支持全球国家所有的语言

1.8. 注释

  • 注释用于解释说明, 帮助程序员快速解读程序

  • 注意: 注释只会在源文件当中, 编译之后.class文件里面是没有注释的

  • 三种注释方式

    • 单行注释

    • 多行注释

    • javadoc注释

      • javadoc命令的位置

      外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 写法

    • 不是越多越多好
    • 应该在合适的位置写注释, 简单明了, 起到点睛之笔
    • 注释能力的提升需要在开发过程中不断地训练来加以提升
  • javadoc命令的简单使用

    • javadoc的标记: 作者@author, 版本号@version, 方法参数@param
    • javadoc -d docs -author -version -encoding UTF-8 HelloWorld.java

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

//单行注释

/*
    多行注释
    多行注释
    多行注释
*/

/**
* javadoc注释
* javadoc注释
* javadoc注释
* 编写在这里的注释信息, 可以被javadoc命令解析提取并生成到帮助文档当中.
*/

public class HelloWorld{
    public static void main(String[] args){
        System.out.println("HelloWorld!");
    }
}
/**
 * HelloWorld程序是一个问世程序, 这个程序中演示了中文乱码问题
 * @author 区区一散修
 * @version 1.0
 * @since 1.0
 */

public class HelloWorld{

    /**
     * 这是main方法, 程序的入口, 程序就是从这里进来开始执行的
     * @param args 这个是main方法的参数
     */

    public static void main(String[] args){
        System.out.println("区区一散修!");
    }
}
  • 解释HelloWorld程序
// public表示公开的
// class表示一个类
// HelloWorld是给这个类起个名

public class HelloWorld{

    // 类体

    // 1.这是main方法, 也叫做主方法
    // 2.main方法是JVM规定的, 固定写法, 照抄就行了, 程序就是从这个位置进来执行的, 这是程序的入口
    // 3.对于main方法来说能修改的就是args这个变量名, 但是一般就这样写, 因为args是arguments(参数)
    // 4.static表示静态的
    // 5.void表示main方法执行结束之后不返回任何数据
    public static void main(String[] args){

        // 方法体
        // 方法体当中由一行一行的java语句组成
        // 任何一条java语句必须以";"结尾, 且每一条java语句当中的标点符号都是英文半角标点
        // 方法体当中的代码是有执行顺序的, 遵循自上而下的顺序依次逐行执行

        // 这行代码的作用: 将字符串"区区一散修!"打印输出到控制台, 并且输出之后还会换行
        System.out.println("区区一散修!");

        // 没有ln是不换行的
        System.out.print("区区一散修!");
    }

    // 类体
    // 编译报错, 类体当中不能直接编写java语句
    System.out.println("这里能写这样的Java语句吗");
}

1.9. public class和class的区别

  • 一个java源文件中可以定义多个class
  • 一个class会编译生成一个class文件
  • public的类可以没有, 有的话, 只能有一个, 并且public的类名要和源文件名保持一致
  • 任何一个class中都可以有main方法
  • 但在实际开发中, 对于一个软件来说, 一般入口只有一个
public class a{
	public static void main(String[] args){
		System.out.println("a");
	}
}

class X{
	public static void main(String[] args){
		System.out.println("X");
	}
}

class Y{
	public static void main(String[] args){
		System.out.println("Y");
	}
}

class Z{
	public static void main(String[] args){
		System.out.println("Z");
	}
}

1.10. Test

/*
	1. 打印你的个人信息
		包括: 姓名, 年龄, 性别, 家庭住址, 联系电话

	2. 打印一个菱形
			*
		   ***
		  *****
		 *******
		*********
		 *******
		  *****
		   ***
		    *

	3. 打印商品列表
		product price stack
		aplle	3.5		10
		banana	2.5		20
		orange	4.0 	15
*/

// 第一题
class one{
	public static void main(String[] args){
		System.out.println("姓名: 区区一散修");
		System.out.println("年龄: 未知");
		System.out.println("性别: 男");
		System.out.println("家庭住址: 深山老林");
		System.out.println("联系电话: 111");
	}
}

//第二题
class two{
	public static void main(String[] args){
		System.out.println("    *    ");
		System.out.println("   ***   ");
		System.out.println("  ******  ");
		System.out.println(" ******** ");
		System.out.println("**********");
		System.out.println(" ******** ");
		System.out.println("  ******  ");
		System.out.println("   ***   ");
		System.out.println("    *    ");
	}
}

//第三题
class three{
	public static void main(String[] args){
		System.out.println("product\tprice\tstock");
		System.out.println("aplle\t3.5\t10");
		System.out.println("banana\t2.5\t20");
		System.out.println("orange\t4.0\t15");
	}
}

intln(“性别: 男”);
System.out.println(“家庭住址: 深山老林”);
System.out.println(“联系电话: 111”);
}
}

//第二题
class two{
public static void main(String[] args){
System.out.println(" * “);
System.out.println(” *** “);
System.out.println(” ****** “);
System.out.println(” ******** “);
System.out.println(”**********“);
System.out.println(” ******** “);
System.out.println(” ****** “);
System.out.println(” *** “);
System.out.println(” * ");
}
}

//第三题
class three{
public static void main(String[] args){
System.out.println(“product\tprice\tstock”);
System.out.println(“aplle\t3.5\t10”);
System.out.println(“banana\t2.5\t20”);
System.out.println(“orange\t4.0\t15”);
}
}


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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LlamaIndex 如何可视化跟踪日志

LlamaIndex 中无论是 RAG 还是 Agent,都是需要和 LLM 进行交互,在这个流程流中包括搜索、Retrieve和推理等多个阶段。提示词在整个流程通过模板进行控制,LlamaIndex 通过整合和调度完成最终任务。 大模型的一个最大特点就是无法保证回答百分…

假如有一个嵌套集合,怎么通过stream流将集合放到一个集合之中?

假如有一个嵌套集合,怎么通过stream流将集合放到一个集合之中? 问题解释:你有一个嵌套的集合,想要通过 Stream 流的方式将其中嵌套的集合放到一个新的集合中。可以使用 flatMap 方法来实现。这种方法非常适合处理嵌套集合的情况。…

2个方法教你如何删除ZIP压缩包密码

zip压缩包设置了加密密码,每次解压文件都需要输入密码才能够顺利解压出文件,当压缩包文件不再需要加密的时候,大家肯定想删除压缩包密码,或是忘记了压缩包密码,想要通过删除操作将压缩包密码删除,就能够顺利…

Basic Pentesting:2-打靶渗透【附代码】(权限提升)

靶机下载地址: https://www.vulnhub.com/entry/basic-pentesting-2,241/https://www.vulnhub.com/entry/basic-pentesting-2,241/ 1. 主机发现端口扫描目录扫描敏感信息获取 1.1. 主机发现 nmap -sn 192.168.7.0/24|grep -B 2 08:00:27:1D:4A:27 1.2. 端口扫描 …

MongoDB学习记录

1、初识Mongo 概述:与关系型数据库不同,MongoDB 的数据以类似于 JSON 格式的二进制文档存储,通常称这种格式为Bson,Bson不仅支持JSON中已有的数据类型,还增加了一些额外的数据类型,例如日期和二进制数据&a…

第二十三天培训笔记

上午 在同步时,对删除和修改都比较慎重(监控同步时) mysql 主从搭建 前提软件 libaio , rsync 注意:先执行从服务器的脚本,再执行主服务器脚本 master-mysql 配置脚本 2 、其他常⽤函数 ( …

【ML】pre-train model 是什么如何微调它,如何预训练

【ML】pre-train model 是什么如何微调它,如何预训练 0. 预训练模型(Pre-trained Model)0.1 预训练模型的预训练过程0.2 如何微调预训练模型0.3 总结 1. Contextualized word Embedding2. 怎么 让 bert 模型变小3. 如何微调模型 0. 预训练模型…

# 利刃出鞘_Tomcat 核心原理解析(三)

利刃出鞘_Tomcat 核心原理解析(三) 一、 Tomcat专题 - Tomcat架构 - 启动流程 1、Tomcat 启动流程 2、Tomcat 启动 步骤 : 1) 启动tomcat , 需要调用 bin/startup.bat (在linux 目录下 , 需要调用 bin/startup.sh) &#xff0c…

推荐学计算机的好用的软件

翻译软件 网易有道翻译 在敲代码时会遇见一些报错,这些报错提示都是以英文方式呈现的,这时候英语不好的就可以进行截图翻译了。快捷键:Ctrl Alt D 它可以进行语言的选择 不仅可以语言之间的转换,还有一些其他的功能&#xff0c…

用AI生成海报设计!AI绘画大模型Flux的在线使用!

​ 前言/海报生成 除了这种高质量的人像图片生成, ​ ​这个刚开源的flux AI绘画大模型也能用来直接生成这种动画海报,其实这个就是基于它优质的语义理解能力以及文本生成能力。 那我们来操作一下, flux需要本地部署并且在comfyUI使用&…

【Linux】基础IO认知

文件 1、回顾C语言中的文件接口2、对文件的理解(阶段一)3、文件操作3、1、C的文件操作接口3、2、认识系统调用接口3、2、强化对fd文件描述符及周边知识的理解 1、回顾C语言中的文件接口 事实上,我们在C语言的学习中了解的文件并不是真正的文件。从语言角度来说&…

在MLU370运行CogVideoX-2b轻轻松松!

文章目录 一、paas平台环境配置二、模型下载三、环境下载1.pip 正常安装2.diffusers安装 四、代码准备五、运行效果演示 一、paas平台环境配置 驱动版本选择:大于或等于5.10.29 显卡选择:MLU370系列 卡数:1-8卡【推荐2卡起步】 镜像选择&…

【层归一化用于单个样本适合于序列建模,通俗】

层归一化(Layer Normalization),简称 LayerNorm,会将神经网络层的激活值规范到均值为0,并将其方差归一化为1。尤其是在循环神经网络(RNNs)和自注意力模型(如 Transformers&#xff0…

加强混合工作时代的组织网络安全态势

随着组织转向采用和实施混合和远程工作模式,网络安全的重要性从未如此重要。虽然工作场所的这种演变提供了灵活性并有望提高生产力,但它也带来了组织无法忽视的无数网络安全挑战。多样化工作环境的整合需要强大的安全措施、创新的保护策略和警惕的文化&a…

信息学奥赛初赛天天练-60-NOIP2018普及组-基础题4-逻辑推理、分类归纳、找规律

PDF文档公众号回复关键字:20240809 NOIP2018 基础题4 1 甲乙丙丁四人在考虑周末要不要外出郊游 已知①如果周末下雨,并且乙不去,则甲一定不去;②如果乙去,则丁一定去;③如果丙去,则丁一定不去&#xff1b…

TLS 证书有效期缩短预计将使管理工作复杂化

76% 的安全领导者认识到迫切需要缩短证书有效期来提高安全性。然而,许多人觉得自己还没有准备好采取行动,77% 的人表示,改为使用 90 天证书将意味着不可避免地会出现更多中断。 谷歌计划缩短 TLS 证书有效期 81% 的安全主管认为&#xff0c…

性能分析的思想和方法

性能分析的思想和方法 作为新手,经历了性能测试需求分析、性能测试计划、性能测试压测工具/脚本等前置的一系列准备后,到了实施环节,支棱起来压测后,怎么判断有没有问题呢? 本文主要讲一下性能分析思想的几种方法,让大家知道在压测过程中发现了问题后如何去分析问题。…

Cmseasy_5.5的SQL注入

未授权访问进入后台获取Cookie安全码 在cmseasy目录下的lib/admin/admin.php中有这么一句代码,可以让我们实现未授权访问进入到cmseasy的后台获取Cookie安全码,为我们后期的注入做准备。 if($servipfront::ip()&&front::get(ishtml)1) return; …

python连接MySQL数据库使用pymysql

开头 经过这么一段时间的学生信息管理系统的摸爬滚打,不断的学习更新的知识,不断修改自己的认知,针对pymysql以及MySQL数据库的知识做个总结,以纪念我这段时间的学习。 目录 开头 pymysql的使用流程 1.导入pymysql的工具包 方…

TB6612FNG电机驱动连线图

TB6612FNG电机驱动连线图 原理图: 实物对应图: 面包板连线图: