读程序题:
1.
写结果,如果有错,指出错误
double
a = 3.1251111111;
double
b = 1.0417037037;
System.
out
.println((a/3)==b); // false
System.
out
.println((b*3)==a); // false
2.
写结果
,如果有错,指出错误
int
a=5;
System.
out
.println(a++); // 5
System.
out
.println(++a); // 7
int
b=a++;
int
c=++a;
System.
out
.println(b); // 7
System.
out
.println(c); // 9
3.
写结果
,如果有错,指出错误
int
a=0123;
int
b=123;
System.
out
.println(a); // 83
System.
out
.println(b); // 123
4.
写结果
,如果有错,指出错误
byte
b = 3;
short
s = 4;
s = s+b++; //出错,因为相加后的值为整形
System.
out
.println(s);
5
.写结果
,如果有错,指出错误
int
a=10;
int
b=20;
int
c=30;
if
(a++ < b || a++ < c){ // 因为是快速与运算,所以后边的表达式不执行
System.
out
.println(a); // 11
}
else
{
System.
out
.println(b); // 不会执行 ,没有输出
}
6.
写结果
,如果有错,指出错误
int
a=9;
int
b=5;
int
c=-5;
System.
out
.println(a/b); // 1
System.
out
.println(a/c); // -1
System.
out
.println(a%b); // 4
System.
out
.println(a%c); // 4
如果把
a=9
改为
a=-9
,结果是什么 // -1 1 -4 -4
7
.指出代码中的错误
int
a=123456;
short
s=123456; //默认为整形,需强制类型转换
a=123456789123; //超出了整形数表示的范围
long
l=123456789123; //超出了整形数表示的范围
float
f=32;
float
f=32.3; //默认为double,需强制类型转换
double
d=32.3;
8
.写结果
,如果有错,指出错误
int
a=10;
int
b=3;
if
(a>b){
System.
out
.println(1);
}
else
if
(a=b){ //应该是相等运算符(==)
System.
out
.println(2);
}
else
{
System.
out
.println(3);
}