Java学习小窗口
1.分别定义一个int型变量a和c,double型变量b,分别对这三个变量进行初始化,将变量b强制转化为int型后与a相加并将结果赋值给c,使用包装类的静态方法将变量c分别以二进制和十六进制形式输出。
代码:
public class exam01 {
public static void main(String[] args) {
int a=1,c=2;
double b=1.2345;
c=(int)b+a;
//用包装类的静态方法将变量c分别以二进制和十六进制形式输出。
System.out.println(Integer.toString(c,2));
System.out.println(Integer.toString(c,16));
}
}
2、补充完善下图所示的代码,能够打印输出其结果(数字部分必须用变量完成)。
代码:
public class Exam02 {
public static void main(String[] args) {
int a=2,b=57;
final String c="hello";
final String d="world";
System.out.println(c+(a+""+b)+d);
System.out.println(c+(a+b)+d);
System.out.println(d+((float)b/(float)a));
System.out.println(c+(float)(a+b)+d);
System.out.println(c+Integer.toString((a+b),2)+d);
}
}
3、运行下列程序,并分析无论a、b为何值,result值始终为0或1的原因。若要计算数学式子2ab/(a2 + b2)的值,应如何修改代码?
Exp2_1.java
001 public class Exp2_1 {
002 public static void main(String[] args) {
003 int a = 2, b = 3, result;
004 result = 2 * a * b / (a * a + b * b);
005 System.out.println(“result=” + result);
006 }
007 }
修改:
原因:
因为 其中a,b,result 都为int,/为取商
(a-b)^2= a * a + b * b-2ab>=0
所以 a2+b2>=2ab
当 a=b 时,a2+b2=2ab
result = 2 * a * b / (a * a + b * b); result 的结果为1
当 a!=b 时,a2+b2>2ab
result = 2 * a * b / (a * a + b * b); result的结果为0
代码:
public class Exam03 {
public static void main(String[] args) {
int a = 2, b = 3;
double result;
result= (double)(2 * a * b) /(double) (a * a + b * b);
System.out.println("result=" + result);
}
}
4、不使用循环语句,逆序输出一个7位整数,如8639427输出为7249368。
代码:
public class Exam04 {
// 不使用循环语句,逆序输出一个7位整数,如8639427输出为7249368。
public static void main(String[] agrs) {
int a=8639427;
int b=a%10;
a=a/10;
System.out.print(b);
b=a%10;
a=a/10;
System.out.print(b);
b=a%10;
a=a/10;
System.out.print(b);
b=a%10;
a=a/10;
System.out.print(b);
b=a%10;
a=a/10;
System.out.print(b);
b=a%10;
a=a/10;
System.out.print(b);
b=a%10;
a=a/10;
System.out.print(b);
}
}
5、对于int型变量a,以最快的速度计算34×a的值。
提示:使用移位运算符、加运算符。
代码:
public class Exam05 {
// 对于int型变量a,以最快的速度计算34×a的值。
//提示:使用移位运算符、加运算符。
public static void main(String[] args) {
int a=2,b;
b=(a<<5)+(a<<1);
System.out.print(b);
}
}
6、使用嵌套的条件运算符,求a、b、c中的最大者。
代码:
public class Exam06 {
//使用嵌套的条件运算符,求a、b、c中的最大者。
public static void main(String[] args){
int a=1,b=2,c=3,max;
max=a>b?a:b>c?b:c;
System.out.print("a,b,c中最大者为:"+max);
}
}
总结:这些是我学习Java过程中的一些练习题,可供大家参考,希望大家能和我一起学习,一起进步。将课堂上的知识加以巩固,让自己得到提升。以上属于个人所学之作,如果有不正确的地方,希望路过的大佬多多指教。谢谢!