从零开始学JAVA -基础完结

目录

一、编写Hello world程序

二、关键字

三、常量

四、变量

五、字符和字符串中的‘+’操作

六、关系运算符

七、数据类型的特性或数据类型的属性

八、逻辑运算符

九、三元运算符

十、Scanner打印机用法

十一、流程控制语句

1、if语句

2、Switch语句

3、for语句

4、while循环语句

5、do-while循环语句

十二、Random随机数

十三、跳转控制语句

一、编写Hello world程序

public class JavaMain1 {
    //主程序执行入口,main方法
    public static void main(String[] args){
        System.out.println("Hello world!");
    }
}

运行结果 

Hello world!
java编写主程序常见错误:
1、System ---首字母没有大写
2、主程序没有void

二、关键字

关键字:就是Java语言赋予的特定含义单词

特点:关键字字母全部都是小写,IDEA针对关键字有特殊的颜色标记。如:public class static void 如在IEDA中的关键字,有明显的颜色区分。

三、常量

常量类型说明
字符串常量
双引号括起来的内容
整数常量
不带小数点的数字
小数常量
带小数的数字
字符常量
用单引号括起来的内容
布尔常量 
布尔值,表示真假
空常量  
一个特殊的值,空值

示例代码: 

public class JavaMain1 {
    //主程序执行入口,main方法
    public static void main(String[] args){
        //输出字符串常量
        System.out.println("Hello world");
        //输出整数常量
        System.out.println(77777);
        //输出小数常量
        System.out.println(77.777);
        //输出字符常量
        System.out.println('男');
        //输出布尔常量
        System.out.println(ture);
    }
}

运行结果 

Hello world
77777
77.777
男
true

四、变量

变量:在程序运行过程中,其值可以发生改变的值(变量是内存中一小块区域)
定义变量:变量的数据类型 变量名称=赋值

五、字符和字符串中的‘+’操作

字符的‘+’操作:拿字符在计算机底层对应的数值来进行计算(底层计算使用ASCII码)
ASCII码表中的26个大小写字母对应的十进制如下表:
| 大写字母 | ASCII码 | 小写字母 | ASCII码 |
|----------|----------|----------|----------|
| A         | 65        | a         | 97        |
| B         | 66        | b         | 98        |
| C         | 67        | c         | 99        |
| D         | 68        | d         | 100       |
| E         | 69        | e         | 101       |
| F         | 70        | f         | 102       |
| G         | 71        | g         | 103       |
| H         | 72        | h         | 104       |
| I         | 73        | i         | 105       |
| J         | 74        | j         | 106       |
| K         | 75        | k         | 107       |
| L         | 76        | l         | 108       |
| M         | 77        | m         | 109       |
| N         | 78        | n         | 110       |
| O         | 79        | o         | 111       |
| P         | 80        | p         | 112       |
| Q         | 81        | q         | 113       |
| R         | 82        | r         | 114       |
| S         | 83        | s         | 115       |
| T         | 84        | t         | 116       |
| U         | 85        | u         | 117       |
| V         | 86        | v         | 118       |
| W         | 87        | w         | 119       |
| X         | 88        | x         | 120       |
| Y         | 89        | y         | 121       |
| Z         | 90        | z         | 122       |

字符串的‘+’操作:当字符串中出现‘+’,此时的‘+’是连接运算符

六、关系运算符

关系运算符有6种关系,分别为小于、小于等于、大于、等于、大于等于、不等于。

符号说明
==a==b,判断a和b的值是否相等,成立为true,不成立为false
!=𝑎 =𝑏a =b,判断a和b的值是否不相等,成立为true,不成立为false
>>a>>b,判断a是否大于b,成立为true,不成立为false
> => =𝑎>=𝑏 a>=b,判断a是否大于等于b,成立为true,不成立为false
<<𝑎<𝑏 a<b,判断a是否小于b,成立为true,不成立为false
< =< =𝑎<=𝑏 a<=b,判断a是否小于等于b,成立为true,不成立为false

注意事项:关系运算符的结果都是𝑏𝑜𝑜𝑙𝑒𝑎𝑛类型,要么是𝑡𝑟𝑢𝑒,要么是𝑓𝑎𝑙𝑠𝑒。千万不要把“”误写成“=”,“”是判断是否相等的关系,“=”是赋值。注意事项:关系运算符的结果都是boolean类型,要么是true,要么是false。千万不要把“”误写成“=”,“”是判断是否相等的关系,“=”是赋值。

七、数据类型的特性或数据类型的属性

Java中基本数据类型名称、关键字、内存占用和取值范围的表格:

数据类型关键字内存占用取值范围
bytebyte1 字节-128 到 127 (-2^7 到 2^7-1)
shortshort2 字节-32,768 到 32,767 (-2^15 到 2^15-1)
intint4 字节-2,147,483,648 到 2,147,483,647 (-2^31到 2^31-1)
longlong8 字节-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 (-2^63 到 2^63-1)
floatfloat4 字节大约 ±3.4E-45 到 ±3.4E38,有效位数为6-7位
doubledouble8 字节大约 ±4.9E-324 到 ±1.8E308,有效位数为15位
charchar2 字节'\u0000'(0)到 '\uffff'(65,535)
booleanboolean不确定,通常实现为1位或1字节true 或 false

请注意以下几点:

  • char 类型表示一个Unicode字符。它以16位(2个字节)的形式存储,范围从'\u0000'(也就是0)到'\uffff'(也就是65,535)。
  • boolean 类型的内存占用在Java中没有明确指定,并且可能因JVM实现而异。虽然它可以只用1位来表示,但出于对齐原因通常会使用更多空间。
  • float 和 double 类型遵循IEEE 754标准,分别用32位和64位来存储浮点数。

以上表格提供了每种基本数据类型的关键字、内存占用和取值范围的基本概述。

八、逻辑运算符

名称运算符描述
逻辑与&a&b,a和b都是true,结果为true。否则为false。
逻辑或|a|b,a和b都是false,结果为false。否则为true。
逻辑非!a,结果和a的结果正好相反
逻辑异或^a^b,a和b结果不同为true,相同为false
短路与&&作用和&相同,但是有短路
短路或||作用和|相同,但是有短路

逻辑运算符的代码示例如下 

public class Logicaloperation {
    public static void main(String[] args){
        // 逻辑与,左边&右边,都必须是true,则返回结果是为true
        System.out.println("&并且");
        System.out.println(true & true);
        System.out.println(true & false);
        System.out.println(false & false);
        int a = 10;
        int b = 20;
        int c = 30;
        //a>b false b>c false
        System.out.println(a>b&b>c);// 输出:false
        //a<b true b<c true
        System.out.println(a<b&b<c);// 输出:true
        //a<b true b>c false
        System.out.println(a<b&b>c);// 输出:false

        // 逻辑或,左边 | 右边,只要有一个为true,则返回为true
        System.out.println("| 演示");
        System.out.println(true | false); // 输出:true
        System.out.println(false | false); // 输出:false
        System.out.println(true | true); // 输出:true
        // 逻辑异或
        System.out.println("异或 演示");
        System.out.println(true ^ false); // 输出:true
        System.out.println(true ^ true); // 输出:false

        //逻辑非 !
        System.out.println("! 取反");
        System.out.println(!true); // 输出:
        System.out.println(!false); // 输出:


        // 短路与
        //左边返回false,右边不会执行,若左边返回true,两边执行
        System.out.println("短路与&& 演示");
        System.out.println((a++>100)&&(b++>100));
        System.out.println(a);
        System.out.println(b);

        // 短路或
        //左边和右边只要有一个返回true,最终结果是true
        int d = 10;
        System.out.println("短路或 ||");
        System.out.println((d++>1)||(b++>100));
        System.out.println(d);
        System.out.println(b);
    }
}

运行结果 

&并且
true
false
false
false
true
false
| 演示
true
false
true
异或 演示
true
false
! 取反
false
true
短路与&& 演示
false
11
20
短路或 ||
true
11
20

九、三元运算符

public class ThreeYuan {
    public static void main(String[] args){
        //三元运算符:关系表达式 ? 表达式1 :表达式2
        //关系表达式--boolean(布尔类型),返回true,则执行表达式1,否则执行表达式2
        int a = 10;
        int b = 20;
        int c = a>b?a:b;
        System.out.println(c);//输出:20
        /*三元运算符(表达式案列)
        需求:动物园里有两只老虎,已知两只老虎的体重分别为180kg,200kg。
        请用程序判断两只老虎的体重是否相同。
        */
        int weight1 = 180;
        int weight2 =200;
        boolean d = weight1 == weight2 ? true:false;
        System.out.println("d:"+d);
        //优化,通过中文更直观表达
        //关系表达式--boolean(布尔类型),返回true,则执行表达式1,否则执行表达式2
        System.out.println(d? "两只老虎相等的":"两只老虎不相等");

        /*三元运算符(表达式案列)二
        班级中有三名同学,已知他们的身高分别为150cm,210cm,165cm,
        请用程序实现获取这三名同学的最高身高。
        */
        int height1 = 150;
        int height2 = 210;
        int height3 = 165;
        int testHeight = height1 > height2?height1:height2;
        int maxHeight = testHeight > height3 ? testHeight:height3;
        System.out.println("最高身高是:"+maxHeight);

    }
}

 运行结果

20
d:false
两只老虎不相等
最高身高是:210

十、Scanner打印机用法

Scanner使用基本步骤

1、导包 import java.util.Scanner;导包的动作必须出现在定义的类上面

2、创建对象 Scanner sc = new Scanner(System.in);src是为变量名称 可以发生变化 其他不容许发生变化

3、接受数据 int i = sc.nextInt();接受一个int的数据 i是为变量名称 可以发生变化 其他的都不允许发生变化
import java.util.Scanner;
public class Scannerdemo {
    public static void main(String[] args) {
        //创建了一个打印机
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个数值类型的数据");
        //接受用户在控制台中输入的数值类型
        int i = sc.nextInt();
        System.out.println("输入的数值类型值为:" +i);
    }
}

 运行结果 

请输入一个数值类型的数据
1
输入的数值类型值为:1

 Scanner类实现求两个数之和

//Scanner类实现求两个数之和
import java.util.Scanner;
public class Scannerdemo {
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        System.out.println("请输入第一个类型的数值:");
        int a = sc.nextInt();
        System.out.println("请输入第二个类型的数值:");
        int b = sc.nextInt();
        int c = a + b;
        System.out.println("输入的值的总和为:"+c);
    }
}

 运行结果

请输入第一个类型的数值:
1
请输入第二个类型的数值:
2
输入的值的总和为:3

十一、流程控制语句

流程控制语句:
1、顺序结构
2、分支结构(if、Switch)
3、循环结构(for、while、do……while)

1、if语句

格式:
if(关系表达式){
    语句体;
}
关系表达式只有两个结果true或false
首先判断关系表达式看其结果是true还是false
如果是true执行语句体
如果是false不执行语句体
案例判断a和b的值是否相等,如果相等,控制台输出a==b,否则反之
public class IfDemo {
    public static void main(String[] args){
        int a = 10;
        int b = 10;
        if (a==b){
            System.out.println("a==b");
        }
        if(a!=b){
            System.out.println("a不等于b");
        }
        System.out.println();
    }
}

运行结果

a==b

 if写法二:

格式:
if(关系表达式){
    语句体1;
}else{
    语句体2;
}
关系表达式只有两个结果true或false
首先判断关系表达式看其结果是true还是false
如果是true执行语句体1
如果是false执行语句体2
public class IfDemo {
    public static void main(String[] args){
        int a = 10;
        int b = 20;
        if (a>b){
            System.out.println("a>b");
        }
        else {
            System.out.println("a<b");
        }
        System.out.println();
    }
}

运行结果

a<b

案例:

需求:任意给出一个整数,请用程序实现判断改整数是奇数还是偶数,并在控制台输出该整数是奇数还是偶然数
import java.util.Scanner;
public class IfDemo {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个整数:");
        int a = sc.nextInt();//存储到变量a中
        if(a % 2 == 0){
            System.out.println("该整数是偶数");
        }else {
            System.out.println("该整数是奇数");
        }
    }
}

运行结果

请输入一个整数:
1
该整数是奇数
多重if判断语句
格式:
if(判断条件1){
    执行语句1;
}else if(判断条件2){
    执行语句2;
}else if(判断条件n){
    执行语句n;
}else{
    执行语句n+1
}
首先判断条件1看其结果是true还是false
如果是true执行语句体1,否则执行判断条件2
如果是false,就判断条件2,看其结果是true还是false
如果是true执行语句2,否则执行判断条件n,以此类推。
案例1:键盘输入一个星期数{1,2,3,4,5,6,7}输出对应的星期。
import java.util.Scanner;
public class IfDemo {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个星期数:");
        int week = sc.nextInt();//存储到变量中
        if(week == 1){
            System.out.println("星期一");
        }else if(week == 2) {
            System.out.println("星期二");
        }else if(week == 3) {
            System.out.println("星期三");
        }else if(week == 4) {
            System.out.println("星期四");
        }else if(week == 5) {
            System.out.println("星期五");
        }else if(week == 6) {
            System.out.println("星期六");
        }else if(week == 7) {
            System.out.println("星期日");
        }else {
            System.out.println("你输入的不是星期数……");
        }
    }
}

运行结果

请输入一个星期数:
7
星期日
案例2:根据学生的成绩评定出等级,90以上是优,80-89是良,70-79是中,60-69是及格,60以下是不及格

import java.util.Scanner;
public class IfDemo {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个成绩:");
        int re = sc.nextInt();//存储到变量中
        if(re >90 && re<+100){
            System.out.println("成绩为优");
        }else if(re >= 80 && re <=89) {
            System.out.println("成绩为良");
        }else if(re >= 70 && re <=79) {
            System.out.println("成绩为中");
        }else if(re >= 60 && re <=69) {
            System.out.println("成绩及格");
        }else if(re <60) {
            System.out.println("成绩不合格");
        }else {
            System.out.println("你输入的不是成绩……");
        }
    }
}

运行结果

请输入一个成绩:
89
成绩为良

2、Switch语句

switch(10){
    case 1:
      语句体1;
      break;
    case 2:
      语句体2;
      break;
      ...................................
    default:
      语句体n+1;
      break;
        }
格式说明:
1.表达式取值为byte,short,int,char,JDK5以后可以是枚举,JDK7以后可以是字符串(String)
2.case:后面跟的是要和表达式进行比较的值
3.语句体:这个部分可以是一条或者多条语句
4.break:表示中断,结束的意思,可以控制switch语句的结束
5.default:当所有的值都和表达式不匹配的时候,就执行default控制的语句。其实他就相当于if语句的else
执行流程:
1.首先计算出表达式的值
2.其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。
3.最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。
 

案例:键盘录入一个星期数{1,2,3,4,5,6,7} 输出对应的星期一.....星期日(使用switch实现

import java.util.Scanner;
public class Switchdemo{

    public static void main(String[] args){
        //2.创建键盘录入
        Scanner sc=  new Scanner(System.in);
        System.out.println("请您输入一个星期数:");
        //3.接受用户输入的整数类型值
        int  number= sc.nextInt();
        switch(number){
            case 1:
                System.out.println("星期一");
                // 如果匹配上 case 则会 break退出switch语句
                break;
            case 2:
                System.out.println("星期二");
                // 如果匹配上 case 则会 break退出switch语句
                break;
            case 3:
                System.out.println("星期三");
                // 如果匹配上 case 则会 break退出switch语句
                break;
            case 4:
                System.out.println("星期四");
                // 如果匹配上 case 则会 break退出switch语句
                break;
            case 5:
                System.out.println("星期五");
                // 如果匹配上 case 则会 break退出switch语句
                break;
            case 6:
                System.out.println("星期六");
                // 如果匹配上 case 则会 break退出switch语句
                break;
            case 7:
                System.out.println("星期日");
                // 如果匹配上 case 则会 break退出switch语句
                break;
            default:
                System.out.println("您输入的星期数不正确!");
                break;
        }
    }

}

运行结果


请您输入一个星期数:
8
您输入的星期数不正确!

案例:

需求:一年有12个月,分属于春夏秋冬4个季节,键盘录入一个月份,请用程序实现判断该月份属于哪个季节,并输出。

春:3、4、5

夏:6、7、8

秋:9、10、11

冬:1、2、12

多个case后面的值不可以重复,重复则编译报错

import java.util.Scanner;
public class Switchdemo{

    public static void main(String[] args){
        //2.创建键盘录入
        Scanner sc=  new Scanner(System.in);
        System.out.println("请您输入一个月份");
        //3.接受用户输入的整数类型值
        int  number= sc.nextInt();
        // 冗余 穿透
        switch(number){
            case 1:
            case 2:
            case 12:
                System.out.println("冬季");
                break;
            case 3:
            case 4:
            case 5:
                System.out.println("春季");
                break;
            case 6:
            case 7:
            case 8:
                System.out.println("夏季");
                break;
            case 9:
            case 10:
            case 11:
                System.out.println("秋季");
                //break;			 
            default:
                System.out.println("用户输入的月份不正确!");
        }

    }

}

运行结果

请您输入一个月份
2
冬季

3、for语句

for循环语句格式:
for (初始化语句;条件判断语句;条件控制语句)
{
 循环体语句;
}
执行流程:
1.执行初始化语句
2.执行条件判断语句,看其结果是true还是false
如果是false,循环结束
如果是true,继续执行
3.执行循环体语句
4.执行条件控制语句
5.回到2过程继续
public class Fordemo{

    public static void main(String[] args){
		/*
		for循环语句格式:
		for (初始化语句;条件判断语句;条件控制语句)
		{
			循环体语句;
		}

		*/
        // 控制台输出5个我是余胜军 非常冗余(重复)
        System.out.println("控制台输出");
        System.out.println("控制台输出");
        System.out.println("控制台输出");
        System.out.println("控制台输出");
        System.out.println("控制台输出");
        System.out.println("使用for循环输出:");
        // 1.初始化语句 int i=0;
        // 2.条件判断语句 i(0)<5 true
        // 3.控制台输出
        // 4.条件控制语句  控制循环是否可以继续执行 i+1
        // 5.条件判断语句 i(1)<5
        // 6.控制台输出
        // 7.条件控制语句 i(1)+1
        // 5.条件判断语句 i(2)<5
        for(int i=0;i>5;i++){
            System.out.println("控制台输出我");
        }


    }

}

运行结果

控制台输出
控制台输出
控制台输出
控制台输出
控制台输出
使用for循环输出:
控制台输出我
控制台输出我
控制台输出我
控制台输出我
控制台输出我

案例:在控制台输出1-55-1数据

public class Fordemo{
    public static void main(String[] args){
        System.out.println("输出1-5的数据");
        //第一次i=0
        //第二次i=1
        //第三次i=2
        //第四次i=3	
        //第五次i=4
        //第六次i=5
        for(int i=0;i<=5;i++){
            System.out.println("第:"+(i+1)+"次");
        }
        System.out.println("----输出5-1的数据-----");
        for(int i=5;i>=1;i--){
            System.out.println(i);
        }
    }

}

运行结果

public class Fordemo{
    public static void main(String[] args){
        System.out.println("输出1-5的数据");
        //第一次i=0
        //第二次i=1
        //第三次i=2
        //第四次i=3	
        //第五次i=4
        //第六次i=5
        for(int i=0;i<=5;i++){
            System.out.println("第:"+(i+1)+"次");
        }
        System.out.println("----输出5-1的数据-----");
        for(int i=5;i>=1;i--){
            System.out.println(i);
        }
    }

}

案例:1-5之间的数据和,并且将求和的结果在控制台输出

public class Fordemo{
    public static void main(String[] args){
        System.out.println("求1-5的总和");
        int sum=0;
        for(int i =1;i<=5;i++){
            // sum=sum+i;
            sum+=i;
            // 	sum+=i;==等价于sum=sum+i;
            //第一次 sum= sum(0)+1;=1
            //第二次 sum= sum(1)+2;=3
            //第三次 sum= sum(3)+3;=6
            //第四次 sum= sum(6)+4;=10
            //第五次 sum= sum(10)+5;=15
        }
        System.out.println("sum:"+sum);
    }

}

运行结果

public class Fordemo{
    public static void main(String[] args){
        System.out.println("求1-5的总和");
        int sum=0;
        for(int i =1;i<=5;i++){
            // sum=sum+i;
            sum+=i;
            // 	sum+=i;==等价于sum=sum+i;
            //第一次 sum= sum(0)+1;=1
            //第二次 sum= sum(1)+2;=3
            //第三次 sum= sum(3)+3;=6
            //第四次 sum= sum(6)+4;=10
            //第五次 sum= sum(10)+5;=15
        }
        System.out.println("sum:"+sum);
    }

}

运行结果

求1-5的总和
sum:15

案例:

1-5之间的数据和,并且将求和的结果在控制台输出

1,2,3,4,5 1+2+3+4+5=

public class Fordemo {
    public static void main(String[] args){
        System.out.println("求1-5的总和");
        int sum=0;
        for(int i =1;i<=5;i++){
        // sum=sum+i;
            sum+=i;
        // 	sum+=i;==等价于sum=sum+i;
        }
        System.out.println("sum:"+sum);

    }
}

运行结果

求1-5的总和
sum:15

4、while循环语句

基本格式:
while(判断条件语句) {
     循环体语句;
}
完整格式:
初始化语句;;
while(判断条件语句) {
     循环体语句;
     控制条件语句;
}
①执行初始化语句;
②执行条件判断语句,看其结果是true还是false;
如果是false,循环结束;
如果是true,继续执行;
③执行循环体语句;
④执行条件控制语句;
⑤返回②继续执行。
public class Whiledemo{
    public static void main(String[] args){
		/*
		初始化语句;;
		while(判断条件语句) {
		循环体语句;
		控制条件语句;
		}
		*/
        int j=1;//初始化语句
        while(j<=5){
            System.out.println("我是诸葛成");
            j++;//	控制条件语句;
        }
    }

}

运行结果

我是诸葛成
我是诸葛成
我是诸葛成
我是诸葛成
我是诸葛成

5、do-while循环语句

do while语句
基本格式:
do {
     循环体语句;
}while((判断条件语句);

完整格式:	  
初始化语句; 
do {   
	循环体语句;   
	条件控制语句; 
}while(条件判断语句);
	  
执行流程:
①执行初始化语句
②执行循环体语句
③执行条件控制语句
④执行条件判断语句,看其结果是true还是false
如果是false,循环结束
如果是true,继续执行
⑤回到②继续
public class Whiledemo{
    public static void main(String[] args){
        // do while
		/*
		初始化语句;
		do {
			循环体语句;

		  }while(条件判断语句);

		*/
        int j=1;//初始化语句;
        do{
            System.out.println("我是诸葛成");	//循环体语句;
            j++;//条件控制语句;
        }while(j<=5);

    }

}

运行结果

我是诸葛成
我是诸葛成
我是诸葛成
我是诸葛成
我是诸葛成

十二、Random随机数

作用:用于产生一个随机数
①导包
import java.util.Random;
导包的动作必须出现在类定义上边
②创建对象
Random r = new Random();
上边这个格式里面,r是变量名,可以变,其他的都不允许变
③获取随机数
int number = r.nextInt(10);//获取数据的范围:[0,10)包括0,不包括10
上边这个格式里面,number是变量名,可以变,数字10可以变,其他都不可以变

十三、跳转控制语句


跳转控制语句(break),跳出循环,结束循环
跳转控制语句(continue),跳过本次循环,继续下次循环
注意: continue只能在循环中进行使用!
break 结束整个循环  continue 只是结束本次循环 但是还会继续下次循环

continue用法:使用for 循环1-10 不输出偶数结果
1,2,3,4,5,6,7,8,9,10  
public class Whiledemo {
    public static void main(String[] args){
        for(int i=1;i<=10;i++){
            if(i%2==0){
                continue;// i是偶数结束了本次循环,不打印
            }
            System.out.println("i:"+i);
        }
    }
}

运行结果

i:1
i:3
i:5
i:7
i:9

  • 10
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值