ch02

news/2025/1/15 15:48:58/文章来源:https://www.cnblogs.com/cwxxbq12345/p/18411407
  • 第2章 Java概述与基础知识

    • Java 历史

    • Java技术体系平台

    • Java 重要特点

      • [Java 虚拟机[JVM]](#java-虚拟机jvm)

    • JDK,JRE

      • JDK 基本介绍

      • JRE 基本介绍

      • JDK、JRE 和JVM 的包含关系

    • Java 快速入门

    • 注意细节

    • Java 转义字符

      • Java 常用的转义字符

    • 注释(comment)

      • Java 中的注释类型

      • 关于文档注释

        • javadoc 常见标签

    • Java 代码规范

    • DOS 命令

      • DOS 介绍

      • 常用的dos 命令

    • 环境变量path配置及其作用

第2章 Java概述与基础知识

Java 历史

  • 1990 sun公司启动绿色计划

  • 1992创建oak(橡树)语言->java

  • 1994 gosling参加硅谷大会演示java功能震惊世界。1995 sun 正式发布java第1个版本。

  • 2009年,甲骨文公司宣布收购Sun 。

  • 2011,发布java7

 

Java技术体系平台

  • Java SE (Java Standard Edition) 标准版 支持面向桌面级应用(如Windows下的应用程序)的Java平台,提供了完整的Java核心API,此版本以前称为J2SE

  • Java EE(Java Enterprise Edition)企业版 是为开发企业环境下的应用程序提供的一套解决方案。该技术体系中包含的技术如:Servlet、Jsp等,主要针对于Web应用程序开发。版本以前称为J2EE

  • Java ME(Java Micro Edition)小型版 支持Java程序运行在移动终端(手机、PDA)上的平台,对Java API有所精简,并加入了键对移动终端的支持,此版本以前称为J2ME

Java 重要特点

1) Java 语言是面向对象的(oop)

2) Java 语言是健壮的。Java 的强类型机制、异常处理、垃圾的自动收集等是Java 程序健壮性的重要保证

3) Java 语言是跨平台性的。[编译好的.class 文件可以在多个系统下运行,这种特性称为跨平台]

4) Java 语言是解释型的

解释性语言:javascript,PHP, java

编译性语言: c / c++ 区别是:解释性语言,编译后的代码,不能直接被机器执行,需要解释器来执行, 编译性语言, 编译后的代码, 可以直接被机器执行。

Java 虚拟机[JVM]

1) JVM 是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指令,管理数据、内存、寄存器,包含在JDK 中。 2) 对于不同的平台,有不同的虚拟机。 3) Java 虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”。

 

JDK,JRE

JDK 基本介绍

1) JDK 的全称(Java Development Kit Java 开发工具包) JDK = JRE + java 的开发工具[java, javac,javadoc,javap 等] 2) JDK 是提供给Java 开发人员使用的,其中包含了java 的开发工具,也包括了JRE。

JRE 基本介绍

1) JRE(Java Runtime Environment Java 运行环境) JRE = JVM + Java 的核心类库[类] 2) 包括Java 虚拟机(JVM Java Virtual Machine)和Java 程序所需的核心类库等,如果想要运行一个开发好的Java 程序,计算机中只需要安装JRE 即可。

JDK、JRE 和JVM 的包含关系

1) JDK = JRE + 开发工具集(例如Javac,java 编译工具等) 2) JRE = JVM + Java SE 标准类库(java 核心类库) 3) 如果只想运行开发好的.class 文件只需要JRE

Java 快速入门

开发步骤

1) 将Java 代码编写到扩展名为Hello.java 的文件中。 2) 通过javac 命令对该java 文件进行编译,生成.class 文件。 3) 通过java 命令对生成的class 文件进行运行。

 

注意细节

Java源文件以.java 为扩展名。源文件的基本组成部分是类(class),如本类中的Hello类。

Java应用程序的执行入口是main(方法。它有固定的书写格式: public static void main(String[] args)

Java语言严格区分大小写。

一个源文件中最多只能有一个public类。其它类的个数不限。每个类对应一个class。

如果源文件包含一个public类,则文件名必须按该类名命名!

一个源文件中最多只能有一个public类。其它类的个数不限,也可以将main方法写在非public类中,然后指定运行非public类,这样入口方法就是非public 的main方法。

//这是java的快速入门, 演示java的开发步骤
//对代码的相关说明
//1. public class Hello 表示Hello是一个类,是一个public公有的类
//2. Hello{ } 表示一个类的开始和结束
//3. public static void main(String[] args) 表示一个主方法,即我们程序的入口
//4. main() {} 表示方法的开始和结束
//5. System.out.println("hello,world~"); 表示输出"hello,world~"到屏幕
//6. ;表示语句结束
public class Hello {

   //编写一个main方法
   public static void main(String[] args) {
       System.out.println("timerring hello");
  }

}

//一个源文件中最多只能有一个public类。其它类的个数不限。[演示]
//Dog 是一个类
//编译后,每一个类,都对于一个.class
class Dog {

   //一个源文件中最多只能有一个public类。其它类的个数不限,也可以将main方法写在非public类中,
   //然后指定运行非public 类,这样入口方法就是非public 的main方法
   public static void main(String[] args) {
       System.out.println("hello, 狗狗");
  }
}

class Tiger {

   public static void main(String[] args) {
       System.out.println("hello, 老虎");
  }

}

Java 转义字符

Java 常用的转义字符

在控制台,输入tab 键,可以实现命令补全 \t :一个制表位,实现对齐的功能 \n :换行符 \ :一个\ " :一个" ' :一个' \r :一个回车System.out.println("timerring\r 北京"); 注意:回车不换行。

注释(comment)

Java 中的注释类型

1) 单行注释// 2) 多行注释/* */ (多行注释里面不允许有多行注释嵌套) 3) 文档注释/** */

关于文档注释

/**
* @author timerring
* @version 1.0
*/

// 其中author version 是javadoc的标签
public class Comment02 {

   //编写一个main方法
   public static void main(String[] args) {
  }
}

注释内容可以被JDK提供的工具javadoc所解析,生成一套以网页文件形式体现的该程序的说明文档,一般写在类

javadoc -d 生成的doc所存的文件夹名 -author -version Comment02.java

javadoc 常见标签

标签描述示例
@author 标识一个类的作者 @author description
@deprecated 指名一个过期的类或成员 @deprecated description
{@docRoot} 指明当前文档根目录的路径 Directory Path
@exception 标志一个类抛出的异常 @exception exception-name explanation
{@inheritDoc} 从直接父类继承的注释 Inherits a comment from the immediate surperclass.
{@link} 插入一个到另一个主题的链接 {@link name text}
{@linkplain} 插入一个到另一个主题的链接,但是该链接显示纯文本字体 Inserts an in-line link to another topic.
@param 说明一个方法的参数 @param parameter-name explanation
@return 说明返回值类型 @return explanation
@see 指定一个到另一个主题的链接 @see anchor
@serial 说明一个序列化属性 @serial description
@serialData 说明通过writeObject( ) 和 writeExternal( )方法写的数据 @serialData description
@serialField 说明一个ObjectStreamField组件 @serialField name type description
@since 标记当引入一个特定的变化时 @since release
@throws 和 @exception标签一样. The @throws tag has the same meaning as the @exception tag.
{@value} 显示常量的值,该常量必须是static属性。 Displays the value of a constant, which must be a static field.
@version 指定类的版本 @version info

Java 代码规范

  1. 类、方法的注释,要以javadoc的方式来写。

  2. 非Java Doc的注释,往往是给代码的维护者看的,着重告述读者为什么这样写,如何修改,注意什么问题等

  3. 使用tab操作,实现缩进,默认整体向右边移动,时候用shift+tab整体向左移

  4. 运算符和=两边习惯性各加一个空格。

  5. 源文件使用utf-8编码

  6. 行宽度不要超过80字符

  7. 代码编写次行风格和行尾风格(!) 推荐行尾风格。

DOS 命令

DOS 介绍

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

常用的dos 命令

1) 查看当前目录是有什么内容 dir dir d:\abc2\test200

2) 切换到其他盘下:盘符号cd : change directory

3) 切换到当前盘的其他目录下(使用相对路径和绝对路径演示), ..\表示上一级目录

4) 切换到上一级: 案例演示: cd ..

5) 切换到根目录:cd \ 案例演示:cd \

6) 查看指定的目录下所有的子级目录tree

7) 清屏cls

8) 退出DOS exit

9) (md[创建目录],rd[删除目录],copy[拷贝文件],del[删除文件],echo[输入内容到文件],type,move[剪切])

echo ok > pic.txt

环境变量path配置及其作用

  1. 环境变量的作用是为了在dos的任意目录,可以去使用java 和 javac命令

  2. 先配置 JAVA_HOME = 指向jdk安装的主目录

  3. 编辑path环境变量,增加 %JAVA_HOME%\bin

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

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

相关文章

机器学习作业4

机器学习作业4 学号:102102156 姓名:高涛 1. 图像聚类 1.1 代码1.2 绘制结果2.图像特征脸(eigenfaces) 2.1 代码2.2 绘制结果![image-20240913014823493] 3.1 图像降维 3.1 代码3.2 绘制结果

软工个人项目-论文查重

软工个人项目-论文查重这个作业属于哪个课程 广工计院计科34班软工这个作业要求在哪里 https://edu.cnblogs.com/campus/gdgy/CSGrade22-34/homework/13229这个作业的目标 个人独立完成论文查重代码,进一步了解项目开发的流程,学会运用工具分析消除警告,运用性能分析工具进行…

和PLC对配置的繁琐工序

上位机开发最烦和PLC对轴的位置,点的位置,一大堆的手写工序,数据不是放在Excel表,就是放在txt或者ini 图1.图2这次的需求 我需要手动将图1的数据写到图2 太麻烦 所以我准备写一个工具实现它 首先,我打算生成图2,需要使用到XML反序列化,读取图1,我使用MiniExcel 所以我先…

Redis入门 - C#|.NET Core封装Nuget包

分享封装Redis C#库并打包成Nuget包的方法,旨在增强代码可测试性、解耦及扩展Redis功能。通过封装Redis客户端库,提供统一接口,便于测试、替换和扩展功能,同时支持依赖注入,简化配置和使用。经过前面章节的学习,可以说大家已经算Redis开发入门了。已经可以去到项目上磨砺…

vue3项目部署到Github

此教程适应于以webpack,vue-cli,vite等脚手架构建的vue项目。当然,vue2和vue3都是可以滴。1. 前提:你的代码库已经提交到Github上 如果没有的话,请到GitHub上新建仓库,并把你本地的项目提交到GitHub上新建的仓库里。 具体方法,可以参考我的博客 Git使用记录 - 持续更新 …

[极客大挑战 2019]LoveSQL 1

启动靶机作者不建议使用sqlmap我们这里就进行手工注入 用万能口令登录 admin or 1 =1# ,详情见上文(https://www.cnblogs.com/m1saka1/p/18411197) 登录成功获得用户名和密码,发现密码并没有卵用,只能换思路利用账号密码的回显页面进行sql注入爆破数据库 由于网站自动转义,…

Go日志管理库zap

一、zap介绍 在许多Go语言项目中,我们需要一个好的日志记录器能够提供下面这些功能: 1.能够将事件记录到文件中,而不是应用程序控制台。 2.日志切割-能够根据文件大小、时间或间隔等来切割日志文件。 3.支持不同的日志级别。例如INFO,DEBUG,ERROR等。 4.能够打印基本信息,…

深度神经网络DNN、RNN、RCNN及多种机器学习金融交易策略研究|附数据代码

全文链接:https://tecdat.cn/?p=37668 原文出处:拓端数据部落公众号 分析师:Aijun Zhang 在当今的金融领域,量化交易正凭借其科学性和高效性逐渐成为主流投资方式之一。随着大数据技术的蓬勃发展,量化交易借助先进的数学模型和计算机分析能力,摒弃了人的主观判断,通过…

第一次个人作业

这个作业属于哪个课程 班级的链接这个作业要求在哪里 作业要求的链接这个作业的目标 实现论文查重算法,并对代码进行性能分析、单元测试,使用PSP表GitHub链接 一、PSP表PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)Planning 计划 15 20Estimate 估…

mybatis exists 中使用代替in关键字

使用场景,in适合数据量小的时候,exists适合数据量大的时候。<if test="torqueRecordPageDTO.vinList != null and torqueRecordPageDTO.vinList.size >0">and exists (select 1 from (<foreach collection="torqueRecordPageDTO.vinList" it…

图与网络——TSP问题精解

旅行商问题(Travelling Salesman Problem, TSP)是组合优化领域中的经典问题之一。TSP的概念最早可以追溯到18世纪,瑞士数学家欧拉在解决柯尼斯堡七桥问题时首次提出了关于图中遍历的问题。不过,作为一个优化问题,TSP在19世纪才开始形成系统的研究。1920年代,TSP被德国数学…