Thinking in java(一)
1.jdk,jre,sdk的区别:
jre :java runtime environment 有了他.java可以运行了;
jdk :java development kit, java 开发工具包;有了他,不但可以运行java,还可以开发java;
sdk :software development kit ,通俗一点的理解,是指由第三方服务商提供的实现软件产品某项功能的工具包.
2.Java中把数据共计划分成2大类型:
1)引用数据类型:它表示是数组 、类 、接口等
2)基本数据类型:
整数:由于整数有非常大的数据,也有非常小的数据。于是把整数类型又区分成4种:
byte (1字节,-127-128,如 01010011)、 short(2字节) 、 int(4字节,计算机中,整数类型默认是int) 、 long(8字节)
小数:
float(单精度,4个字节)、double(双精度,8个字节,计算机中,小数类型默认是double类型)
字符:
char(2个字节)
布尔:
boolean(1个字节) true 真 false 假
3.数据类型转换:数据类型的转换,可以分为两种:
1)隐式类型转换 (容量小的类型可自动转换为容量大的数据类型;)
2)强制类型转换(如double a = 3.14; int b = (int)a;)
4.运算符 :
a++:先用a的值再加一
++a:先加一再用a单与(&)和双与(&&)的区别:
双与(&&):它在进行运算的时候,当左侧为false的时候,右侧不会参与运算。一假即假
单与(&) :运算的时候,不管左边是什么,右边都要运算。(遵守逻辑与运算规则);
单或和双或的区别:
||:当左边为true的时候,右侧的不参与运算。或运算一对即对(并联)
|:不管左边是什么结果,右侧都要运算。
5. 三元运算符 :
表达式1 ? 表达式2 :表达式3;
问题:怎么用三元运算符比较三个数值a,b,c的最大值?
a>b?(a>c?a:c);(b>c?b:c)
6.
a) if( 判断的条件)
{
//条件为true,处理..
}else {
//else..
}
b) switch :
在JDK5 增加了 枚举类型 在JDK7增加了字符串类型。(尽管如此,尽量少用)
注意:
1、在switch语句中case语句和default语句在书写上没有先后顺序。但是,会先执行case语句
2、switch语句只有遇到两个情况才会结束整个switch语句。1:遇到break语句; 2:执行到整个switch语句的末尾(switch语句匹配的最后的右大括号)
3、在switch语句中,是可以省略default语句的,而且default语句中的break同样也是可以省略的(前提:default语句必须书写switch语句的最后一个)
4、在switch语句的书写上,是可以省略break语句的。但是在执行时,如果没有break语句,程序会向下继续执行可执行的代码
c)
while循环它是先进行循环条件的判断,判断成立才能进入循环体,如果判断不成立,就直接跳过循环体执行和循环并列的语句。
do-while循环,它是先要把循环体执行一次,然后再去判断,如果判断成立继续执行循环体。直到判断不成立, 再去执行和循环并列的语句。
d)
break,它主要用在switch的case中,或者用在循环中;
continue(继续):它主要用在循环中,不能使用在其他地方。(跳过本次循环,执行下一次的循环);