您的位置:首页 > 编程语言 > Java开发

Java语言基础1

2016-04-19 23:14 375 查看
学习总结
目录
一、jdk环境变量的搭建...
1

二、数据类型...
1

三、类型转换...
2

四、变量的作用域与生命周期...
4

五、算数运算符...
6

七、比较运算符:>,<,>=,<=,= =,!=.
7

八、逻辑运算符:&,|,^,!,&&,||.
7

一、jdk环境变量的搭建

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。例如:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: