您的位置:首页 > 编程语言 > Java开发

《疯狂JAVA讲义》之十——Java基本数据类型之一

2017-05-02 22:25 274 查看
看例子。
package com.huateng.mjq.chapter3;
/**
* Java PrimitiveType excise
* @author Administrator
*
*/
public class PrimitiveType_1
{
/* 运行结果如下:
-128
2147483647
-2147483648
999999999999999
*分析:a,b将小于等于127(byte所能表示的整形数组范围:-128---127)赋值正常,是因为系统会自动将在byte表示范围内的整数作byte类型的值来处理。
*c 将一个128(int型)赋值给byte类型的变量,需要进行强制转型,强转过程请自行分析(整型128二进制表示为0000....00010000000,一共32位,
*但是byte只有8位,所以这里需要进行截断处理,只剩下低8位——10000000,这个值符号位是1,即负数,负数使用补码表示,而补码-0所表示的数就是-128)
*e:在进行运算时,整型所能表示的最大值赋给long型时做了自动类型转换
*f:右侧表达式的计算结果为整型,但是计算结果的值超出了整型所能表示的最大范围,所以产生了溢出,请自行分析
*g:右侧数值超出整型范围,编译不能通过
*h:右侧数值后加上L,表示该数值类型为long型
*
*
*
*
*/

public static void main(String [] args)
{
test1();
}
public static void test1()
{
byte a = 56;
byte b = 127;
byte c =(byte) 128;
long d = 99999;
long e = Integer.MAX_VALUE;
long f = Integer.MAX_VALUE+1;
//long g = 999999999999999;
long h = 999999999999999L;
System.out.println(c);
System.out.println(e);
System.out.println(f);
System.out.println(h);
}
}

package com.huateng.mjq.chapter3;

public class PrimitiveType_2 {
/*运行结果如下;
true
NaN
false
true
-Infinity
Exception in thread "main" java.lang.ArithmeticException: / by zero
at com.huateng.mjq.chapter3.PrimitiveType_2.test2(PrimitiveType_2.java:19)
at com.huateng.mjq.chapter3.PrimitiveType_2.main(PrimitiveType_2.java:6)
*结果分析:
*正无穷大都相等,负无穷大都相等
*除法运算中如果除数和被除数有一个是浮点数,则允许除数为0,所得结果为正负无穷大;但是0.0/0.0结果为非数,非数和任何值都不相等(包括它自身)
*0/0运行抛出异常
*
*
*
*/

public static void main(String [] args)
{
test2();
}
public static void test2()
{
float af = 5.23456789f;
double a = 0.0;
double c = Double.NEGATIVE_INFINITY;
float d = Float.NEGATIVE_INFINITY;
System.out.println(c==d);
System.out.println(a/a);
System.out.println(a/a == Float.NaN);
System.out.println(6.0/0 == 55/0.0);
System.out.println(-8/a);
System.out.println(0/0);
}

}

package com.huateng.mjq.chapter3;

public class PrimitiveType_3 {
/*
* 运行结果:
* 13445543
0.123
分析:允许在数字中随意使用_进行数字分隔;允许小于1的小数省略小数点右边的0
*/
public static void main(String [] args)
{
test3();
}
public static void test3()
{
int a = 1_3_4455_43;
float b = .12_3f;
System.out.println(a);
System.out.println(b);
}

}

package com.huateng.mjq.chapter3;

public class PrimitiveType_4 {
/*
* 运行结果:
* 6.0
9.0
分析:类型自动转换*/
public static void main(String [] args)
{
test4();
}
public static void test4()
{
int a = 6;
float f = a;
System.out.println(f);
byte b =9;
//char c = b;
double d = b;
System.out.println(d);
}
}

package com.huateng.mjq.chapter3;

public class PrimitiveType_5 {
/*
* 运行结果:
* a

香
39321
30127
b
结果分析:char类型变量允许赋予四种值:'a','\t','\u1234',整数,而其值可以直接转换为整型参与运算

*/

public static void main(String [] args)
{
test5();
}
public static void test5()
{
char aChar = 'a';
char entereChar = '\t';
char ch = '\u9999';
char feng = '疯';
int chValue = ch;
int fengIntValue = feng;
char c = 98;
System.out.println(aChar);
System.out.println(entereChar);
System.out.println(ch);
System.out.println(chValue);
System.out.println(fengIntValue);
System.out.println(c);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 语言