电脑爱好者,提供IT资讯信息及各类编程知识文章介绍,欢迎大家来本站学习电脑知识。 最近更新 | 联系我们 RSS订阅本站最新文章
电脑爱好者
站内搜索: 
当前位置:首页>> java>>java学习总结-表达式和控制流:

java学习总结-表达式和控制流

来源:网络 | 2007-4-19 | (有3051人读过)

1.1. 变量和作用域 
 
1) 局部变量 
 定义在方法内部,其作用域为所在代码块,也称为临时变量、栈变量。 
 存在于栈中。
 2) 实例变量 
 定义在类内部方法之外,其作用域为整个类。如未定义初值,系统会自动为其赋黙认值。存在于堆中
默认数值
 类型 黙认值 
 byte 0 
 short 0 
 int 0 
 long 0L 
 float 0.0f 
 double 0.0d 
 char ’\u0000’ 空格
 boolean false 
 *All reference types null

1.2. 操作符
 
 System.out.println(3/2) 按整型计算 得1
1) >> 前面是零补零,前面是一补一; 
2) >>> 无符号右移; 

>>和>>>对于负数不一样
正数:>>等于除以X的2次方
负数:正数的结果+1

 3) && 短路与,前面为假,表达式为假,后面不须计算; 
 4) || 短路或,前面为真,表达式为真,后面不计算;
 例:
 if(a<3&(b=a)==0) b赋值
 if(a<3&&(b=a)==0) b不赋值

1.3. 数字类型之间的转换 
1) byte ——→ short ——→ int ——→ long 
 2) char ——→ int - - - → float 
 3) float ——→ double 
 4) long - - - → float 
 5) long - - - → double 
 6) int ——→ double 

 注:1)实箭头表示无信息损失的转换,虚箭头表示转换可能引起损失; 
 2)int和float同为32位,但float要有几位表示幂的位数,在精度位数上要比int要小,所以有可能会有损失。long转为double同理; 
 3)char和short同为16位,但char属无符号数,其范围为0~2^16, short的范围为-2^15~2^15-1 , 所以char和short不能相互转换; 
 4)byte、short、char属child型,在计算时会自动转为int型,然后转为更大范围类型(long、short、double)。

1.4. 强制类型转换 
1) 语法:圆括号中给出要转换的目标类型,随后是待转换的变量名。例:doublc x=9.997;int nx = (int)x; 
 2) 如果试图强制转换的类型超出了目标类型的范围,结果是一个被截取的不同的数值; 
 3) 不能在布尔值和任何数字类型间强制类型转换,如确要转换,可使用条件表达式,例:b?1:0。
1.5. 转换的二种类型 
1) 赋值 
 double a = 1.0f
 int = ‘j’;
 2) 方法调用
 double converValue(int value){
 return value;
}
3) 数值计算转换 -9.232e20+1;

1.6. 控制流

if()
if()….else
if()…..else if()….else

switch(){
case variable:……..
case variable:……..
default:
…………
}
注解:switch()内数据类型为基本数据类型 byte short char 自动转换为int
case块中不加break时顺序执行下面的语句。

1.7. 循环语句
for(int i=0;i<n;i++){}
while(true){}
do{} while(true);-----------à加分号
例子:

loop:for(int i=0;i<n;i++){
 for(int j=0;j<m;j++){
 if(3==j){
 break loop;//---------------àloop为标签 只能用在循环语句中,循环//嵌套中用于跳到外层循环
}
 }
}

辨析:
 int x,a=6,b=7;
 x=a++ + b++; //----------a=7,b=8,x=13
 int x=6;x=~x;//---------------- 6的二进制0110 取反得11001 再转成补码(取反加一)10111 = -7
java热门文章排行
网站赞助商
购买此位置

 

关于我们 | 网站地图 | 文档一览 | 友情链接| 联系我们

Copyright © 2003-2024 电脑爱好者 版权所有 备案号:鲁ICP备09059398号