一、字符能存中文吗?
可以,因为Java用的Unicode编码,Unicode编码规定占两个字节,一个中文也是两个字节,所以可以。
二、注意:++,--隐含了 强制类型转换。
三、看下面程序是否有问题,如果有问题请指出并说明理由。
short s=1;s=s+1;//当short与int进行运算的时候会提升为int类型,两个int类型相加的结果
short s=1;s+=1;//s=(short)(s+1);强制转换
byte b;b++ 相当与 b+=1 相当于b=(byte)(b+1)
四、&与&&的区别(|与||的区别)
&:逻辑与 遇false则false 两边同时为true
&&:短路与 遇false则false 当左边为false时,右边不执行。
他们结果相同
开发中常用的: && || !
五、请自己实现两个整数变量的交换
1、采用第三方变量(一般哎开发中使用)
2、可以采用+(-,*..)运算
3、采用位运算符(一般面试中会用到)(^按位异或 10^10^20=20)
注意:没有明确指定数据的类型,默认int类型
六、键盘输入三步
1、import java.util.Scanner; //导包
2、Scanner sc = Scanner(System.in); //创建键盘录入的对象
3、int x = sc.nextInt(); //将键盘录入的数据存在X中
七、if的第二种格式和三元表符有什么区别?
能用三元运算符解决的问题,都可以用if来做。反之不成立。
八、byte可以做为switch的表达式吗?
可以。switch可以放 byte short char int JDK1.5版本以后支持枚举
JDK1.7版本以后支持字符串(String)
九、if语句和switch语句有什么区别?
1.if语句主要用于 做范围 的判断
2.switch语句,用作于 固定值 的判断
能用switch做的都可以用if来做,反之不可以。
十、请输出所有的水仙花数
思路:1、获取每一位数的值,百位,十位,个位。
2、判断各个位上的立方和是否等于这个数,如果等于就打印
代码:class Demo{
public static void main(String[] args){
int count = 0;
for (int i = 100;i <= 999 ;i++ ) { //获取每一位数的值
int ge = i%10; //个位
int shi = i/10%10; //十位
int bai = i/100; //百位
if(ge*ge*ge+shi*shi*shi+bai*bai*bai == i){ //判断各个位上的立方和是 //否等于这个数
//System.out.println(i);
int count++;
}
}
System.out.println(count);
}
}
|