2021-04-25

Java语言基础概念

  • Java语言基础概念
  • Java主要技术分支
  • Java应用场景
  • JVM、JRE和JDK的区别
  • Java的三种核心机制
    • Java虚拟机(Java Virtual Machine)
    • 垃圾收集机制Garbage Collection
    • 代码安全性检测Code Security
  • Hello Java
    • Java虚拟机中类加载的过程
  • javadoc用法
  • Java中注释
  • IDE工具的安装
    • Eclipse
  • 熟悉Eclipse基本使用
    • 常用快捷键
  • Java标识符
  • 48个关键字
    • 编码规范
  • 变量
  • JAVA是强类型语言
    • 基本类型
    • 计算机中的数据存储方式
    • 整数类型
    • 浮点数类型
    • 字符类型char
    • 逻辑类型boolean
    • 基本数据类型转换

Java语言基础概念

  • 一种面向对象的语言
public class Hello{
 public static void main(String[] args){
 System.out.println("Hello world!");
 }
}
  • 一种平台无关的语言,必须程序运行的解释环境
    javac Hello.java-----Hello.class
  • 一种健壮的语言,吸收了C/C++语言的优点,但是去掉了影响程序健壮性的部分,例如指针、内存的申请与释放等
    不能讨论指针

Java主要技术分支

JavaSE:Java标准版,适合于开发桌面系统和低端商务应用系统
JavaEE:Java企业版,为企业提供电子商务构架及Web服务的解决方案
JavaME:Java微型版,是移动商务最佳的应用典范

Java应用场景

Java编程语言是一种广泛应用于互联网应用的高级计算机语言,主要应用于网络编程和互联网电子商务应用,特别适合于Internet应用程序开发

JVM、JRE和JDK的区别

JVM -java virtual machine在真实机器中用软件模拟实现的一种想象机器 ,java虚拟机负责解释执行字节码文件,是可以运行Java字节码文件的虚拟计算机。JVM可以保证java的跨平台的特性。java语言是跨平台,jvm不是跨平台的
JRE - java 运行环境。JRE 是由JVM 和 java platform 核心类以及相关支撑文件组成
Java的开发平台JDK是开发人员用来构建Java应用程序的软件包,它包括:Java虚拟机JVM、Java编译器
javac、Java归档jar实用程序、Java文档javadoc实用程序等
所谓的Java运行环境JRE是JDK的子集,包括JVM、运行时类库和执行Java字节码所需要的Java应用程序启动器,但省略了Java编译器等开发工具。如果只需要运行Java而不需要开发Java程序,则不需要完全安
装JDK,只选择安装JRE即可

Java的三种核心机制

Java虚拟机(Java Virtual Machine)

虚拟机就是在真实机器中用软件模拟实现的一种虚拟机器。Java虚拟机代码被存储在 .class文件中;每个文件都包含最多一个public类。
Java虚拟机可以理解成一个以字节码为机器指令的CPU。对于不同的运行平台,有不同的虚拟机。Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”

垃圾收集机制Garbage Collection

Java编程语言解除了程序员取消分配存储器的责任,它可提供一种系统级线程以跟踪每一存储器的分配情况。在Java虚拟机的空闲周期,垃圾收集线程检查并释放那些可被释放的存储器
不再使用内存空间回收——垃圾回收
在C/C++等语言中,由程序员负责回收无用内存。Java语言消除了程序员回收无用内存空间的责任,它提供了一种系统级线程跟踪存储空间的分配情况,并在JVM的空闲时检查并释放哪些可被释放的存储空间。
垃圾收集在Java程序原型过程中自动运行,程序员无法精确控制和干预

代码安全性检测Code Security

在运行时,执行机器只是将.class类文件通过交互后使用,一般情况下是看不到它的源代码.Java,如果想要看到.Java源程序,就要通过专用反编译工具,才能够看到。这就体现了Java在运行环境中相对其它语言来说,加强了代码的安全性

Hello Java

1、一般考虑开发效率的情况下可以使用IDE集成开发环境工具,目前练习一天采用的是记事本之类的文本编辑工具,Centos下使用的是vi/vim
2、创建一个文本文件修改名称为Hello.java
3、Java是一个面向对象的编程语言,所以编写程序的开始就是定义类的开始,如果类是public类型的类,则类名称必须和文件名称一致(不包括后缀,包括大小写)
4、在命令行下执行编译,编译操作可以将程序.java转换为后缀为.class的二进制文件(字节码文件)
5、执行程序,语法为java 类名称。例如java Hello,注意这里是类名称,不是文件名称,所以没有后缀.class
java.exe就是解释器

Java虚拟机中类加载的过程

系统会通过加载、连接、初始化三步来实现这个类进行初始化。
链接包括验证、准备以及解析三个阶段。(1)验证阶段。主要的目的是确保被加载的类满足Java虚拟机规范,不会造成安全错误。(2)准备阶段。负责为类的静态成员分配内存,并设置默认初始值。(3)解析阶段。将类的二进制数据中的符号引用替换为直接引用。

javadoc用法

Javadoc是Sun公司提供的一个技术,它从程序源代码中抽取类、方法、成员等注释形成一个和源代码配套的API帮助文档
@author指定程序的作者
@version指定源文件的版本
@param方法的参数说明信息
@return方法的返回值说明信息
@see用于指定参考的内容
@exception抛出异常的类型
@throws抛出的异常,和@exception同义

/**
文档注释,使用javadoc命令可以生成html格式的说明文件
*/
public class Hello{//定义一个java类程序
	/**
    * 主方法
    * @param args数组用于接受命令行参数
    * @return 没有返回值

多行注释
可以添加多行的说明信息
*/


public static void main(String[] args){System.out.println("Hello Java!");}
}

Java中注释

一般要求编写程序必须有合理的注释说明,注释一般建议控制20%-30%代码量上。但是具体实践中一般不会写这么多的注释,但是不写注释是不合理的
// 单行注释
/*
多行注释
/
/
*
文档注释,可以通过使用javadoc工具生成对应的说明文档

*/

IDE工具的安装

集成开发环境IDE是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。IDE即集成开发环境。IDE提供了一个可视化的编程的窗口,实现代码的可视化管理。如:代码的提示、调试
代码等。

Eclipse

如果使用文本编辑工具编写代码,问题在于没有任何提示,编码效率低;而且不停的需要进行切换【编辑发现问题–修改源代码】。所以需要使用IDE工具(集成开发环境),在工具中可以直接编写代码,编译源程序并执行
Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。该软件是IBM使用java开发出来的并开源
的。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。官方下载网站eclipse.org
经常用到的是前五个版本:
Eclipse IDE for Java EE Developers:是为J2EE开发的版本
Eclipse Classic:是Eclipse的经典版本,没有安装任何插件,纯净版,需要什么插件可以自己安
装,Java初学者建议使用该版本
Eclipse IDE for Java Developers:适用于Java开发
Eclipse IDE for C/C++ Developers:适用于C/C++开发
Eclipse for Mobile Developers:适用于Java手机开发
Eclipse for RCP/Plug-in Developers:用于RCP和插件开发
可以直接下载zip后缀的文件,这实际就是一个绿色版的Eclipse,解压缩后可以直接使用

熟悉Eclipse基本使用

如果大家感觉启动比较慢的话大家可以修改该软件安装的配置文件eclispe.ini中的堆内存大小。
该软件是以工作区的形式管理所有的项目的,因此大家在启动的时候需要指定一个工作区的目录。注
意:该目录中不要包含中文或空格。

常用快捷键

Alt+/ 内容提示
Ctrl+Alt+↓ 快速的复制当前行
Ctrl+Shift+F 格式化
Ctrl+/ 单行注释,再次使用取消注释
Ctrl+shift+/ 多行注释,取消注释Ctrl+shift+
Ctrl+shift+O 导包语句,该快捷键一次性可以导入多个包
Ctrl+1 快速修复错误,但是该快捷键只能修复小错误语法基础
Java语言的源程序代码由一个或多个编译单元组成,每个编译单元可包含三个要素:
1、一个包声明(可选)。 package com.yan; 命名空间
2、任意数量引入语句。 import java.util.*;
3、类的声明和接口声明 public class A{}
该三要素必须以上述顺序出现。也就是说任何引入语句出现在所有类定义之前;如果使用包声明,则包
声明必须出现在类和引入语句之前。每个Java的编译单元可包含多个类或接口,但是每个编译单元最多
只能有一个类或者接口是公共的
一个文件中可以定义多个class,但是最多只能由一个public class,因为文件名称必须和public class类
名称一致(大小写在内);当然在一个文件中的class名称不能重复【实际上在一个包中的类名称不能重
复】,如果文件中没有public class,则文件名称没有约束
Java是一种自由格式的语言,可以用任意个空格、制表符、换行符隔开每个词
同时也允许将多行代码写在一行上,注意使用分号隔开。所有的语句末尾以分号;收尾
常见的编程错误:
目前的要求:将所有的程序都必须写在方法内部,不能写在方法外
使用临时变量,Java要求必须是先定义后使用,必须是先赋初值后使用

Java标识符

在Java编程语言中,标识符是赋予变量、类或方法的名称。变量、函数、类和对象的名称都是标识符,
程序员需要标识和使用的东西都需要标识符。
标识符可从一个字母(Unicode编码字符集)、下划线_或美元符号$开始,随后也可跟数字、字母、下划线
或美元符号。
标识符是区分大小写,没有长度限制,可以为标识符取任意长度的名字

System.out.println( "Counted " + count + " chars." );

public class A {
 public static void main(String[] args) {
 int kk = 100;
 System.out.println(Kk);//报错的原因是Java中严格区分大小写,所以kk和Kk是两个不同的东西
 }
}

标识符不允许使用保留字。关键字对Java编译器有特殊的含义,它们可标识数据类型名或程序构造
construct名, java语言中的保留字均用小写字母表示

48个关键字

abstract do case private throw boolean double imp
protected try break else instanceof public transient byte
extends int return true implements false interface sho
throws catch final long native super volatile clas
static void char finally float new switch whi
continue for null if synchronized default package this

注意:true、false和null为小写,严格地讲,它们不是关键字,而是文字。然而,这种区别是理论上的。无sizeof运算符;所有类型的长度和表示是固定的,不依赖执行。

编码规范

  • 类名首字母大写,大写字母分词 建议名词
  • 方法名称首字母小写,大写字母分词
  • 变量名称首字母小写,大写字母分词
  • 包名称全小写,使用域名反转的方式定义

变量

变量是Java程序中的基本存储单元,它的定义包括变量名、变量类型和作用域几个部分。其中数据类型
指明变量或表达式的状态和行为,数据类型决定了数的取值范围和运算符号
变量是Java程序中的基本存储单元,它的定义包括变量名、变量类型和作用域几个部分

  • Java属于强类型编程语言,变量类型一旦声明,则不能进行修改
public class B {
 public static void main(String[] args) {
 // int是数据类型,其中定义了存储空间大小4B,k是名称,用于指代具体的存储位置【地址】
 int k = 100;
 k = 12.34;// 报错因为类型不匹配,12.34是double类型,不是int
 int k = 123;// 报错是因为系统人为是针对k重新定义类型,类型一旦声明则不允许修改
 }
}
  • 数据类型可以决定变量所需要的存储空间大小和对应的处理逻辑
int k = 100;
System.out.println(k+1);  //int中定义了运算符+和/的实现
System.out.println(k/33);
String ss="123";
System.out.println(ss+1);
System.out.println(ss-1);//报错的原因是String中定义了+计算,但是没有-计算
  • 作用域是指变量生效的范围,从定义的位置开始,到所在的{}结束为止
    自动垃圾回收,一般来说java在一定程度上避免了内存泄漏问题
public class B {
 public static void main(String[] args) {
 {
 System.out.println(k);//报错的原因是系统要求变量必须是先定义
后使用,先赋初值后使用
 int k=100;//临时变量,局部变量,有效范围是所在的{}范围内,从定
义的位置开始到所在的{}结束为止,自动垃圾回收
 System.out.println(k);
 }
 System.out.println(k);//报错原因是k已经超出了有效范围,这里不存在
变量k
 }

JAVA是强类型语言

每个变量有类型,每个表达式有类型,而且每种类型都是严格定义的。Java编译器对所有的表达式和参
数都要进行类型相容性的检查,以保证类型是兼容的。任何类型的不匹配都将被报告为错误而不是警
告。在编译器完成编译以前,错误必须被改正过来
在Java语言数据类型可以分为两大类:基本类型(原生类型primitive type)和引用类型(复合类型
referance type)
4类 整数: byte 1B short 2B int 4B long 8B 默认为int 特殊后缀L/l
浮点数: float 4B double 8B 默认double 特殊后缀 f/F D/d
字符: 单引号 2B unicode[java默认0-65535]
布尔: true、false
引用类型: 复杂类型
class/interface 数组 null
注意:null属于引用类型,所以int k=null;语法错误

基本类型

基本类型是指不能再分解的数据类型,其数据在函数的调用中是以传值方式工作的。
简单数据类型代表单值,而不是复杂的对象

Java是完全面向对象的,但简单数据类型却不是,它们类似于其他大多数非面向对象语言中的简单数据类型。这样做的原因是出于效率方面的考虑。在面向对象中引入简单数据类型不会对执行效率产生太多的影响。
Java编程语言有八个原始数据类型,可分为4种整型、浮点数、字符型数据和布尔型数据,不会随着计算机类型而变化的

计算机中的数据存储方式

原码: 最高位为符号位,1表示负数,0为整数

  • 123为01111011,-123为11111011
    反码:反码跟原码是正数时一样;负数时,反码就是原码符号位除外, 其他位按位取反
  • 123为01111011,-123为10000100
    补码:补码跟原码是正数时一样;负数时,补码就是原码符号位除外,其他位按位取反
  • +1123为01111011,-123为10000101

整数类型

byte,short,int,long 补码存储
byte字节整数 1B -128到127
short短整型 2B -32768到32767
int 整型 4B -2147483648到2147483647
long 长整型 8B -9223372036854775808到9223372036854775807

Long.MAX_VALUE //获取对应类型的最值
Long.MIN_VALUE

所有Java编程语言中的整数类型都是带符号的数字,不存在无符号整数。整数类型的文字可使用十进制、八进制和十六进制表示
十进制整数。如123,-456,0
八进制整数。以0开头,如0123表示十进制数83,-011表示十进制数-9。

int kk=01234;
System.out.println(kk); //按照10进制进行输出
int kk = 123;// 10进制数据
System.out.println(Integer.toOctalString(kk)); // 将10进制数据转换为8进制

十六进制整数。以0x或0X开头,如0x123表示十进制数291,-0X12表示十进制数-18

int kk=0x1239;
System.out.println(kk); //按照10进制进行输出
int kk = 123;// 10进制数据
System.out.println(Integer.toHexString(kk)); // 将10进制数据转换为16进制

二进制整数,以0b或0B开头,例如0b10110010

int kk=0b1011;
System.out.println(kk); //按照10进制进行输出
int kk = 123;// 10进制数据
System.out.println(Integer.toBinaryString(kk)); // 将10进制数据转换为2进制

整数类缺省为int类型,如在其后有一个字母“L”表示一个long值。例如long k=123456789012345678L;
实际上末尾的L或者l都可以,但是一般不建议使用l

浮点数类型

两种浮点类型float和double
浮点数无法准确存放,所以浮点数不能进行等值判断

double d=0.;
for(int i=0;i<10;i++)
 d+=0.1;
System.out.println(d);//输出数据为0.9999999999999999
double d = 0.;
for (int i = 0; i < 10; i++)
 d += 0.1;
if (1 - d < 1e-6)
 System.out.println("计算结果为1");
else
 System.out.println(d);

float 4B 单精度浮点数 7-8有效数据 1.4E-45到3.4028235E38
double 8B 双精度浮点数 15-16有效数据 4.9E-324到1.7976931348623157E308
如果一个数包括小数点或指数部分,或者在数字后带有字母F或f(float)、D或d(double),则该数为
浮点数

  • 十进制数形式。由数字和小数点组成,且必须有小数点,如0.123, 1.23, 123.0
  • 科学计数法形式。如:123e3或123E3,其中e或E之前必须有数字,且e或E后面的指数必须为整数
    针对货币的处理方案:
  • 使用可以精确存储任意位数的类型 BigInteger BigDecimal,缺点计算速度慢
  • 使用long类型

字符类型char

使用char类型可表示单个字符,字符是用单引号括起来的一个字符, ‘a’ 等
Java中的字符型数据是16位(2B)无符号型数据,它表示Unicode集,而不仅仅是ASCII集。其范围为0~65535

char c1='a';//针对char类型使用单引号,双引号是字符串类型
 //单引号中只能包含一个unicode编码的字符。如果'a1'语法错误
char c2='中';
//字符类型可以等价于一个整数进行使用
System.out.println(c2+1);//输出20014

Unicode所定义的国际化字符集能表示迄今为止人类语言的所有字符集,它要求使用16位的宽度表示。
没有负数的char
Unicode字符的使用对于英语、德语、西班牙语或法语的语言是有些低效,因为这些语言能够被包含在8
位内。但是为了程序的的可移植性和通用性,付出代价是很有必要的
计算机处理字符类型时,是把这些字符当成不同的整数来看待。因此。严格说,字符类型也算是整数类
型的一种
数字(48-57)<大写字母(65)<小写字母(97)
Java也提供转义字符,以反斜杠(\)开头,将其后的字符转变为另外的含义

char c1='\u4e00';
System.out.println(c1);
System.out.println((char)(c1+1));

注意:用双引号引用的文字,就是平时所说的字符串类型不是原始类型,而是一个类(class)String,它被用来表示字符序列。注意String理论上说最大上限应该为4G长,但是实际上最多存储65534个字符
字符本身符合Unicode标准,且上述char类型的转义字符适用于String
\n \r \t
可以把char当作整数数据来操作

逻辑类型boolean

boolean数据类型有两种文字值:true和false,只有1位在Java编程语言中boolean类型只允许使用boolean值,在整数类型和
boolean类型之间无转换计算

boolean bb=true;//false,没有其他可能
System.out.println(bb+1);//语法报错的原因是:java中的boolean类型和其它类型之间没有
关系
System.out.println(bb);

基本数据类型转换

数据类型按精度取值范围从低到高排列顺序为:byte,short,char,int,long,float,double
当把级别低的变量的值赋给级别高的变量时,系统自动完成数据类型转换
当把级别高的变量的值赋给级别低的变量时,必须使用显示类型转换运算。

int kk=100;
short bb=kk;//语法报错,因为int>short,所以需要进行强制转换
short kk=32767;//整数类型特殊,不需要进行强转
float f1=3.233;//语法报错,因为系统默认3.233为double类型
//解决方案1为 3.233f;方案2:强转 (float)3.233

显示转换格式为:(类型名)要转换的值; 在大转小的转换过程中可能损失精度

int k1=Integer.MAX_VALUE-1;
int k2=10000;
 //k1和k2之和已经超出了int可以存储的范围,所以数据溢出,计算结果错误
System.out.println(k1+k2);//-2147473650
int k1=123456789;
short k2=(short)k1;
System.out.println(k2);//-13035

浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入

public class A1 {
 public static void main(String[] args) {
 double d1=12345.678;
 int kk=(int)d1;
 System.out.println(kk); //计算结果为:12345
 }
}

热门文章

暂无图片
编程学习 ·

exe4j详细使用教程(附下载安装链接)

一、exe4j介绍 ​ exe4j是一个帮助你集成Java应用程序到Windows操作环境的java可执行文件生成工具&#xff0c;无论这些应用是用于服务器&#xff0c;还是图形用户界面&#xff08;GUI&#xff09;或命令行的应用程序。如果你想在任务管理器中及Windows XP分组的用户友好任务栏…
暂无图片
编程学习 ·

AUTOSAR从入门到精通100讲(126)-浅谈车载充电系统通信方案

01 引言 本文深入研究车载充电系统策略,设计出一套基于电动汽车电池管理系统与车载充电机的CAN通信协议,可供电动汽车设计人员参考借鉴。 02 电动汽车充电系统通讯网络 电动汽车整车控制系统中采用的是CAN总线通信方式,由一个整车内部高速CAN网络、内部低速CAN网络和一个充电…
暂无图片
编程学习 ·

CMake(九):生成器表达式

当运行CMake时&#xff0c;开发人员倾向于认为它是一个简单的步骤&#xff0c;需要读取项目的CMakeLists.txt文件&#xff0c;并生成相关的特定于生成器的项目文件集(例如Visual Studio解决方案和项目文件&#xff0c;Xcode项目&#xff0c;Unix Makefiles或Ninja输入文件)。然…
暂无图片
编程学习 ·

47.第十章 网络协议和管理配置 -- 网络配置(八)

4.3.3 route 命令 路由表管理命令 路由表主要构成: Destination: 目标网络ID,表示可以到达的目标网络ID,0.0.0.0/0 表示所有未知网络,又称为默认路由,优先级最低Genmask:目标网络对应的netmaskIface: 到达对应网络,应该从当前主机哪个网卡发送出来Gateway: 到达非直连的网络,…
暂无图片
编程学习 ·

元宇宙技术基础

请看图&#xff1a; 1、通过AR、VR等交互技术提升游戏的沉浸感 回顾游戏的发展历程&#xff0c;沉浸感的提升一直是技术突破的主要方向。从《愤怒的小鸟》到CSGO,游戏建模方式从2D到3D的提升使游戏中的物体呈现立体感。玩家在游戏中可以只有切换视角&#xff0c;进而提升沉浸…
暂无图片
编程学习 ·

flink的伪分布式搭建

一 flink的伪分布式搭建 1.1 执行架构图 1.Flink程序需要提交给 Job Client2.Job Client将作业提交给 Job Manager3.Job Manager负责协调资源分配和作业执行。 资源分配完成后&#xff0c;任务将提交给相应的 Task Manage。4.Task Manager启动一个线程以开始执行。Task Manage…
暂无图片
编程学习 ·

十进制正整数与二进制字符串的转换(C++)

Function one&#xff1a; //十进制数字转成二进制字符串 string Binary(int x) {string s "";while(x){if(x % 2 0) s 0 s;else s 1 s;x / 2;}return s; } Function two&#xff1a; //二进制字符串变为十进制数字 int Decimal(string s) {int num 0, …
暂无图片
编程学习 ·

[含lw+源码等]微信小程序校园辩论管理平台+后台管理系统[包运行成功]Java毕业设计计算机毕设

项目功能简介: 《微信小程序校园辩论管理平台后台管理系统》该项目含有源码、论文等资料、配套开发软件、软件安装教程、项目发布教程等 本系统包含微信小程序做的辩论管理前台和Java做的后台管理系统&#xff1a; 微信小程序——辩论管理前台涉及技术&#xff1a;WXML 和 WXS…
暂无图片
编程学习 ·

树莓派驱动DHT11温湿度传感器

1&#xff0c;直接使用python库 代码如下 import RPi.GPIO as GPIO import dht11 import time import datetimeGPIO.setwarnings(True) GPIO.setmode(GPIO.BCM)instance dht11.DHT11(pin14)try:while True:result instance.read()if result.is_valid():print(ok)print(&quo…
暂无图片
编程学习 ·

ELK简介

ELK简介 ELK是三个开源软件的缩写&#xff0c;Elasticsearch、Logstash、Kibana。它们都是开源软件。不过现在还新增了一个 Beats&#xff0c;它是一个轻量级的日志收集处理工具(Agent)&#xff0c;Beats 占用资源少&#xff0c;适合于在各个服务器上搜集日志后传输给 Logstas…
暂无图片
编程学习 ·

Linux 基础

通常大数据框架都部署在 Linux 服务器上&#xff0c;所以需要具备一定的 Linux 知识。Linux 书籍当中比较著名的是 《鸟哥私房菜》系列&#xff0c;这个系列很全面也很经典。但如果你希望能够快速地入门&#xff0c;这里推荐《Linux 就该这么学》&#xff0c;其网站上有免费的电…
暂无图片
编程学习 ·

Windows2022 无线网卡装不上驱动

想来 Windows2022 和 windows10/11 的驱动应该差不多通用的&#xff0c;但是死活装不上呢&#xff1f; 搜一下&#xff0c;有人提到 “默认安装时‘无线LAN服务’是关闭的&#xff0c;如果需要开启&#xff0c;只需要在“添加角色和功能”中&#xff0c;选择开启“无线LAN服务…
暂无图片
编程学习 ·

【嵌入式面试宝典】版本控制工具Git常用命令总结

目录 创建仓库 查看信息 版本回退 版本检出 远程库 Git 创建仓库 git initgit add <file> 可反复多次使用&#xff0c;添加多个文件git commit -m <message> 查看信息 git status 仓库当前的状态git diff 差异对比git log 历史记录&#xff0c;提交日志--pret…
暂无图片
编程学习 ·

用Postman生成测试报告

newman newman是一款基于nodejs开发的可以运行postman脚本的工具&#xff0c;使用Newman&#xff0c;可以直接从命令运行和测试postman集合。 安装nodejs 下载地址&#xff1a;https://nodejs.org/en/download/ 选择自己系统相对应的版本内容进行下载&#xff0c;然后傻瓜式安…
暂无图片
编程学习 ·

Java面向对象之多态、向上转型和向下转型

文章目录前言一、多态二、引用类型之间的转换Ⅰ.向上转型Ⅱ.向下转型总结前言 今天继续Java面向对象的学习&#xff0c;学习面向对象的第三大特征&#xff1a;多态&#xff0c;了解多态的意义&#xff0c;以及两种引用类型之间的转换&#xff1a;向上转型、向下转型。  希望能…