1:常用的DOS命令

A:盘符切换

盘符: 然后回车

B:列出当前目录下的文件以及文件夹

dir 然后回车

C:创建目录(文件夹) 了解

md 目录名称

D:删除目录   了解

rd 目录名称

E:进入指定目录

a:单级目录

cd 目录名称

b:多级目录

cd 多级目录名称,目录间用\隔开的

F:回退指定目录

a:单级目录

cd ..

b:多级目录

cd\

G:删除文件

del 文件名称

del *.txt 删除所有以.txt结尾的文件

H:清屏

cls

J:退出

exit

2:Java语言(了解)

(1)Java语言概述

A:Java之父

詹姆斯.高斯林

B:正式更名为:Java

1995.5.23

C:版本演进

JDK4,JDK5,JDK6,JDK7,JDK8

(2)JDK的平台版本

A:JavaSE

java基础

B:JavaME

android 手机访问

C:JavaEE

web 电脑上通过浏览器访问

(3)跨平台性(理解)

由JVM保证了java语言的跨平台。

注意:

java语言是跨平台的,jvm不是跨平台的。

(4)JRE和JDK的作用和关系(理解)

A:JVM

保证Java语言跨平台

B:JRE

JVM + 核心类库

Java程序的运行环境

C:JDK

JRE + 开发工具

Java程序的开发环境

3:JVM,JRE和JDK的各自作用和关系

A:JVM

保证Java语言跨平台性

B:JRE

Java程序的运行环境

包括:JVM和核心类库

C:JDK

Java程序的开发环境

包括:JRE和开发工具

4:JDK的下载,安装,卸载(掌握)

(1)下载

到官网。

(2)安装

傻瓜式安装。

建议:

A:在D盘建立一个目录:develop

B:傻瓜式安装,修改安装的路径到d盘的develop

C:路径如下

JDK:

D:\develop\Java\jdk1.7.0_72\

JRE:

D:\develop\Java\jre7\

(3)卸载

A:控制面板

B:360之类的软件卸载工具

(4)JDK安装后的目录介绍

5:开发第一个Java程序(HelloWorld)

A:找到JDK安装的bin目录,因为开发工具在这里。

D:\develop\Java\jdk1.7.0_72\bin

B:在bin目录下新建一个文本文件,并修改其名称为:

HelloWorld.java

java源文件的扩展名为:.java

C:用windows记事本打开HelloWorld.java文件,写内容

D:Java程序最基本的组成单位是类,所以首先我们要定义一个类。

怎么定义呢?

格式:

class 类名 {

类体

}

建议:类名和文件名一致。

E:一个类要想独立运行,必须写一个主方法。

怎么写主方法呢?

格式:

public static void main(String[] args) {

方法体

}

F:在主方法中写一条输出语句。

怎么写输出语句呢?

格式:

System.out.println("你要输出的内容");

6:Java程序的开发和执行流程

A:首先编写java源代码程序,扩展名.java

HelloWorld.java

B:在命令行模式中,输入javac命令对源代码进行编译,生成字节码文件

javac 文件名(带扩展名)

C:在命令行模式中,输入java命令对字节码文件进行执行

java 类名

练习:

请通过windows记事本写一个程序,在控制台输出你自己的名称(拼音)

7:常见问题(掌握)

(1)找不到文件

A:后缀名被隐藏

B:文件名写错了

(2)单词拼写错误

java程序是严格区分大小写的

(3)括号一定要成对

(4)非法字符

一般都是中英文符号问题(中英文分号的问题最常见)

8:配置path环境变量

A:为什么要配置path环境变量呢?

是为了让javac命令可以在任意目录下使用。

B:如何配置呢?

a:方式1

把JDK的bin目录配置到path中。

修改系统属性中的path环境变量:

D:\develop\Java\jdk1.7.0_72\bin;以前的path内容

b:方式2

创建新的变量名称:

变量名:JAVA_HOME

变量值:D:\develop\Java\jdk1.7.0_72

修改path变量:

用%%引用JAVA_HOME即可。

%JAVA_HOME%\bin;以前的path内容

等价于下面的内容:

D:\develop\Java\jdk1.7.0_72\bin;以前的path内容

练习:

先配置环境变量,然后在d盘根目录写一个程序,并编译运行。

请通过windows记事本写一个程序,在控制台输出你自己的名称

下午:

1:重点:int,float,char

2:基本数据类型和变量定义以及String类型

1.注释:用于解释说明程序的文字

注释的分类及格式:

A:单行注释

B:多行注释

注释作用:

A:解释说明程序,提高程序的阅读性

B:可以帮助我们排错

后面我们会讲解更高级的排错方式

2.关键字:被Java语言赋予特定含义的单词

关键字特点:

组成关键字的字母全部小写

关键字注意事项

A:goto和const作为保留字存在,目前并不使用

B:类似notepad++这样的高级记事本,针对关键字有特殊的颜色标记,非常直观

蓝色

注意:

main不是关键字。只是被JVM识别的名称。

3.标识符:就是起名字。

就是给类,接口,方法,变量等起名字时使用的字符串(字符序列)

组成规则:

A:英文大小写字母

B:数字字符

C:$和_

注意事项:

A:不能以数字开头

B:不能是Java中的关键字

C:区分大小写

class,Class

常见的命名规范:见名知意

假设:

class Student {}

class Phone {}

class S {}

class P {}

包:就是文件夹,用于对类进行分类管理。

单词全部小写。

单级:com

多级:com.baidu,cn.sohu

a

a.b

a.b.c

a.b.c.d

类或者接口:

一个单词:

首字母大写。

举例:Demo,Student

多个单词:

每个单词的首字母大写。

举例:HelloWorld,MakeName

方法或者变量:

一个单词:

全部小写。

举例:main(),name,show(),age

多个单词:

从第二个单词开始,每个单词首字母大写。

举例:showAllNames(),getNameBySid(),studentMaxAge

常量:

单词全部大写。

一个单词:

举例:PI

多个单词:

举例:STUDENT_MAX_AGE

4.常量:

在程序执行的过程中其值不可以发生改变

常量的分类:

A:字面值常量

B:自定义常量(面向对象)

字面值常量:

A:字符串常量

用双引号括起来的内容

B:整数常量

所有整数

C:小数常量

所有小数

D:字符常量

用单引号括起来的内容

E:布尔常量

较为特有,只有true和false

F:空常量

null(数组部分讲解)

5.不同进制的数据组成

二进制:由0,1组成。以0b开头

八进制:由0,1,…7组成。以0开头

十进制:由0,1,…9组成。整数默认是十进制的

十六进制:由0,1,…9,a,b,c,d,e,f(大小写均可)。以0x开头

画图讲解进制:

1.进制的概述和二进制,八进制及十六进制

2.其他进制到十进制

(2.1 将十进制12345转换成十进制12345  2.2 将二进制ob100转换成10进制

2.3将八进制0100转换成10进制  2.4将ox100转换为10进制)

3.十进制到其他进制(3.1 十进制12345到12345十进制  3.2 十进制52转换为2进制)

4.+7与-7的原码,反码,补码介绍

6.数据类型分类:

基本类型:4类8种。

引用类型:类,接口,数组。

基本类型:

整数占用字节范围

byte1-128 ~ 127

short2-2^15 ~ 2^15 - 1

int4-2^31 ~ 2^31 - 1

long8-2^63 ~ 2^63 - 1

1k空间:

1k = 1024 byte

byte = 8bit

浮点数

float4-3.403E38 ~ 3.403E38

double8-1.798E308 ~ 1.798E308

字符

char2

Java采用的是unicode编码。所以java中每一个字符占用两个字节。这样就可以存储一个汉字了。

布尔

boolean1true,false

注意:

A:默认整数是int类型

B:默认浮点数是double类型

C:如果要定义long类型的变量,建议加L或者l。建议加L。

D:如何要定义float类型的变量,必须加F或者f。建议加F。

7.这里我们要介绍一个运算符:

+ 做数据的加法。

数据在做运算的时候,会进行类型的转换,只有类型一致才能进行运算。

A:boolean类型不参与。

B:类型转换

隐式转换

强制转换

隐式转换:

从小到大。

byte,short,char -- int -- long -- float -- double

8.强制转换:(一般不建议做强制转换,这样会有数据的丢失)

从大到小。

格式:

目标数据类型 变量名 = (目标数据类型)(运算的结果)

9.字符做加法

其实是去找字符对应的数据值来做加法。

ASCII码表。

基本的字符和数据对应表。

'0'48

'A'65

'a'97

字符串做加法

其实做的是字符串的拼接。

如果有字符串,结果肯定是字符串类型。

10.面试题:请看下面的程序那一行有问题,并说明为什么。

class DataTypeTest {

public static void main(String[] args) {

byte b1=3,b2=4,b3;

//可能损失精度

b3 = (byte)(b1 + b2);

System.out.println(b3);

byte b4 = 3 + 4;

System.out.println(b4);

}

变量相加:先提升类型,然后做运算。

常量相加:先做运算,如果在指定的范围内,就赋值成功,否则报错。

第二天:

1.几个概念:

1:运算

对常量和变量进行操作的过程称为运算。

2:运算符

对常量和变量进行操作的符号称为运算符。

3:操作数

参与运算的常量或者变量称为操作数。

4:表达式

用运算符把常量或者变量连接起来符合java语法的式子就可以称为表达式。

不同运算符连接的式子体现的是不同类型的表达式。

a

a + b

a > b

运算符:

算术运算符

赋值运算符

比较运算符

逻辑运算符

三目运算符

算术运算符:

+,-,*,/,

%,++,--

2./和%的区别?

/:除法,得到商

符号相同为正,不同为负

%:除法,得到余数

符号和第一个操作数相同

%的应用:

x%3 等于 0 说明x能被3整除

x%2 等1   说明x是奇数

等0   说明x是偶数

3.++,--运算符(讲完之后做练习)

作用:++就是加1,--就是减1。

自增自减运算符

++,--在运算的时候,可以放在操作数的前面,也可以放在操作数的后面

A:单独使用

没有区别

B:参与其他操作使用

后面:先操作,再自增

前面:先自增,再操作

class OperatorDemo3 {

public static void main(String[] args) {

int a = 3;

System.out.println(a);

System.out.println("-------------");

//a++;

//++a;

//System.out.println(a);

//int b = a++;

int b = ++a;

System.out.println(a);

System.out.println(b);

}

}

4.赋值运算符:

基本:=

扩展:+=

扩展的赋值运算符隐含了强制类型转换:

int a = 10;

a += 20;

a = (a的数据类型)(a + 20)

5.关系运算符:

==,!=,>,>=,

注意:

A:比较运算符的结果肯定是boolean。

B:你到底是使用"="还是使用"==",你自己要清楚。

6.逻辑运算符:

&,|,!,^

&&,||

注意:

逻辑运算符用于连接关系表达式

结论:

&: 有false则false

|: 有true则true

!:改变结果,取反

^:相同false,不同true

记忆:情侣关系(男男,男女,女男,女女)

7.最常用的逻辑运算符;

!,&&,||

&&和&:

结果一样,但是&&具有短路效果,左边如果是false,右边不执行。

||和|:

结果一样,但是||具有短路效果,左边如果是true,右边不执行。

8.操作数据的个数。

三元运算符:

格式:?:

(比较表达式)?表达式1:表达式2;

执行流程:

如果条件为true,运算后的结果是表达式1;

如果条件为false,运算后的结果是表达式2;

需求:获取两个数据中的最大值

嵌套使用(获取三个数的最大值)

9.我们目前在写程序的时候,数据值都是固定的,但是实际开发中,数据值肯定是变化的,

所以,我准备把数据改进为键盘录入,提高程序的灵活性。

键盘录入数据的步骤:

A:导包

import java.util.Scanner;

位置:class之前,上面

B:创建键盘录入对象

Scanner sc = new Scanner(System.in);

C:获取键盘录入数据

int i = sc.nextInt();

需求:键盘录入两个数据,并对这两个数据求和,输出其结果

分析:

A:键盘录入两个数据

三步实现

B:对这两个数据求和

C:输出其结果

需求:键盘录入两个数据,获取这两个数据中的最大值

需求:键盘录入两个数据,比较这两个数据是否相等

10.流程控制语句:

A:顺序结构(没有基本格式,从上往下依次执行)

B:选择结构(有格式)

if

switch

C:循环结构(有格式)

for

while

do...while

顺序结构:

写在前面的先执行,写在后面的后执行

11.if语句

三种格式。

11.1 if语句格式1:

if(比较表达式) {

语句体

}

执行流程:

首先判断比较表达式看其结果是true还是false

如果是true就执行语句体

如果是false就不执行语句体

需求:1.如果我得了100分爸爸就给我买飞机

2.如果数字是10,就输出10这个数字

if语句的注意事项:

A:比较表达式无论简单还是复杂,结果必须是boolean类型

B:一般来说:

有左大括号就没有分号,有分号就没有左大括号

11.2 if语句格式2:

if(比较表达式) {

语句体1;

}else {

语句体2;

}

执行流程:

首先判断关系表达式看其结果是true还是false

如果是true就执行语句体1

如果是false就执行语句体2

需求:1.判断两个数的最大值(用if和三元实现)

2.判断两个数是否相等(用if和三元实现)

11.3 if语句的三种格式:

格式1:适合做一种情况的判断

格式2:适合做二种情况的判断

格式3:适合做多种情况的判断

if语句格式3:

if(比较表达式1) {

语句体1;

}else  if (比较表达式2) {

语句体2;

}

else {

语句体n+1;

}

执行流程:

首先判断关系表达式1看其结果是true还是false

如果是true就执行语句体1

如果是false就继续判断关系表达式2看其结果是true还是false

如果是true就执行语句体2

如果是false就继续判断关系表达式…看其结果是true还是false

如果没有任何关系表达式为true,就执行语句体n+1。

需求:

键盘录入学生成绩,根据学生成绩判断,输出学生等级

90-100A

80-89B

70-79C

60-69D

60以下E

练习:

需求:键盘录入x的值,计算出y的并输出。

x>=3y = 2x + 1;

-1<=x<3y = 2x;

x<=-1y = 2x – 1;

需求:键盘录入月份的值,输出对应的季节。

春 3,4,5

夏 6,7,8

秋 9,10,11

冬 12,1,2

获取三个数据中的最大值

if语句的嵌套。

if() {

if语句

}

12 .switch语句的格式:

switch(表达式) {

case 值1:

语句体1;

break;

case 值2:

语句体2;

break;

default:

语句体n+1;

break;

}

格式解释:

A:switch表示这是switch语句

B:表达式

表达式的取值:byte,short,int,char

JDK5以后可以是枚举

JDK7以后可以是String

C:case后面跟的是要和表达式进行比较的值

D:语句体部分可以是一条或多条语句

E:break表示中断,结束的意思,可以结束switch语句

F:default语句表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。

执行流程:

首先计算出表达式的值

其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。

最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。

需求:

键盘录入一个数字(1-7),输出对应的星期几。

13.switch语句的注意事项:

A:case后面只能是常量,不能是变量。

B:多个case后面的值不能出现相同的。

C:default可以省略吗?

可以。但是不建议。

D:break可以省略吗?

可以。但是不建议。

容易出现case穿透。

E:default的位置一定要在最后吗?

可以在任意位置,建议在最后。

F:switch语句的结束条件

a:遇到break

b:执行到末尾

练习:

1.class SwitchTest {

public static void main(String[] args) {

int x = 2;

int y = 3;

/*

switch(x){

default:

y++;

break;

case 3:

y++;

case 4:

y++;

}

*/

/*

switch(x){

default:

y++;

case 3:

y++;

case 4:

y++;

}

*/

switch(x){

case 3:

y++;

case 4:

y++;

}

System.out.println("y="+y);

}

}

1.输入数字,输出对应的星期

2.模拟做单项选择题,根据你的选择,给出对应的答案。(表达式是字符的情况)

3.用switch语句实现键盘录入月份,输出对应的季节

if语句和switch语句的各自使用场景:

if语句使用场景:

A:针对结果是boolean类型的判断

B:针对一个范围的判断

C:针对几个常量值的判断

switch语句使用场景:

针对几个常量值的判断

switch语句能够实现的,if一定能够实现。反之不成立

14.循环语句组成:

A:初始化语句

一条或者多条语句,这些语句完成一些初始化操作。

B:判断条件语句:

这是一个boolean表达式,这个表达式能决定是否执行循环体。

C:循环体语句

这个部分是循环体语句,也就是我们要多次做的事情。

D:控制条件语句

这个部分在一次循环体结束后,下一次循环判断条件执行前执行。

通过用于控制循环条件中的变量,使得循环在合适的时候结束。

循环:

for

while

do..while

for循环:

for(初始化语句;判断条件语句;控制条件语句) {

循环体语句;

}

执行流程:

A:执行初始化语句

B:执行判断条件语句

如果是true:就继续执行。

如果是false:就结束循环。

C:执行循环体语句

D:执行控制条件语句

E:回到B

执行次数:

A:初始化语句

只执行一次

B:判断条件语句

一次以上

C:循环体语句和控制条件语句

0次以上

需求:

请在控制台输出10次"HelloWorld"

15.需求:

A:请在控制台输出数据1-10

B:请在控制台输出数据10-1

16.

求出1-10之间数据之和

分析:

A:获取1-10的数据

for循环就OK了。

B:定义一个求和变量,用于保存求和的结果。

求和变量的初始化值是0。

C:看如下的格式:

0+1=1

1+2=3

3+3=6

6+4=10

10+5=15

...

看每一个式子:

int sum = 0;

1 = 0 + 1 // sum = sum + 1;

3 = 1 + 2 // sum = sum + 2;

6 = 3 + 3 // sum = sum + 3;

10 = 6 + 4 //...

15 = 10 + 5 //...

...

求和公式:

int sum = 0;

for(int x=start; x<=end; x++) {

sum += x;

}

System.out.println(sum);

现场做:

求和1-100案例:

int sum = 0;

for(int x=1; x<=100; x++) {

sum += x;

}

System.out.println(sum);

17. 需求:求出1-100之间偶数和

分析:

如何判断数据是偶数。

什么样子的数据是偶数。

2,4,6,8,10,...

x%2 == 0

18.需求:求5的阶乘

规则:

n! = n*(n-1)*(n-2)*...*3*2*1

19.while循环的格式:

while(判断条件语句) {

循环体语句;

}

变形格式:

初始化语句;

while(判断条件语句) {

循环体语句;

控制条件语句;

}

执行流程:

A:执行初始化语句

B:执行判断条件语句

如果是true:就继续执行。

如果是false:就结束循环。

C:执行循环体语句

D:执行控制条件语句

E:回到B

比对for循环:

for(初始化语句;判断条件语句;控制条件语句) {

循环体语句;

}

需求:

1.请在控制台输出10次"HelloWorld"

2.求出1-10之间数据之和

3.求出1-100之间偶数和

20.for循环和while循环的区别

控制条件语句所控制的那个变量,在for循环结束后,就不能再被访问到了,

而while循环结束还可以继续使用,如果你想继续使用,就用while,

否则推荐使用for。原因是for循环结束,该变量就从内存中消失,能够提高内存的使用效率。

使用场景:

for循环适合针对一个范围判断进行操作

什么到什么之间,三位数等

while循环适合判断次数不明确操作

21.我国最高山峰是珠穆朗玛峰:8848m,我现在有一张足够大的纸张,厚度为:0.01m。

请问,我折叠多少次,就可以保证厚度不低于珠穆朗玛峰的高度?

分析:

A:定义统计变量,初始化值是0

B:折叠一次,厚度就是以前的2倍

C:折叠次数不明确,用while循环

class WhileTest2 {

public static void main(String[] args) {

int count = 0;

int end = 884800;

int start = 1;

while(start<=end) {

//折叠一次

start*=2;

count++;

}

System.out.println(count);

}

}

22.do...while的格式:

do {

循环体语句;

}while((判断条件语句);

变形格式:

初始化语句;

do {

循环体语句;

控制条件语句;

}while(判断条件语句);

执行流程:

A:执行初始化语句

B:执行循环体语句

C:执行控制条件语句

D:执行判断条件语句

如果是true:就继续执行。

如果是false:就结束循环。

E:回到B

for(初始化语句;判断条件语句;控制条件语句) {

循环体语句;

}

23.三种循环的区别?

A:do…while循环至少会执行一次循环体。

B:for循环和while循环只有在条件成立的时候才会去执行循环体

他们是可以相互转换的。

我们在使用循环的时候到底该选择谁呢?

优先考虑for循环,再考虑while循环,最后考虑do…while循环。

注意事项:

死循环

for(;;){}

while(true){}

24.break的使用场景:

A:在选择结构switch语句中

B:在循环语句中

注意:

离开使用场景的存在是没有意义的

break:

遇到break,就中断整个循环。

默认情况下,break只能中断它所属的那个循环。

25.continue的使用场景:

在循环语句中

注意:

离开使用场景的存在是没有意义的

continue  退出本次循环

java小数换成字符实现加法_第一、二次笔记总结相关推荐

  1. JAVA32位的如何换成64位的_教你怎么把win732位换成64位

    近来,小编在网上看到一些网友在寻求windows732位怎么换成64位的方法,所以急人之所需,小编就如何windows732位怎么换成64位,做出以下解答. 一些朋友在网站上想要知道怎么把win732 ...

  2. java url换成流_JAVA数据流之间的转换

    InputStream.read(byte[] b) 从输入流中读取一定数量的字节,并将其存储在缓冲区数组 b 中. OutputStream.write(byte[] b) 将 b.length 个 ...

  3. java小数转换成分数_如何将小数转换为分数?

    我需要将小数转换为分数.转换成10英尺很容易. 1.5 => 15/10 这可以通过以下代码完成: public class Rational { private int num, denom; ...

  4. 将java类转换成jsp的例子_使用 动作可以在JSP页面中得到Bean实例的属性值,并将其转换为()_学小易找答案...

    [单选题]下面哪个方法当服务器关闭时被调用,用来释放Servlet所占用的资源? [多选题]非处方药的遴选原则是( ). [单选题]主控制板与门机变频器有开门.关门命令.公共端,那么主控制板应该是() ...

  5. java字符串转换成字符_Java字符串转为字符

    代码如下: import java.util.Arrays; import java.util.Scanner; public class App { public static void main( ...

  6. Java字符串转换成字符数组

    方法1 package com.oracle;import java.util.Scanner;public class Test {/*** @param args*/public static v ...

  7. conda 换成清华的源_[mcj]conda设置清华源以及更换删除源|conda常用命令集锦

    全文包括: 显示目前使用的源channel 增加channel 删除channel 其他命令 1 显示channel: 首先,conda config --show能够显示出所有conda的confi ...

  8. java基本语句回文数实验_实验二 java基本数据类型与把持语句.doc

    实验二 java基本数据类型与把持语句.doc 还剩 4页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: 5System.out.println(num ...

  9. java个十百千万位余数_第一学期四年级数学期末试题

    学习数学对于很多的同学来说是一件很痛苦的事情,今天小编就给大家来分享四年级数学,希望大家来收藏哦 四年级数学上学期期末考试题 一.填一填(18分) 1.386000是( )位数,它的最高位是( )位, ...

最新文章

  1. ios nil、NULL和NSNull 的使用
  2. iOS7时代我们用什么来追踪和识别用户?
  3. python绘制两个离散变量关系图——马赛克图
  4. Response.AddHeader
  5. Postgresql pg_dumppg_restore用法
  6. bzoj 1610 连线游戏
  7. 如何解决海量数据的处理问题
  8. Abaqus帮助文档翻译——启动和退出Abaqus/CAE
  9. 2022张宇考研基础30讲 第六讲 中值定理
  10. YYC松鼠聚合直播系统添加图片上传视频提示网络错误的问题解决方案
  11. App Store自动下载WiFi与蜂窝数据切换机制
  12. mysql 内联注释_TSRC挑战赛:WAF之SQL注入防御思路分享
  13. 实时竞价的技术及行业展望
  14. CentOS 6.4 x64 Cacti 监控安装配置
  15. 前端页面适应不同分辨率
  16. Redis——过期时间/过期回收策略
  17. Android 强制设置横屏或竖屏 设置全屏
  18. 如何把一张图片放到网页上或者如何在浏览器查看一张图片
  19. CSS颜色:RGB颜色/HEX颜色/HSL颜色(网页颜色完全总结)
  20. 小学教师资格证全套资料

热门文章

  1. 2007浙大复试上机考试题目1--最小长方形
  2. hadoop安装小记
  3. 云浮市云计算大数据中心预计明年6月建成
  4. 深入代码详谈irqbalance【转】
  5. 阅读gulp源码小结
  6. java openSession和getCurrentSession的比较
  7. webService返回自定义类型的数据处理
  8. 多个C文件共用一些变量
  9. flutter: 建树流程
  10. form数据请求参数格式