目录
1、选择题
问这段代码会输出什么,正确答案:B
System.out.println(-Integer.MAX_VALUE == Integer.MIN_VALUE);
A、执行时显示true B、执行时显示false
知识点:数据类型的取值范围
byte:最小值是 -128(-2^7);最大值是 127(2^7-1)
负值范围:1000 0001 ~ 1000 0000 (-1 ~ -128)
正值范围:0000 0001 ~ 0111 1111 (1~127)
同理
int:最小值是 -2,147,483,648(-2^31);最大值是 2,147,483,647(2^31 - 1)
相似问题
System.out.println(Integer.MAX_VALUE + 1 == Integer.MIN_VALUE); //true
2、最大公因数
如果有m与n两个int变量,分别存储1000与495两个值,请使用程序算出最大公因子
public class Test {
public static void main(String[] args)
{
int m = 1000;
int n = 495;
int a = 1;
for(int i = 1; i <= n/2; i++){
if(m%i == 0 && n%i == 0){
a = i;
}
}
System.out.println(a); //5
}
}
注意:a 必须初始化,不然会报错;
在JAVA中声明一个局部变量,就会为变量配置一块内存空间,但不会给这块空间默认值,这块空间中原先可能就有无法预期的值。Java对于安全性的要求极高,不可以声明局部变量后未初始化之前就使用变量,这种情况会编译错误。
2、阿姆斯特朗数
在三位的整数中,例如153可以满足 1^3 + 5^3 + 3^3 = 153,这样的数称为阿姆斯特朗数,试以程序找出所有三位数的阿姆斯特朗数。
public class Test {
public static void main(String[] args)
{
int a,b,c= 0;
for(int i = 100; i < 1000; i++){
a = i/100;
b = (i%100)/10;
c = i%10;
if(Math.pow(a,3)+Math.pow(b,3)+Math.pow(c,3) == i){
System.out.println(i);
}
}
}
}
知识点:Number & Math 类
常用的Math类方法:
方法 | 描述 |
xxxValue() | 将 Number 对象转换为xxx数据类型的值并返回。 |
equals() | 判断number对象是否与参数相等。 |
toString() | 以字符串形式返回值 |
parseInt() | 将字符串解析为int类型。 |
abs() | 返回参数的绝对值。 |
ceil() | 返回大于等于( >= )给定参数的的最小整数,类型为双精度浮点型。 |
floor() | 返回小于等于(<=)给定参数的最大整数 。 |
rint() | 它表示四舍五入,算法为 Math.floor(x+0.5),即将原来的数字加上 0.5 后再向下取整 |
min()\max() | 返回两个参数中的最小/大值。 |
exp() | 返回自然数底数e的参数次方。 |
pow() | 返回第一个参数的第二个参数次方。 |
sqrt() | 求参数的算术平方根。 |