学习总结
1、打开系统属性中的环境变量:
1)、在系统变量中创建变量名:JAVA_HOME 变量值:jdk\bin路径
2)、系统变量中创建 变量名:classpath 变量值:%JAVA_HOME%\lib;.
其中’.’表示当前路径;
3)、在系统变量中的path添加 ;%JAVA_HOME%\bin;
1、数值型
数据类型 | 字节大小 | 范围 |
byte | 1 | -128--127 |
char | 2 | 0--65535 |
short | 2 | -32768--32767 |
int | 4 | -2,147,483,648—2,147,483,647 |
long | 8 | -9,223,372,036,854,775,808--9,223,372,036,854,775,807 |
float | 4 | -3.40292347E+38--+3.40292347E+38 |
double | 8 | -1.79769313486231570E+308--+1.79769313486231570E+308 |
2、非数值类型
Boolean true/false
1、类型转换
A、 //byte 与int
原因:int及int以下的数据类型进行数学运算时,结果得到的是int;
改为:
原因:将计算a+b得到的整型数强制转换为byte;
B、//short 与 char
原因:short 与char 表示的范围值不同,虽然他们的字节大小相同
改为:
C、//long 与int
原因:后面的值默认为int
改为:
D、//float 与double
原因:java中小数默认类型为double;
改为:
总结:
(1)、自动类型转换(例子就不举了):两种类型必须兼容(A、B中有提);目标类型大于源类型(byteshort/char int long float double 依次增大)
(2)、强制类型转换(上面既是);但自动转换类型并没都有效,如float值赋给int值时,这种就不会自动执行;因为int类型的数据宽度小于 float型;
局部变量与全局变量:全局变量就是在类的整个范围之内,都有效的变量。而局部变量就是在类中某个方法函数内或某个子类内有效的变量。下面将从实际程序代码中慢慢地体会。
从以上例子可以看出,变量“a”的值在整个类中都有效。如果同样输出“c”的值,会出现什么样的结果呢?下面从实际代码段中仔细体会。
以上代码在编译时,会出现错误,就是找不到变量“c”。这说明变量“c”只在方法局部中起作用,在方法外就无法再调用。 从上述代码中可以看出,如果一个变量在类中定义,那么这个变量就是全局变量。例如下面的代码
3、生命周期:全局变量的生命周期是整个类中,局部变量的生命周期是该变量所处的函数体中;
1、算术运算符:+,-,*,/,%,++,--
2、算术运算符是对基本数据类型进行运算的操作符,其中容易混淆的是/表示除 ,而%表示取余。另外需要注意的是++,--两个自加自减运算符的区别,如下程序
++,--在变量后,是先取变量没有运算前的值,当作表达式的返回值,然后进行运算。而++,--如果在变量前,是先对变量进行运算,然后将运算结果作为表 达式的返回值。需要注意的是,不管在前还是在后,对于参与运算的变量本身,都是进行了一次加1或者减1的操作,没有区别,有区别的是返回值的值。
算术运算符都是针对基本数据类型进行运算的,只有+除外,可以使用+连 接两个字符串。如:
String s=”Hello”+” World”;//String的值是HelloWorld
六、位运算符:&,|,^,~,<<,>>,>>>
位运算符是针对二进制的数进行运算的操作符。与操作&的运算规则是两 个都是1才是1,或操作 | 的规则是一个是1就是1,异或 ^ 的规则是不同的是1 ,相同的为0。取反操作~是1变0,0变1。
<<:左移运算符,规则为,抛掉相应位数的高位,在对应的空位补0。 如: 0110 1001 << 2 =1010 0100 >>:有符号右移,规则为,抛掉相应位数的低位,如果移位前,最高 一位是0,则在对应的高位都补0,如果移位前,最高一位是1,则在对应的高位 都补1。
0110 1001 >> 2 =0001 1010
1110 1001 >> 2 =1101 1010
>>>:无符号右移,规则为,抛掉相应位数的低位,在对应的空位 补0:
0110 1001 >>> 2 =0001 1010
1110 1001 >>> 2 =0001 1010
注意:右移运算符分有符号和无符号,而左移没有这个区别。另外左移一位 相当于乘2,右移一位相当于除以2,速度比较快。
比较运算符是对基本数据类型的二进制进行比较。需要注意的是==表示比 较,=表示赋值。另外,==和!=可以对引用类型比较,比较的是虚地址。如:
在Java语言中,逻辑值使用true和false进行表示,而1和0不表示逻辑,表示二进制的数。比如:T1&T2,只有当T1和T2都是true时,才返回true
T1|T2:T1和T2只要有一个是true,返回值就是true。
T1^T2:T1和T2不同的时候,返回ftrue,相同的时候返回false。
!T1:T1是true,返回false,T1是false,返回true。
&&,||被称为双与及双或。
T1&&T2: 只有当T1和T2都是true时,才返回true。但是与单与& 不同的是,双& 会发生短路问题,如T1是false,则不会判断T2的值,直接返回false。而单 与不同,不论T1的值是true还是false,都会判断T2的值。
T1||T2:与双与类似,双或当T1为true时,也会发生短路,直接返回true, 而不判断T2。例如: