第一章-----Java基础入门(项目名称使用小驼峰命名)

10 篇文章 1 订阅

一、java简介

1.1 前言

Java语言是美国Sun公司(stanford University Network),在1995年推出的高级编程语言。所谓编程语言是计算机的语言,人们可以使用编程语言对计算机下达命令,让计算机完成人们需要的功能。

1996年1月,Sun公司发布了Java的第一个开发工具包(JDK 1.0),这是Java发展历程中的重要里程碑,标志着Java成为一种独立的开发工具。

詹姆斯·高斯林 (James Gosling)是一名软件专家,1955年5月19日出生于加拿大Java编程语言的共同创始人之一,一般公认他为“Java之父”。

诺基亚 塞班系统 安卓 google java

oracle 公司

趣闻:java 爪哇岛

 1.2 java历史版本

版本

名称

发行日期

JDK 1.0

Oak(橡树)

1996-01-23

JDK 1.1

none(无)

1997-02-19

JDK 1.1.4

Sparkler(宝石)

1997-09-12

JDK 1.1.5

Pumpkin(南瓜)

1997-12-13

JDK 1.1.6

Abigail(阿比盖尔–女子名)

1998-04-24

JDK 1.1.7

Brutus(布鲁图–古罗马政治家和将军)

1998-09-28

JDK 1.1.8

Chelsea(切尔西–城市名)

1999-04-08

J2SE 1.2

Playground(运动场)

1998-12-04

J2SE 1.2.1

none(无)

1999-03-30

J2SE 1.2.2

Cricket(蟋蟀)

1999-07-08

J2SE 1.3

Kestrel(美洲红隼)

2000-05-08

J2SE 1.3.1

Ladybird(瓢虫)

2001-05-17

J2SE 1.4.0

Merlin(灰背隼)

2002-02-13

J2SE 1.4.1

grasshopper(蚱蜢)

2002-09-16

J2SE 1.4.2

Mantis(螳螂)

2003-06-26

Java SE 5.0 (1.5.0)

Tiger(老虎)

2004-09-30

Java SE 6.0 (1.6.0)

Mustang(野马)

2006-04

Java SE 7.0 (1.7.0)

Dolphin(海豚)

2011-07-28

Java SE 8.0 (1.8.0)

Spider(蜘蛛)

2014-03-18

Java SE 9.0

none(无)

2017-09-21

Java SE 10.0

none(无)

2018-03-21

Java SE 11.0

none(无)

2018-09-25

1.3 java特点

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承指针等概念,因此Java语言具有功能强大和简单易用两个特征。极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。

Java具有简单性、面向对象、分布式健壮性安全性跨平台与可移植性、多线程、动态性等特点。

单核心 单线程 多核心 多线程。(微秒级)

windows,mac,linux,unix .apk .ipa

面向对象三大特征 :封装,继承,多态

java面向对象: 封装,继承,多态,抽象,接口

需求:我想吃番茄炒蛋!

1.自己做

2.去餐厅

面向过程: 自己做

1.买食材

2.处理食材

3.起锅烧油

。。。

3.出锅

面向对象: 去餐厅,老板,来份番茄炒蛋!

思想:

1.4 java开发方向

JavaSE

Java Standard Edition PC方向 桌面应用

JavaEE

Java Enterprise Edition 可扩展的企业级应用Java平台 服务器项目 网页

爱奇艺 打开网页

JavaME

Java Micro Edition用于嵌入式Java平台;移动设备应用

安卓(java):google sun oracle 收购

诺基亚:人需要什么我们就造什么

乔布斯曰过:人的需求是我们创造的

1.5 Java语言能做什么?

java语言可以编写桌面应用程序(类似于电脑QQ,但是java不擅长)、Web应用程序(服务器程序)、分布式系统和嵌入式系统应用程序等。人工智能。python(黄金语言) 。

主要应用在web程序的开发领域,常见的互联网应用比如天猫,京东,物流系统,网银系统等,以及服务器后台处理大数据的存储,查询,数据挖掘等也有很多应用。

二、Java开发环境组成 (jdk)

2.1 jvm虚拟机

JVM 是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。

跨平台(不同的操作系统) 任何软件的运行都需要运行在操作系统上,而我们使用Java编写的软件可以运行在任何的操作系统上,这个特性成为java语言的跨平台性。这个特性是由JVM实现的,我们编写的程序运行在JVM上,而JVM运行在操作系统上。

Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。

Windows OS MacOS Linux OS

不同的操作系统,内部的运行原理是不一样,换句话说,windows的软件不能在mac电脑上面进行安装。所以我们很多软件的制作成本就加大了。例如 爱奇艺,需要制作windows版 还需要制作mac版。此时就需要两个开发团队。假如你是老板,急需一种操作:能不能开发一个版本在不同的平台中都能运行,这就是跨平台。

Java是支持跨平台操作的一门语言。

java程序的执行过程:源代码(.java)->编译->字节码(.class)->jvm解释->机器码->系统执行

jvm的作用:加载由源文件编译生成的字节码文件,将其转为机器码,发给系统执行

jvm实现跨平台:java针对不同的系统平台都开发了对应的jvm虚拟机。从而实现同一个字节码文件可以在任意系统上运行,从而实现了跨平台性。所以,jvm就像不同语言的翻译官,同样是一句“你好”,在对英国人说时,英文jvm将它翻译为英语 。对韩国人说时,韩语jvm将它翻译为韩语。

2.2 JRE

Java运行环境(Java Runtime Environment,简称JRE)是一个软件,由SUN微系统所研发,JRE可以让计算机系统运行Java应用程序(Java Application)。JRE的内部有一个Java虚拟机(Java Virtual Machine,JVM)以及一些标准的类别函数库(Class Library)。

2.3 jdk

JDK(java development kit)是 Java 语言的软件开发工具包,主要用于各种环境下的java程序开发,包括移动设备嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。(电工的工具包钳子,螺丝刀,欧姆表。。。 )jdk中自带有jre。

 java程序的执行过程

 

 心理准备: 学习java,先学语法 ---》我们可能刚开始不明白什么意思---》学完后边的内容,我们就明白了。不要着急!

2.4 jdk的安装(oracle官网下载jdk安装包)

约定:
0. 以后任何安装路径都不要有中文路径
1. 以后我们的软件统一装到某个盘的某个文件夹中 E:\app
2. 我们安装完成之后 又弹出一个框 这是提示我们安装jre,Jdk安装完成之后 已经有jre了 所以 这个地方取消安装
3. 安装完成jdk之后 在jdk文件夹中 
    Bin(binary 二进制文件)  这里面是java的执行文件
    Include 这里面导入c和c++的一些代码
    Jre   java的运行环境
    Lib  资源库
4. 配置jdk的环境变量(可以理解成告诉你的电脑 我们安装了jdk 我们要开发java 并且 jdk安装到哪了)

2.5 环境变量的配置

【我的电脑】-右键-【属性】-【高级系统设置】-【环境变量】

 【系统变量】-【新建】JAVA_HOME :jdk安装根目录

 【编辑】-path:添加 %JAVA_HOME%\bin

 

 

配置完毕后,依次点击确定就可以了。

如果不配置环境变量,那么java的的可执行文件只能在安装位置的bin目录下才可以执行。

配置环境变量就是为了,可以在任意路径下运行java可执行文件。

JAVA_HOME

​ 指向jdk的安装目录,Eclipse/idea/Tomcat等软件就是通过搜索JAVA_HOME变量来找到并使用安装好的jdk。

JAVA_HOME
自己jdk安装路径

CLASS_PATH (可以不用配置 jdk1.5就不用配置了,会自动找。)

​ 作用是指定类搜索路径,要使用已经编写好的类,前提当然是能够找到它们了,JVM就是通过CLASSPTH来寻找类的。

需要把jdk安装目录下的lib子目录中的dt.jar和tools.jar设置到CLASSPATH中,当然,当前目录“.”也必须加入到该变量中。

新版的软件,classpath没有什么用了,因为在安装的时候已经选了JDK而且可以添加

CLASS_PATH
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

Path

作用是指定命令搜索路径,在i命令行下面执行命令如javac编译java程序时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序。

需要把jdk安装目录下的bin目录增加到现有的PATH 变量中,bin目录中包含经可执行文件javac/java/javadoc等待,

设置PATH变量后,就可以在任何目录下执行javac/java等工具了。

bin目录 是公认的可执行文件 放置的目录。

Path
%JAVA_HOME%\bin

三、HelloWorld入门程序

3.1 程序开发步骤说明

开发环境搭建完成后,可以开始开发我们的第一个java程序了。

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

编程语言分类:

解释性语言:比如 javascript, python, perl, shell

编译型语言:比如 java,c,c++,c#

XXX.java--编译-->XXX.class

javac.exe :编译器 javac 编译命令

java.exe :解释器 java 运行命令

 3.2 编写Java源程序

1.新建一个文本文档文件,其中编写以下代码

注意:类名要跟文件名完全一致。要遵循大驼峰命名。规定。

定义类的格式:
public class 类名{}

面试题一个XXX.java文件中可以有多个类吗

答:可以,但是只能有一个公共的类(使用public 修饰的类)

注意:类名要跟文件名一致,开头字母使用大写,遵循驼峰命名法。

2.编译和运行

window+R 打开命令行模式,输入cmd 将目录切换到 java文件所保存的目录

输入:javac 文件名称 生成.class类型的字节码文件

输入:java 字节码文件 运行程序

3.3 使用idea工具编写代码

打开百度--》搜索idea用法---》整体浏览

 

 

 

 

 创建项目

创建包

包就是文件夹。类比,css,js,img。

不同模块的代码可能有相同的名字。使用包来分割/存储不同的功能的代码。

 

包的命名规范:

特点:全小写,点分隔,反域名。

www.taobao.com

com开头:公司项目 com.aaa.chaoshi.util

org开头:公益项目

java开头:java中的类包

扩展:自己去百度--》包的命名规范

创建java文件

 3.4 java 注释

文档注释用于在生成文档时对写的类,方法或字段进行解释

多行注释,用于写多行的说明信息,常用于注释一段代码

单行注释,描述的信息比较少的时候,使用单行注释

3.5 关键字

是指在java中有特殊含义的,被保留的,不能随意使用的字符

特点:

​ 会识别

​ 全小写

​ 有颜色

3.6 标识符(变量名,方法名,类名)

概念:在程序中我们自己定义的内容。比如类的名字、方法的名字和变量的名字等,都是标识符

**标识符的命名规则硬性要求

  1. 构成:字母、数字、下划线 、$符号
  2. 首个只能是:字母 、下划线 、$符号,不能以数字开头
  3. 不能使用关键字

**标识符的命名规范:软性要求

  • 类名规范:首字母大写,后边每个单词的首字母大写(大驼峰)
  • 变量名规范:首字母小写,后边每个单词的首字母大写(小驼峰)
  • 方法名规范:同变量名
  • 见名知意

四.常量

4.1 概述

常量:是指在java程序运行期间固定不变的数据

4.2 分类

类型

含义

数据类型

整数常量

所有的整数

0,1,567,-9

浮点数常量

所有的小数

0.0,-0.1,3.55

字符常量

单引号引起来,只能写一个字符,必须有内容

'a' , 'x ' , '好','2'

字符串常量

双引号引起来,可以写多个字符,也可以不写

"A", "Hello" , "你好" ,""

布尔常量

只有两个值,流程控制语句中使用

true, false

空常量

只有一个值(引用数据类型讲解)没有任何数据

null

常量命名:全大写+下划线字母命名

练习:演示打印输出所有的类型

五.变量和数据类型

5.1 变量

1.概述:程序中可以改变的量称为变量,内存中最小的存储单元

​ 为什么用变量?间接的思想,间接的越多,证明程序越优秀!

​ 数学中可以使用字母代替数字的方式运算,例如x=1+5或者6=x+5;程序中也是一样是的,相当于一个容器,内部可以存储数据。Java中要求一个变量每次只能保存一个数据,必须明确保存的数据类型。

定义变量的格式

​ 数据类型 变量名 ;

变量名=值;

int a;
a = 10;

 数据类型 变量名 =值;

public class Demo02 {
​    int b = 20;
    public static void main(String[] args) {
        //年龄
        int age; //定义一个int类型的变量   
        age = 10;//给age赋值在内存中开辟一块内存空间  起名为age  并且这块内存空间中只能存储int类型的数据
        //int a,b,c;//同时定义多个变量
        int a=10,b=8,c=9; //定义变量的同时,初始化
        System.out.println(age);
    }
}

**注意:

  1. 变量必须初始化后才能使用
  2. 不能有同名变量
  3. 在该个类型的变量中只能存储该类型的数据。
  4. 可以同时定义多个变量并赋值(但是,不推荐使用!)

5.2 数据类型

声明:数据类型 变量名 = 初始值;

背住:

基本数据类型

​ 四类八种:

​ 整型 整数 byte short int long

​ 浮点型 小数 float double

​ 字符型 一个字符 char

​ 布尔型 boolean

引用数据类型:

​ String字符串 数组,函数,对象 Enum枚举

分类

 整数类型变量

  • 整型类变量用来存储整数数值,即没有小数部分的值

整数类型分四种不同的类型:

字节型(byte)、短整型(short)、整型(int)默认、长整型(long)

1TB = 1024GB

1GB = 1024MB

1MB = 1024KB

1KB = 1024Byte

1Byte = 8 bit 比特

int是默认类型。

byte 一个8位二进制数 01011010

反编译。

  • ** 如果想使用long 必须在数据的后边 加一个 L 后缀

为什么java中要整四个类型表示整数

  • 因为不同的类型 所占的内存大小不一样,那么存储的范围也就不一样。

 //右侧不能超出左侧的数据范围
        byte a = 124;
        System.out.println("a:"+a);
        
        short b = 2560;
        System.out.println("b:"+b);
        
        int c = 2000;
        System.out.println("c:"+c);
        
        double d = 30000000;
        System.out.println("d:"+d);

浮点类型

  • 浮点类型分为两种:单精度浮点(float)、双精度浮点(double)
  • double型所表示的浮点数比float型更精确;浮点数的默认类型为double类型。
  • 小数默认double 如果非要用float 必须加上 F 的后缀

字符类型

  • 字符类型变量用于存储一个单一字符,Java中用char表示。
  • Java中,每个char类型的字符变量都会占用2个字节,16位。
  • char类型的变量赋值时,需要英文的单引号' '把字符括起来,如'a'。

char类型的变量赋值范围是0~65535内的整数。

char a = '中';

面试题:char类型能存储汉字吗?

​ 能,因为一个汉字是两个字节

  • 任何字符在内存中都是以数字的形式存储的。

 

注意事项

​ 1.字符串是引用数据类型

​ 2.浮点型可能只是一个近似值,并非精确的值

​ 3.数据范围与字节数不一定相关,

​ 例如float 数据范围比long更加广泛,但是float是4字节,long是8字节

​ 4.浮点数默认double类型,如果一定要使用float类型,需要加上一个后缀 F/f。

如果是整数,默认为int类型,如果一定要使用long类型,需要加上一个后缀L/l表示long类型。

​ 后缀推荐使用大写字母。

Boolean

布尔类型变量用来存储布尔值,在Java中用boolean表示,boolean类型的变量只有两个值,即true和false,默认值为false。每个boolean占8位。

 boolean flag = true;
 System.out.println("flag:"+flag);

变量使用时的注意事项:

1.如果创建多个变量,那么变量之间的名称不可以重复。

2.对于float和long类型来说,字母后缀F和L不能丢掉。

3.变量右侧的数据值不能超过左侧类型的范围。

4.变量一定要赋值*(初始化)后才能使用。不赋值不能直接使用。

5.变量的使用不能超出作用域的范围。

作用域: 从定义变量的一行开始,一直到直接所属的大括号结束为止。

6.可以通过一个语句来创建多个变量,但是不推荐使用。

 六.运算符

算术运算符:+(字符串拼接运算) - * / % ++ -- ;

++ -- 一元运算符

​ 1.如果直接使用,前置++跟后置++没有区别

​ 2.如果用于 赋值 js中那一套。

关系(比较)运算符:>= <= > < !=;

==:

1.如果是基本数据类型比较值。

2.如果是引用数据类型 比较的内存的地址值!

​ 他的结果一定是一个boolean值,true/false,如果是连续判断不能连着写。

逻辑运算符:只能使用boolean值,条件可以连续写

​ &&(并且) 所有条件全都满足才是true,否则false

​ ||(或者) 至少有一个是true就是true否则false

​ ! (取反) 直接相反的结果

赋值运算符:=, += , -=, *= ,%= ,/= 复合赋值运算符会隐含强制类型转换。

条件运算符:? : 三目表达式

​ 格式:数据类型 变量名称 = 条件判断 ?表达式A : 表达式B;

​ *(表达式A和表达式B 要同时符合左侧的数据类型)

​ 流程:首先判断条件是否成立

​ 如果成立 表达式A

​ 如果不成立 表达式B

​ 一元,二元,三元 元就代表需要一个数据

优先级

() ++ ,-- , !》 算术运算符 (* / +-)--》关系运算符--》逻辑运算符(&& ||)--》赋值运算符--》条件运算符

  • ++
  • 条件运算符

七.类型转换(数值数据)

Java中要求参与计算的数据,必须保证数据类型的一致性,如果数据类型不一致将发生类型的转换。

  • 隐式转换(自动)
    • 特点:自动完成,不需特殊处理
    • 规则:范围从小-->大
  • 显式转换(强制)
    • 特点:需要数据处理,不能自动进行
    • 规则:小范围 变量名 = (范围小的类型)范围大的数据
 byte a = 10;
    int b = a;
    //1.自动转换
    //此时 a是Byte  b 是int类型   ---》由小范围 ——-》大范围
    System.out.println(b);
​
    int c = 10;
    byte c1 = (byte) c;
    //此时 c是 int   c1 是byte -->  此时放不下
    //2.如果非要放  强制类型转换
    // 由大范围 ——-》小范围
    // 小数据类型  变量  =  (左边的小数据类型) 大类型的值。
    //注意:强制类型转换有可能会造成  精度丢失 和 数据溢出
​
    //精度丢失
    double d1 = 3.141592657678686876;
    float d2 = (float) d1;
    System.out.println("d2 :"+d2);
    int d3 = (int)d2;
    System.out.println("d3 :"+d3);
​
    //数据溢出
    long l1 = 7000000000L;
    int l2 = (int)l1;
    System.out.println("l2: "+l2);
    //元码,补码,反码
}

两个数据运算,得到的结果会自动的提升为两个数据中较大的类型。

特殊情况:

 

 八、Scanner类,控制台的输入

是java提供给我们的类,我们只需要直接用就可以了。

 

 

附件

ASCII(小表):American Standard Code for Information Interchange 美国信息交换标准代码

Unicode码表(大表):万国码,也是数字和符号的对照关系,开头0-127部分和ASCII完全一样,但是从128开始包含有更多字符。

Emoji:

ascii表格

unicode : 万国码 任意一个字符都可以在这里找到。

Emoji 颜文字

面试题:

请问:下边的代码执行的结果是什么?

short a = 5;

a = a+5;

System.out.println(a);

 

请问下边代码执行的结果是?

short a = 5;

a+=5;

System.out.println(a); 

复合赋值运算符会隐含强制类型转换。(+=,-=,*=,/=,%=)

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java高级程序设计 第1章 Java编码规范 1.1 应用场景1.2 相关知识1.3 任务实施1.4 拓展知识1.5 拓展训练1.6课后小结 Java高级程序设计实战教程第一章-Java编码规范全文共13页,当前为第1页。 1.1 应用场景 一个大型的软件项目是由一个团队来完成的,每个程序员在给包、类、 变量、方法取名的时候,如果根本没有一点约定,只是随心所欲,可能会带来一系列问题。 编码规范是程序编码所要遵循的规则,保证代码的正确性、稳定性、可读性。规范编码有以下作用。 一、规范的代码可以促进团队合作 二、规范的代码可以减少bug处理 三、规范的代码可以降低维护成本 四、规范的代码有助于代码审查 五、养成代码规范的习惯,有助于程序员自身的成长 Java高级程序设计实战教程第一章-Java编码规范全文共13页,当前为第2页。 1.2 相关知识 1.2.1 文件后缀名 1.2.2 源文件样式约定 1.2.3 注释规范 1.2.4 命名规范 Java高级程序设计实战教程第一章-Java编码规范全文共13页,当前为第3页。 1.2.1 文件后缀名 表1-1 Java程序使用的文件后缀名 文件类别 文件后缀名 Java源文件 .java Java字节码文件 .class 其中两者最本质的区别在于,.Java文件是供虚拟机运行时执行的文件, 而.class文件可以让你在任何一台安装了Java虚拟机的机器上运行。 Java高级程序设计实战教程第一章-Java编码规范全文共13页,当前为第4页。 1.2.2 源文件样式约定 Java源文件必须按顺序由以下3部分组成。 1、版权信息。 2、包和引入语句。 3、类和接口声明。 1. 版权信息 版权和版本信息必须在Java文件的开头,其他不需要出现在javadoc的信息也可以包含在这里。 2. 包和引入语句 package 行要在import行之前,import 中标准的包名要在本地的包名之前,而且按照字母顺序排列。如果 import 行中包含了同一个包中的不同子目录,则应该用 * 来处理。 3. 类和接口声明 每个Java源文件都包含一个单一的公共类或接口。 Java高级程序设计实战教程第一章-Java编码规范全文共13页,当前为第5页。 1.2.3 注释规范 1.注释编写的原则 (1)注释形式统一。 在整个应用程序中,使用具有一致的标点和结构的样式来构造注释。如果在其他项目中发现它们的注释规范与这份文档不同,按照这份规范写代码,不要试图在既成的规范系统中引入新的规范。 (2)注释内容准确简洁。 内容要简单、明了、含义准确,防止注释的多义性,错误的注释不但无益反而有害。 2.注释类型的基本划分 (1)基本注释必须要添加,包括以下几种: 1、类(接口)的注释; 2、构造函数的注释; 3、方法的注释; 4、全局变量的注释; 5、字段/属性的注释; 简单的代码做简单注释,注释内容不大于10个字即可,另外,持久化对象或VO对象的getter、setter方法不需加注释。 (2)特殊必加的注释包括以下几种: 1、典型算法必须有注释。 2、在代码不明晰处必须有注释。 3、在代码修改处加上修改标识的注释。 4、在循环和逻辑分支组成的代码中加注释。 5、为他人提供的接口必须加详细注释。 具体的注释格式自行定义,要求注释内容准确简洁。 3.注释的格式 (1)单行(single-line)注释格式为"//……"。 (2)块(block)注释格式为"/*……*/"。 (3)文档注释格式为"/**……*/"。 (4)Javadoc注释标签语法如下: @author 对类的说明,标明开发该类模块的作者; @version 对类的说明,标明该类模块的版本; @see 对类、属性、方法的说明,参考转向,也就是相关主题; @param 对方法的说明,对方法中某参数的说明; @return 对方法的说明,对方法返回值的说明; @exception 对方法的说明,对方法可能抛出的异常进行说明。 Java高级程序设计实战教程第一章-Java编码规范全文共13页,当前为第6页。 1.2.4 命名规范 命名指系统中对包名、目录(类名)、方法、常量、变量等标识符的命名。标识符的命名力求做到统一、达意、简洁,遵循驼峰法则。 统一是指对于同一个概念,在程序中用同一种表示方法。例如对于供应商,既可以用supplier,也可以用provider,但是我们只能选定一个使用,至少在一个Java项目中保持统一。 达意是指标识符能准确地表达出它所代表的意义,如newSupplier, OrderPaymentGatewayService等;而 supplier1, service2,idtts等则不是好的命名方式。 简洁是指,在统一和达意的前提下,用尽

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值