Java基础知识(上)
来源:互联网 发布:js设置div不可见 编辑:程序博客网 时间:2024/04/30 02:45
Java基础知识(上)1、计算机基础知识
1、计算机硬件 软件的基础设施,就是载体
2、计算机软件
系统软件:windows,MAC,LINUX
应用软件:QQ YY momo
3、软件开发
用开发工具和计算机语言做出软件就是软件开发
4、计算机语言 人与计算机的交流方式
5、人机交互 就是人与计算机打交道
图形界面方式:这种方式方便,简单直观
窗口方式:要有控制台,需要记住很多命令,这种方式麻烦
6、键盘功能键和键盘快捷键 功能键:知道位置即可
tab
shift
ctrl
alt
enter
windows
prtsc
上下左右键
快捷键留个作业补齐中文意思
ctrl+A
ctrl+c
ctrl+v
ctrl+s
ctrl+z
ctrl+y:还原撤销 7、常用的DOS命令 1、如何打开控制台
a win+r cmd 回车
2、常用的命令
d:回车
cd demo 进入demo文件夹
cd .. 返回上一层
cd \ 返回根目录
cls 清屏
exit 退出 mspaint :打开画图软件2、JAVA语言概述
1、JAVA语言的平台 A:J2SE:基础版,桌面应用
B:J2ME:微型版,手机开发
C:J2EE:企业版,简单说就是所有浏览器访问的程序
注意JDK5以后改名JAVASE, JAVAME, JAVAEE
注意:J2SE是学习其他两门的基础
2、Java语言的特点 重点记
开源:源代码开放
跨平台:在任意操作系统下都可以使用
3、跨平台 通过火星人和中国人,德国人交流知道的原理:找一个翻译。而JAVA语言的这个翻译是JVM
注意JAVA语言是跨平台的,JVM不是跨平台的
4、JRE 和JDK JRE:由JVM+class library(类库) 组成,是JAVA程序的运行环境
JDK:JRE+TOOLS,是开发工具包
由JDK开发的软件必须在JRE上运行,并且有JVM保证跨平台
3、HelloWorld案例
1、开发工具
记事本,高级实施本(EditPlus),集成开发工具,Eclipse\MyEclipse
2、一个HelloWorld案例
class Demo{
public static void main(String[] args){
System.out.println("Hello World");
}
}
解释:
1、java语言的最基本单位用class表示
定义类的格式class 类名
2、程序如果要运行、就行必须有main方法
public static void main(String[] args){}
3、程序要输出内容就必须有输出语句
System.out.println("...");
3、如何执行JAVA程序
1、开发源程序
2、编译源程序 javac Demo.java
3、通过JAVA执行 java Demo
注意:不是必须每次编译才能运行,如果已经编译好,直接运行就可以了
4、常见的错误及注意事项
A:文件扩展名导致编译失败。把隐藏文件扩展名给显示出来。
win7,win8的同学如果不会单独问我。
B:非法字符错误
只要看到是非法字符,肯定是中英文问题。
因为我们要求所有的符号全部是英文状态的。
C:注意大小写问题
class -- Class
String -- string
System -- system
D:括号的对应问题
在java程序中,括号都是成对出现的。
所以,我建议在编写程序时,请遇到括号,成对打。
E:main方法格式错误
public static void main(String [] args){ }
F:当java源文件发生变化后,请重写编译在运行
G:缩进问题
写代码,遇到{},请缩进一个tab位置。
4、环境变量
1、path环境变量的作用 让JAVAC 和JAVA命令可以在任意目录可以被访问
2、path环境的配置 两种方案:
只修改PATH
先建立一个JAVA_HOME,值是"D:\..\JDK1.7",后修改PATH:%JAVA_HOME%
3、classpath环境的配置 让class文件在任意目录都可以被访问
技巧:在最左边配置一个.;这样做的好处就是能够先在当前目录下查找并执行
注意:在Path中用";"分割不同的文件目录 5、关键字 1、概念 在Java语言中具有特殊含义的单词。
2、特点 Java语言中的所有关键字全部小写。
3、注意 goto和const在Java语言中有,但是一直未使用。
6、标识符
1、概念 对各种变量、方法和类等要素命名时使用的字符序列称为标识符。(其实就是个名字)
由26个英文字母大小写,数字:0-9 符号:_ $ 组成
2、组成规则 A: 标识符由字母、下划线“_”、美元符“$”或数字组成。
B: 标识符应以字母、下划线、美元符开头(只要不以数字开头就OK)
C: 不能和关键字重名。
D: 名字不要用空格隔开。
E: Java中严格区分大小写
3、常见的命名规则
A:包
用于把同名的文件放到不同的目录下。
全部小写。如果是多级包,用.分开。
举例:
itcsdn
cn.itcsdn
com.baidu
给某个公司做项目:域名反写作为包名。
B:类和接口(见名知意,驼峰命名)
a:如果类名是一个单词,这个单词的首字母大写。
举例:
Student
Teacher
b:如果类名是由多个单词组成,每个单词的首字母大写。
举例:
HelloWorld
LinQingXia
C:方法和变量
a:如果是一个单词,这个单词的首字母小写。
举例:
main()
age
b:如果是多个单词组成,从第二个单词开始,每个单词的首字母大写。
举例:
showName()
studentAge
D:常量
a:如果是一个单词,全部大写。
举例:
PI
b:如果是多个单词,全部大写,并用_隔开
举例:
STUDENT_MAX_AGE
7、注释
1、概念 用于解释说明程序的,给人看的。
2、分类 A:单行注释
//
B:多行注释
/* */
c:文档注释
/** */
3、作用 A:对程序进行解释说明
B:用于调试程序错误
要求: 以后类上面和方法上面一律用文档注释8、常量
1、概念
在程序运行过程中,其值不会发生改变的量
2、分类 A 、字面值常量
整数常量:1,2,-3
小数常量:2.3,-232.3
字符常量:‘A’
字符串常量:”Hello World”
布尔常量: true false
空常量 null
B 、自定义常量
类、接口、数组
9、进制
1、概念
X进制就是逢X进1
2、 JAVA中的进制
二进制:0b开头,JDK1.7以后才后的
八进制: 0开头
十六进制:0x开头
十进制:默认就是,什么都不用写
3、其他进制转十进制 公式:所有系数 * 基础 ^ 权相加的和
系数:每一位上的数
基础:X进制基数就是X
权:从右往左,从0位置开始编号,每一位对应的编号就是权
4、十进制转其他进制
除基取余,直到商为0,余数反转
5、进制的快速转换
8 4 2 1码
二进制--八进制(3位组合)
二进制--十六进制(4位组合)
10、变量的概述
1、概念
他是内存中的一个存储空间,在程序运行过程中,其值在指定范围内可以改变的量
2、命名规范
如果变量由一个单词组成,首字母小写,如果有多个单词组成,第一个首字母小写,其他的首字母大写,要做到见名之意
3、格式
格式1:数据类型变量名= 初始化值;
格式2:数据类型变量名;
变量名= 初始化值;
格式3:数据类型变量名1 = 初始化值,变量名2 = 初始化值,..;
格式4:数据类型变量名1,变量名2;
变量名1 = 初始化值;
变量名2 = 初始化值;
4、 注意事项
在一个{}内,不能存在重名的变量;
变量要先初始化再使用(在使用之前初始化即可)
为某一个变量赋值的时候尽量不要超过其能表示的范围
变量名称的定义要见名之意,不要写一写容易混淆的
定义long类型或者单精度浮点型变量的时候,一定要在数据的后面+l或者+f
11、数据类型
1、分类
(四类八种)
整型 byte short int long
浮点型 float double
字符型 char
布尔型 boolean
2、注意
整数默认是int,所以long类型后面加L或l
浮点数默认是double类型,所以float类型需要加f或F
3、数据类型转换
1、隐式转换:直接赋值
btye short char 在运算过程中自动提升为int
btye short char ->int - >long -> float ->double
2、强制转换
(数据类型) 数据或变量名
12、算数运算符
1、分类
+, - , * , /, %,++,--
2、补充说明
+: 加法运算,字符串连接,如果做字符串连接符,会按照从左往右的顺序按照运算符的规则该怎么运算就怎么运算直到遇到 字符串就变成字符串连接符了
/: 如果想要结果为负数,那么/中至少有一个是负数
%: 如果想要结果为负数,那么左边必须是负数
++:
int num = 1;
前自加: ++num;
前自加的值是加之后的值
后自加:num++
后自加的值是加之前的值
System.out.println(num++ == ++ num);
num++;只有这种情况才是里存在的13、 赋值运算符
1、分类
=,+= ,-=,%=,*=,/=
2、重点
+=: 内含强制转换
比如(面试题):
short s = 2;
s += 3;
等价于 s = (short)(s+3);14、比较运算符或关系运算符
1、分类
==,!=,>=,>,<=,<
2、特点
1、关系运算符的结果必须是boolean型
2、两边的类型必须一致
3、注意
别把== 写成 =
15、逻辑运算符
1、分类
&,|,!,^,&&,||
2、详细说明
&:有假则假
|:有真则真
!:真则假,假则真
^:相同为假,不同为真
&&:短路与:如果左边为false,右边不执行
||:短路或如果左边为true,右边不执行
开发中常用&&,||,!
16、条件运算符
又叫三元运算符,三目运算符 1、 格式 条件表达式? 表达式1:表达式2;
2、执行流程
根据条件表达式返回的值是true还是false决定结果是什么,如果是true,就把表达式1作为结果,如果是false就把表达式2作为结果
举例:int a = 100; int b = a>50?200:100; 3、注意 既然是表达式,就必须有结果 4、什么时候用 给变量赋值的时候用17、if语句
1、使用场景
1、常见于对某个范围进行判断
2、几个变量判断
3、boolean类型表达式的判断
2、格式
A:第一种格式
if(条件表达式)
{
语句体;
}
执行流程 : 自己总结 这里知道被{}包裹起来的就是代码块就可以了 B:第二种格式
if(条件表达式)
{
语句体;
}else{
语句体;
}
执行流程 : 自己总结
C:第三种格式
if(条件表达式)
{
语句体;
}else if(条件表达式2)
{
语句体;
}else{
语句体;
}
执行流程 : 自己总结
3、注意事项
A 什么时候用哪一种if语句
第一种格式在判断条件为一种情况下使用
第二种格式在判断条件为两种情况下使用
第三种格式在判断条件为多种情况下使用
B 每一种if语句其实都是一个整体,如果有地方执行了,其他的就不执行了
C 如果if或者else里面控制的语句体是一条语句是可以省略大括号的,但是,如果是控制多条语句,必须加上大括号
建议:永远写上大括号
D 大括号和分号一般不同时出现
4、作用域
所有变量的定义只在它所属的大括号内有效
18、switch语句
1、用途
一般用于几个常量的判断,并且对于几个常量的判断switch的效率高于if
因为switch会把几个常量值直接加载到内存,在判断的时候效率要比if高
所以,针对几个常量的判断,一般选择switch语句 2、switch语句的格式
switch(表达式)
{
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
。。
default:
语句体n;
break;
}
A 针对格式的解释
1、Switch表示这里使用的是switch语句,后面跟的是选项
表达式:byte,short,int,char
JDK5以后可以是枚举
Jdk7以后可以是字符串
2、case表示的这里就是选项的值
他后面的值将来和表达式里的值匹配
case后面的值是不能够重复的
3、break:
switch语句执行到这里就结束了
4、default
当所有的case和表达式都不匹配的时候,就走default的内容
它相当于if语句的else.一般不建议省略
B 执行流程
首先拿表达式中的值与case后面的值匹配,
如果有就执行对应的case里面的内容,直到遇到break或switch语句被执行完毕才会停止
如果没有匹配项,但是有default,就会执行default里面的内容,直到遇到break或switch语句被执行完毕才会停止
C 注意事项
A、defult整体可以省略吗
可以,但是不建议
B、default的位置可以放到前面吗?
可以,但是不建议
C、break可以省略吗
可以,但是不建议
default在最后,break是可以省略的
case后面的break可以省略,但是结果可能有问题
D、switch语句什么时候结束
遇到break或者执行到switch语句的末尾
19、if 和 switch对比
1、如果条件比较复杂,并且伴有表达式运算时用if
如果条件已经确定,并且比较简单的逻辑用switch
2、if常见于对范围判断或变量判断,还有就是boolean判断
switch常见于对值的判断20、条件运算符和if语句第二种格式替换
在某些情况下条件运算符可以和if语句第二种格式相互替换 : 在给变量赋值的情况下可以替换 条件运算符可以看作if语句第二种格式的简写,既然是简写就会有弊端: 1、条件运算符是运算符,所以必须有结果,但是if语句是流程控制语句,可以直接输出一些内容 2、条件运算符的执行效率比if语句第二种格式低,这个了解就好21、Scanner的使用
1、概述
Scanner 是JDK5以后设计的用来接收键盘录入数据使用的
2、使用步骤
目前我们要通过键盘录入int类型数据,必须按照如下步骤
A 导包
import java.util.Scanner;
B 创建对象,封装键盘录入
Scanner sc = new Scanner(System.in);
C 调用方法,获取数据
int number = sc.nextInt();
软件的基础设施,就是载体
2、计算机软件
系统软件:windows,MAC,LINUX
应用软件:QQ YY momo
3、软件开发
用开发工具和计算机语言做出软件就是软件开发
人与计算机的交流方式
就是人与计算机打交道
图形界面方式:这种方式方便,简单直观
窗口方式:要有控制台,需要记住很多命令,这种方式麻烦
功能键:知道位置即可
tab
shift
ctrl
alt
enter
windows
prtsc
上下左右键
快捷键留个作业补齐中文意思
ctrl+A
ctrl+c
ctrl+v
ctrl+s
ctrl+z
1、如何打开控制台
a win+r cmd 回车
2、常用的命令
d:回车
cd demo 进入demo文件夹
cd .. 返回上一层
cd \ 返回根目录
cls 清屏
A:J2SE:基础版,桌面应用
B:J2ME:微型版,手机开发
C:J2EE:企业版,简单说就是所有浏览器访问的程序
注意JDK5以后改名JAVASE, JAVAME, JAVAEE
注意:J2SE是学习其他两门的基础
重点记
开源:源代码开放
跨平台:在任意操作系统下都可以使用
通过火星人和中国人,德国人交流知道的原理:找一个翻译。而JAVA语言的这个翻译是JVM
注意JAVA语言是跨平台的,JVM不是跨平台的
JRE:由JVM+class library(类库) 组成,是JAVA程序的运行环境
JDK:JRE+TOOLS,是开发工具包
由JDK开发的软件必须在JRE上运行,并且有JVM保证跨平台
1、开发工具
记事本,高级实施本(EditPlus),集成开发工具,Eclipse\MyEclipse
2、一个HelloWorld案例
class Demo{
public static void main(String[] args){
System.out.println("Hello World");
}
}
解释:
1、java语言的最基本单位用class表示
定义类的格式class 类名
2、程序如果要运行、就行必须有main方法
public static void main(String[] args){}
3、程序要输出内容就必须有输出语句
System.out.println("...");
3、如何执行JAVA程序
1、开发源程序
2、编译源程序 javac Demo.java
3、通过JAVA执行 java Demo
注意:不是必须每次编译才能运行,如果已经编译好,直接运行就可以了
4、常见的错误及注意事项
A:文件扩展名导致编译失败。把隐藏文件扩展名给显示出来。
win7,win8的同学如果不会单独问我。
B:非法字符错误
只要看到是非法字符,肯定是中英文问题。
因为我们要求所有的符号全部是英文状态的。
C:注意大小写问题
class -- Class
String -- string
System -- system
D:括号的对应问题
在java程序中,括号都是成对出现的。
所以,我建议在编写程序时,请遇到括号,成对打。
E:main方法格式错误
public static void main(String [] args){ }
F:当java源文件发生变化后,请重写编译在运行
G:缩进问题
写代码,遇到{},请缩进一个tab位置。
4、环境变量让JAVAC 和JAVA命令可以在任意目录可以被访问
两种方案:
只修改PATH
先建立一个JAVA_HOME,值是"D:\..\JDK1.7",后修改PATH:%JAVA_HOME%
让class文件在任意目录都可以被访问
技巧:在最左边配置一个.;这样做的好处就是能够先在当前目录下查找并执行
在Java语言中具有特殊含义的单词。
Java语言中的所有关键字全部小写。
goto和const在Java语言中有,但是一直未使用。
对各种变量、方法和类等要素命名时使用的字符序列称为标识符。(其实就是个名字)
由26个英文字母大小写,数字:0-9 符号:_ $ 组成
A: 标识符由字母、下划线“_”、美元符“$”或数字组成。
B: 标识符应以字母、下划线、美元符开头(只要不以数字开头就OK)
C: 不能和关键字重名。
D: 名字不要用空格隔开。
E: Java中严格区分大小写
3、常见的命名规则
A:包
用于把同名的文件放到不同的目录下。
全部小写。如果是多级包,用.分开。
举例:
itcsdn
cn.itcsdn
com.baidu
给某个公司做项目:域名反写作为包名。
B:类和接口(见名知意,驼峰命名)
a:如果类名是一个单词,这个单词的首字母大写。
举例:
Student
Teacher
b:如果类名是由多个单词组成,每个单词的首字母大写。
举例:
HelloWorld
LinQingXia
C:方法和变量
a:如果是一个单词,这个单词的首字母小写。
举例:
main()
age
b:如果是多个单词组成,从第二个单词开始,每个单词的首字母大写。
举例:
showName()
studentAge
D:常量
a:如果是一个单词,全部大写。
举例:
PI
b:如果是多个单词,全部大写,并用_隔开
举例:
STUDENT_MAX_AGE
7、注释
用于解释说明程序的,给人看的。
A:单行注释
//
B:多行注释
/* */
c:文档注释
/** */
A:对程序进行解释说明
B:用于调试程序错误
8、常量
1、概念
在程序运行过程中,其值不会发生改变的量
2、分类A 、字面值常量
整数常量:1,2,-3
小数常量:2.3,-232.3
字符常量:‘A’
字符串常量:”Hello World”
布尔常量: true false
空常量 null
B 、自定义常量
类、接口、数组
9、进制
1、概念
X进制就是逢X进1
2、 JAVA中的进制
二进制:0b开头,JDK1.7以后才后的
八进制: 0开头
十六进制:0x开头
十进制:默认就是,什么都不用写
公式:所有系数 * 基础 ^ 权相加的和
系数:每一位上的数
基础:X进制基数就是X
权:从右往左,从0位置开始编号,每一位对应的编号就是权
4、十进制转其他进制
除基取余,直到商为0,余数反转
5、进制的快速转换
8 4 2 1码
二进制--八进制(3位组合)
二进制--十六进制(4位组合)
10、变量的概述
1、概念
他是内存中的一个存储空间,在程序运行过程中,其值在指定范围内可以改变的量
2、命名规范
如果变量由一个单词组成,首字母小写,如果有多个单词组成,第一个首字母小写,其他的首字母大写,要做到见名之意
3、格式
格式1:数据类型变量名= 初始化值;
格式2:数据类型变量名;
变量名= 初始化值;
格式3:数据类型变量名1 = 初始化值,变量名2 = 初始化值,..;
格式4:数据类型变量名1,变量名2;
变量名1 = 初始化值;
变量名2 = 初始化值;
4、 注意事项
在一个{}内,不能存在重名的变量;
变量要先初始化再使用(在使用之前初始化即可)
为某一个变量赋值的时候尽量不要超过其能表示的范围
变量名称的定义要见名之意,不要写一写容易混淆的
定义long类型或者单精度浮点型变量的时候,一定要在数据的后面+l或者+f
11、数据类型
1、分类
(四类八种)
整型 byte short int long
浮点型 float double
字符型 char
布尔型 boolean
2、注意
整数默认是int,所以long类型后面加L或l
浮点数默认是double类型,所以float类型需要加f或F
3、数据类型转换
1、隐式转换:直接赋值(数据类型) 数据或变量名
12、算数运算符
1、分类
+, - , * , /, %,++,--
2、补充说明
+: 加法运算,字符串连接,如果做字符串连接符,会按照从左往右的顺序按照运算符的规则该怎么运算就怎么运算直到遇到 字符串就变成字符串连接符了
/: 如果想要结果为负数,那么/中至少有一个是负数
%: 如果想要结果为负数,那么左边必须是负数
++:
int num = 1;
前自加: ++num;
前自加的值是加之后的值
后自加:num++
后自加的值是加之前的值
13、 赋值运算符
1、分类
=,+= ,-=,%=,*=,/=
2、重点
+=: 内含强制转换
比如(面试题):
short s = 2;
s += 3;
14、比较运算符或关系运算符
1、分类
==,!=,>=,>,<=,<
2、特点
1、关系运算符的结果必须是boolean型
2、两边的类型必须一致
3、注意
别把== 写成 =
15、逻辑运算符
1、分类
&,|,!,^,&&,||
2、详细说明
&:有假则假
|:有真则真
!:真则假,假则真
^:相同为假,不同为真
&&:短路与:如果左边为false,右边不执行
||:短路或如果左边为true,右边不执行
开发中常用&&,||,!
16、条件运算符
条件表达式? 表达式1:表达式2;
2、执行流程
根据条件表达式返回的值是true还是false决定结果是什么,如果是true,就把表达式1作为结果,如果是false就把表达式2作为结果
17、if语句
1、使用场景
1、常见于对某个范围进行判断
2、几个变量判断
3、boolean类型表达式的判断
2、格式
A:第一种格式
if(条件表达式)
{
语句体;
}
B:第二种格式
if(条件表达式)
{
语句体;
}else{
语句体;
}
执行流程 : 自己总结
C:第三种格式
if(条件表达式)
{
语句体;
}else if(条件表达式2)
{
语句体;
}else{
语句体;
}
执行流程 : 自己总结
3、注意事项
A 什么时候用哪一种if语句
第一种格式在判断条件为一种情况下使用
第二种格式在判断条件为两种情况下使用
第三种格式在判断条件为多种情况下使用
B 每一种if语句其实都是一个整体,如果有地方执行了,其他的就不执行了
C 如果if或者else里面控制的语句体是一条语句是可以省略大括号的,但是,如果是控制多条语句,必须加上大括号
建议:永远写上大括号
D 大括号和分号一般不同时出现
4、作用域
所有变量的定义只在它所属的大括号内有效
18、switch语句
1、用途
一般用于几个常量的判断,并且对于几个常量的判断switch的效率高于if
因为switch会把几个常量值直接加载到内存,在判断的时候效率要比if高
2、switch语句的格式
switch(表达式)
{
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
。。
default:
语句体n;
break;
}
A 针对格式的解释
1、Switch表示这里使用的是switch语句,后面跟的是选项
表达式:byte,short,int,char
JDK5以后可以是枚举
Jdk7以后可以是字符串
2、case表示的这里就是选项的值
他后面的值将来和表达式里的值匹配
case后面的值是不能够重复的
3、break:
switch语句执行到这里就结束了
4、default
当所有的case和表达式都不匹配的时候,就走default的内容
它相当于if语句的else.一般不建议省略
B 执行流程
首先拿表达式中的值与case后面的值匹配,
如果有就执行对应的case里面的内容,直到遇到break或switch语句被执行完毕才会停止
如果没有匹配项,但是有default,就会执行default里面的内容,直到遇到break或switch语句被执行完毕才会停止
C 注意事项
A、defult整体可以省略吗
可以,但是不建议
B、default的位置可以放到前面吗?
可以,但是不建议
C、break可以省略吗
可以,但是不建议
default在最后,break是可以省略的
case后面的break可以省略,但是结果可能有问题
D、switch语句什么时候结束
遇到break或者执行到switch语句的末尾
19、if 和 switch对比
1、如果条件比较复杂,并且伴有表达式运算时用if
如果条件已经确定,并且比较简单的逻辑用switch
2、if常见于对范围判断或变量判断,还有就是boolean判断
20、条件运算符和if语句第二种格式替换
21、Scanner的使用
1、概述
Scanner 是JDK5以后设计的用来接收键盘录入数据使用的
2、使用步骤
目前我们要通过键盘录入int类型数据,必须按照如下步骤
A 导包
import java.util.Scanner;
B 创建对象,封装键盘录入
Scanner sc = new Scanner(System.in);
C 调用方法,获取数据
- 10.Java基础知识【上】
- Java基础知识【上】
- Java基础知识【上】
- Java基础知识【上】
- Java基础知识总结上
- Java IO基础知识(上)
- Java基础知识(上)
- Java基础知识(上)
- Java基础知识【上】
- Java基础知识(上)
- Java入门_Java基础知识上
- Java基础知识 十二 IO流 (上)
- Java基础知识总结:集合与泛型(上)
- java从基础知识(一)数据类型(上)
- Java基础知识
- java基础知识
- java基础知识
- JAVA基础知识
- 香奈儿邂逅柔情香水免费领取
- DISK&SSD SPEED
- EventBus 《三》 事件的具体用法及其讲解
- POJ 3744Scout YYF I 概率DP+矩阵优化
- Iterator 迭代器
- Java基础知识(上)
- Android官方命令深入分析之虚拟机
- (2) Tomcat 简述
- 树状数组
- hdu3339 In Action 最短路+01背包
- 二叉树左右子树的交换
- strust2文件上传
- HDU 4986 Little Pony and Alohomora Part I(递推+欧拉常数)
- HDOJ Intersection 5120【环相交面积】