第01章+Java概述

news2025/7/27 12:28:43

课程链接:韩顺平Java_程序举例_哔哩哔哩_bilibili

什么叫程序

程序计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合。

Java版本迭代

官网介绍:

Oracle Java SE Support Roadmap在这里插入图片描述

LTS为长期支持版本:推荐使用java8和java11

知识点总结:

  • java从95年开始发布
  • java之父为gosling(高司令)
  • 公司中使用最多的为java8和java11

Java技术体系平台

  • Java SE(Java Standard Edition)标准版

支持面向桌面级应用(如Windows下的应用程序)的Java平台,提供了完整的Java核心API。

  • Java EE(Java Enterprise Edition)企业版

该技术体系中包含的技术如:Servlet、Jsp等等,主要针对Web应用程序开发。

  • Java ME(Java Micro Edition)小型版

支持Java程序运行在移动终端(手机、PDA)上的平台,对Java API有所精简,并加入了针对移动终端的支持。目前市场占有率非常低,移动开发主要适用Android。

Java EE是在Java SE的基础上进行开发,所以Java SE是重中之重。

Java特性

1、Java语言是面向对象(oop:Object-oriented programming)

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

3、Java语言是跨平台性的。

一个编译好的class文件,可以在多个系统下运行,这种特性称为跨平台。
在这里插入图片描述说明:同一个Java程序在三个不同的操作系统中都可以执行。这就实现了Java程序的跨平台性。

4、Java是解释型语言

解释性语言: javascript,PHP,Java 编译性语言:C\C++

区别是:解释性语言,编译后的代码「.class文件」,不能直接被机器执行,需要解释器来执行,而编译性语言编译后的代码,可以直接被机器执行。

Java运行机制及运行过程基本介绍

Java核心机制:Java虚拟机【JVM java virtual machine】

基本介绍:

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

在这里插入图片描述

什么是JDK、JRE

JDK基本介绍

1、JDK的全称(Java Development Kit 。Java开发工具包)

JDK = JRE + java开发工具[java, javac,javadoc,javap等]

2、JDK是提供给Java开发人员使用,JDK包含JRE。

JRE基本介绍

1、JRE(Java Runtime Environment。 java运行环境)

JRE = JVM + Java核心类库【类】

2、如果想要运行Java程序,计算机中只需要安装JRE就行。

总结:

JDK = JRE + 开发工具集(例如:javac、java编译工具等)

JRE = JVM + Java SE 标准类库

那么:JDK = JVM + Java SE标准类库 + 开发工具集

注意:如果只想运行开发好的.class文件,则只需要安装JRE

JDK安装

官方网址:

https://www.oracle.com/java/technologies/downloads/

注意Windows下的环境变量配置:

1、环境变量的作用是为了在DOS的任意目录下都可以运行javac、javadoc的命令

2、环境变量配置方法:

  • 先配置 JAVA_HOME = jdk安装的主目录
  • 编辑path环境变量,增加 %JAVA_HOME%\bin

Java 快速入门

// 表示Hello是一个类,而且是一个公用的类「public」
// Hello{ } 表示一个类的开始和结束
public class Hello{
	// public static void main(String[] args) 编写main方法即主方法,表示程序的入口
	// main(){ } 表示方法的开始和结束。
	// ; 分号表示语句的结束
	public static void main(String[] args){
		System.out.println("Hello World!!!")
	}
}
# 先编译
javac Hello.java
# 运行
java Hello

Java运行机制

在这里插入图片描述

什么是编译

1、有了java源文件,通过编译器将其编译成JVM可以识别的字节码文件。

2、通过javac编译工具对Hello.java文件进行编译,编译之后,Hello.java下会生成对应的Hello.class文件,该文件称之为字节码文件,也就是可以执行的java程序。

什么是解释器

Java解释器:解释器是Java虚拟机非常重要的一部分,它的工作就是把字节码转化为机器码并在特定的平台进行运行。

Java编码细节

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

2、Java应用程序的执行入口是main()方法,它的书写格式为:public static void main(String[] args){ }

3、Java严格区分大小写

4、Java方法由一条条的语句构成,每个语句以「 ; 」结尾

5、大括号{}都是成对存在的,习惯,先写{}再写代码。

6、一个源文件中最多包含一个public类。其他类的个数不限。

// 6、一个源文件中最多包含一个public类。其他类的个数不限。
// 每一个类,经过编译后,都会生成对应类名的.class字节码文件
class Dog{

}

class Tiger{

}

每一个类,经过编译后,都会生成对应类名的.class字节码文件

7、如果源文件包含一个public类,则该类必须与文件名一致。

8、一个源文件中最多只能有一个public类,其他类的个数不限。也可以将main方法写在非public类中,然后制定运行非public类,这样main方法作为非public的入口方法。

class Dog{
	public static void main(String[] args){

		System.out.println("hello, 小狗狗");
	}
}

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

Java转义字符

public class ChangeChar{
	public static void main(String[] args){
		// \t: 制表位,实现对齐的功能
		System.out.println("\\t的使用:北京\t天津\t上海");
		// \n: 换行符
		System.out.println("\\n的使用:NIKE\nADRESS\nPUMA");
		// \\: 输出一个 \
		System.out.println("\\\\的使用: C:\\Windows\\System\\com.exe");
		// \": 输出一个 双引号
		System.out.println("\\\"的使用: zhangch speak:\"好好学习,天天向上\"");
		// \‘: 输出一个 单引号
		System.out.println("\\\'的使用: zhangch speak:\'好好学习,天天向上\'");
		// \r: 回车
		// 1、先输出zhangch speak:
		// 2、\r会车至行首,然后输入:好好学习,此时一个汉字占位顶两个英文单词,所以输出为:好好学习java
		System.out.println("\\r的使用: ");
		System.out.println("zhangch java\r好好学习"); 

	}
}

Java注释

单行注释: // 注释内容
多行注释: /* 注释内容 *

文档注释 /** 注释内容 */

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

  • 基本格式
  • 如何生成对应的文档注释
  • 应用实例
/**
 * @author Zhangch
 * @version 1.0
 */

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

执行命令:javadoc -d ./temp -author -version ./JavaDoc.java

  • 代码中仅添加了-author -version,所以指令中对应添加上这两个参数【可省略】
  • -d指定输出文档注释保存的位置
  • ./JavaDoc.java:指定java文件位置

其他的注释标签:
java 文档注释 – javadoc 标签 - 快乐随行 - 博客园

Java代码规范

1、类、方法的注释,要使用javadoc的方法来写。
2、非javadoc的注释,往往给代码的维护者来看,着重告诉读者为什么这么写、如果修改、注意什么问题等。
3、运算符和 = 两边习惯性的加空格。
4、行宽度不要超过80个字符。
5、代码编写次行风格和行尾风格【推荐】。

DOS命令

DOS介绍

DOS(Disk Operating System) 磁盘操作系统。主要在Windows中,用于对命令的处理。

当在控制台输入一条命令时,DOS进行:
1、接收指令
2、解析指令
3、运行指令

常用DOS指令

  • 查看当前目录下的文件: dir
  • 切换到其他盘下: cd c: → change Directory 切换到C盘
  • 切换到当前盘的根目录: cd \
  • 切换到上一级: cd …
  • 输出目录树: tree
  • 创建\删除 文件夹: md\rd 文件夹名称 可多个文件夹名称,对应创建多个文件夹
      md a b c   // 同时在当前目录下创建a\b\c三个文件夹
    
  • 拷贝\删除 文件:copy\del 文件名
  • 输入内容到文件: echo
    格式为:echo 内容 > 文件名 
    echo zhangch > a.txt  将zhangch内容输入到a.txt中,没有文件则自动创建
    echo nul > a.txt  创建a.txt文件,内容为空
    
  • 移动/剪切 文件: move

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

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

相关文章

IQM的Unimon:一种新的量子比特,可促进量子计算机的实用化

​ 量子处理器中unimon 量子比特的艺术效果图。(图片来源:网络) 来自芬兰IQM量子计算机公司、阿尔托大学和芬兰VTT技术研究中心的一组科学家发现了一种新的超导量子比特——unimon,可提高量子计算的准确性。该团队已经实现了第一…

解读阿里Q2财报:阿里云的跨周期引擎

昨天,阿里巴巴公布今年6月到9月财务业绩,显示云业务总收入为267.6亿元,在除去阿里内部使用的额度后,抵销跨分部交易后营收为207.57亿元,比上一个季度增长超17%。 具体看,值得关注的有三点: 1、…

Python爬取公交线路信息及站点shp数据 文末附数据下载地址

本篇主要记录爬取公交网整个过程,由于这次所用方法虽比较常规,但由于该网站页面内容转码原因以及遍历链接较多,所以小坑还是比较多的,特在此进行记录。 以前爬过百度地图,当时用的是API平台,加上网站比较规范,所以标签节点什么的都比较清晰,但这次由于特殊原因所选择的…

对JavaScript中的Math.random随机函数破解

什么是随机 在通常的说法中,随机性是指事件中明显实际缺乏可预测性,事件、符号或步骤的随机序列通常没有顺序 举个例子,比如我们在抛硬币,硬币的结果取决于很多因素,比如说我们施加的力,空气阻力&#xff…

Linus shell 在一个脚本中调用另外一个脚本变量

1.新建public.sh文件,并添加以下内容: 2.新建ceshi.sh文件,并添加以下内容: 3.在终端赋予ceshi.sh文件执行权限,并运行该文件。

角度回归(复数与欧拉公式,L1,L2)

文章目录1 BEV下,Eula 损失函数2 BEV下,PointPillars使用sin联合SmoothL13 透视图下, MultiBin 全局方向损失4 L1/L2-norm 的周期损失函数1 BEV下,Eula 损失函数 Yolo-complex的论文中,对于BEV视角下,目标…

SDN和NFV的区别?

前言 网络功能虚拟化(Network Functions Virtualization,NFV)是一种关于网络架构的概念。我们平时使用的x86服务器由硬件厂商生产,在安装了不同的操作系统以及软件后实现了各种各样的功能。而传统的网络设备并没有采用这种模式&am…

2000-2019年各省产业结构合理化指数(干春晖泰尔指数)

2000-2019年省级产业结构合理化指数(干春晖泰尔指数) 1、来源:统计NJ及各省统计NJ 2、时间2000-2019年 3、数据说明:含原始数据和计算过程 4、范围包括全国31省 5、指标包括:各省总产值、第一产业增加值、第二产业…

C++基础知识要点--表达式 (Primer C++ 第五版 · 阅读笔记)

目录表达式基础算术运算符逻辑和关系运算符赋值运算符递增和递减运算符成员访问运算符条件运算符位运算符sizeof运算符逗号运算符类运算符运算符优先级表表达式 基础 当一个对象被用作右值的时候,用的是对象的 值(内容);当对象被用作左值的时候&#x…

Linux 信号

概念:信号不是信号量,信号量是进程间的一种通信方式,信号是系统中的软件中断,指一种事件通知机制,通知进程发生了某个事件,打断当前的操作,去处理这个事件。 种类:一共有62种信号&a…

Linux之用户管理、权限管理、程序安装卸载

一. 用户管理 1. 查看账户 (1). 查看当前账号:whoami ​​(2). 查看系统当前登录的账号:who ​​补充常用选项: ​​(3). 查看系统所有的账号: cat /etc/passwd ​​2. exit:退出登录账户 如果是图形界面&#xff0c…

curl命令的常用操作

curl是非常实用的命令行工具,用来与服务器之间传输数据。它的命令行参数多达几十种。 在Linux环境中使用curl命令可以进行接口测试。利用curl对http协议发送Get/Post/Delete/Put请求,同时还可以携带header来满足接口的特定需求。 curl命令的语法 curl[options] [U…

Linux03-网络设置

一、说明 在上一节,咱使用VMware安装了虚拟机,网络设置选择了 “桥接模式” ,本节咱们来具体讨论一下网络连接方式和网络设置。 实验环境:CentOS7 VMware 二、桥接模式 当我们设置桥接模式时,虚拟机是直接使用物理…

eNSP出现错误,错误代码40暴力解决方案

如果你和我一样,在eNSP中启动一个设备时发生了错误,错误代码为40,那么这篇文件可能会帮助你。 首先你可以仔细地按照这篇说明中的做法进行操作,如果你电脑也是win10,并且之前没有安装过wireshark,virtualb…

后端总说他啥也没动,我从线上调了一下测试接口,你再说一句动没动

◇ 不知道广大前端同学有没有过这样的经历,在做新需求联调的时候,原本上一个版本已经做的好好的功能,前后端已经联调好的。这次做需求的时候,测试发现好多地方都不对了。 ◇ 开发人员经常说的一句话就是:我啥也没动啊…

Java -- 每日一问:你了解Java应用开发中的注入攻击吗?

典型回答 注入式(Inject)攻击是一类非常常见的攻击方式,其基本特征是程序允许攻击者将不可信的动态内容注入到程序中,并将其执行,这就可能完全改变最初预计的执行过程,产生恶意效果。 下面是几种主要的注…

Web前端:2022年Web开发者的五大CSS工具

据相关数据统计,2018年至2028年,网络开发人员的就业预计将增长13%,这意味着网站开发者的需求量很大,而企业需要专业人员来构建网站,而高效制作优秀网站的最佳方法是拥有最好的web开发工具。 对优秀web开发工具的需求使…

设信号x(t)=cos(2π×50t)+2×cos(2π×400t),试将它的两个频率分量分离,并绘制它们的时域波形及频谱图

以下程序无需赋值,直接运行即可: (已验证可以运行) function [yl,yh]shiyan49 fs1600; %采样频率 Tt0.02; %信号周期 T04*Tt; %记录长度 [xn,wk,N]shiyan40(fs,T0); Mlength(wk); if M2 rp1;rs80; f1wk(1)*fs/N; f2wk(2…

升余弦滤波器的FPGA实现

目录 升余弦滤波器与无码间串扰(一) 升余弦滤波器与无码间串扰(二) 升余弦滤波器的FPGA实现 一、FIR ip核 成形滤波器采用vivado中的FIR ip核实现。滤波器的系数用matlab产生并转成coe文件。 wire m_axis_data_tvalid; rcos_f…

官网下载JAVA的JDK11版本(下载、安装、配置环境变量)

目录 前言: 一、下载JDK11 1.先去浏览器搜索 2.选择Products 3.Java ​编辑 4.往下滑找到Oracle JDK,然后点击 5.往下滑找到Java11,再选择自己的操作系统 6.选择exe这个直接安装的后缀 7.跳出来的弹窗勾选,并点击 8.弹出来一个甲骨文…