初识JAVA4

13、类型转换的方式有哪些?有自动提升 和强制转换
14、=和==的区别是什么?=是赋值的符号   ==
15、多个if和if   else if的区别? 多行if是每条if语句都会进行判定  if语句是只有判断真与假 真就执行程序 假就不执行 elseif是当满足一个条件是 elseif不在判断条件

16、&和&&的区别 &符号可以做运算符 也可以做逻辑运算符 &&只能做逻辑运算符号 当左边为假时候右边不运算 因为其结果肯定是假
17、说说运算符的优先级。()号最高接着是:分号 ,点,运算符接着一元运算符(++ -- / %)比较运算符(> < >= <= == !=)逻辑运算符(&& || 其中双&大于||的优先级)
赋值运算符(= += -= *= /=)
18、switch表达式可以是什么类型?switch是多分枝的判断语句类似if elseif 在jdk1.6中只能判断整形的数值不能判断字符的 先执行满足case条件的语句在遇到break时候结束
2.0 左移就是 乘移位数的2次方 右移的就是 除移动位数的2次方 十进制转二进制 除2 能整除余0不能整除余1 从右往左写 二进制转十进制就是乘他们位上有的1的地方乘他们的倍数的二次方比如
1,2,4,8,16,有1位的2次方
19、将以下数字转为2进制
109=1101101
78=1001110
145=10010001

20、说下面代码执行结果
10|5=15
6^4=2
12&10=8
5<<2=20
4>>1=2
5>1?6:5=6
'A'+2=67
2/3*6=0
3/4.0*2=1.5
2.4*2-1/2=4.8
5%2/5-1=-1
(int)(1/2.0)*8=0 

21、说出执行结果
int a = 1;     给int类型的a变量赋值1
char c = 'A';  给char类型的c变量赋值字符A
int b = 9; 给int类型的b赋值9
c += b++;      把字符a+9 = Alss里对应的J 74 b是先赋值后加
a = ++b; 给int类型的a赋值10 因为B等于9先加再赋值

System.out.println(a+"  "+b+"  "+c); 输出最后a b c的值 11 11 J

22、说出执行结果
int a = 8;
char c = 'A';
if(a>0 && c<0){
 printf("******");
}
else{
 printf("&&&&&");
}
//------------------应该执行的是else下的语句 第一个条件满足第二个条件并不满足
if(a = 0){
 printf("a等于0");
}
else{
 printf("a不等于0");
}
//------------------a并不等于0所以输出else下的语句
if(a>0 || c<0){
 printf("满足");
}
else{
 printf("不满足");
}
执行满足因条件是或则 a>0要么 c<0 满足一个条件就打印
23、int x = 8; 
if(x > 10 && (x = 5) > 2){
 System.out.println(x+"满足");
}
else{
 System.out.println(x+"不满足");
}
并不满足 x的值是8  执行不满足语句

24、说出代码执行结果
int x = 8;
switch(x/2){
    case 3:
 System.out.println("3");
    case 4:
 System.out.println("4");
    case 5:
 System.out.println("5");
 break;
    defalut:
 System.out.println("defalut");
    case 6:
 System.out.println("6");
}执行4行 打印出4

25、说出下面程序片断中编译错误或可能产生计算溢出的部分。
int i=1,j;这个不会
float f1=0.1;不能因为0.1的值是DOouble类型的 要强制转换
float f2=123; 对的
double d1=2e20,d2=124;对的
byte b1=1,b2=2,b3=129;错的 b3超出取值范围
j=j+10;错的 j没有赋值
i=i/10;对的
i=i*0.1;错的因为 i*0.1后转换Double类型的了 不能直接赋值给Int
char c1='a',c2=125; 对的 chur类型可以赋值整形
byte b=b1-b2;      同种类型做运算必须往上提升int
float f3=f1+f2;同种类型做运算必须往上提升double
float f4=f1+f2*0.1;不可以因为是double
double d=d1*i+j;不行j没有赋值的变量
float f=(float)(d1*5+d2);可以 这是一个double强制转换float的

你可能感兴趣的:(初识JAVA4)