//数据类型的演示
public class DataTypeDemo {
public static void main(String[] args) {
/*
* 数据类型的练习
* 1.声明整型变量a并赋值为250
* 声明长整型变量b并赋值为a
* 声明整型变量c并赋值为b
* 2.声明长整型变量d并赋值为100亿L
* 声明整型变量e并赋值为d,输出e的值
* 声明浮点型变量f并赋值为25.987
* 声明整型变量g并赋值为f,输出g的值
* 3.声明byte型变量b1和b2,并分别赋值为5和6
* 声明byte型变量b3并赋值为b1+b3,输出b3的值
*
*/
//数据类型的转换
int a = 250;
long b = a;//自动类型转化
int c = (int)b;//强制类型转化
long d = 250;//自动类型转化
double e = 25;//自动类型转化
System.out.println(e);
long f = 10000000000L;
int g = (int)f;
System.out.println(g);//强转有可能溢出
double h = 56.8765;
int i = (int)h;
System.out.println(i);//强转有可能会精度丢失
byte b1 = 5;//整数直接量可以直接赋值给byte,short,char,但不能超过范围
byte b2 = 6;
//byte b3 =b1+b2;//编译错误,byte,short,char型变量参与运算时,一律先转换为int在运算
byte b3 = (byte)(b1+b2);
System.out.println(b3);
/*
* boolean 、char的练习
* 1.声明布尔型变量a并赋值为true
* 声明布尔类型变量b并赋值为false
* 声明布尔类型变量c并赋值为5------???
* 2.声明字符型变量c1并赋值为女
* c2并赋值为f
* c3并赋值为空格符
* c4并赋值为女性----???
* 声明字符型变量c5并赋值为65,输出c5的值
* 输出2+2的结果,输出'2'+'2'的结果
* 声明字符型变量c6并赋值为',输出c6的值
*
*/
//5.char:字符型,2个字节
// char c1 = '男';
// char c2 = 'm';
// char c7 = '2';
// char c3 = ' ';
// //char c5 = 男;//编译错误,必须放在单引号中
// //char c4 = '男性';//编译错误,只能有一个字符
// //char c6 = '';//编译错误,必须有字符
//
// char c8 = 97;
// System.out.println(c8);//字符a
//
// System.out.println(2+2);//4
// System.out.println('2'+'2');//100---'2'字符对应的int码50,加上,'2'字符对应的int码50
//
// char c9 = '\'';//转义字符
// System.out.println(c9);
//
// //4.boolean:布尔型,1个字节
// boolean a = true;//true为布尔类型的直接量
// boolean b= false;
// //boolean c =250;//编译错误,数据类型不匹配
// //boolean类型只能取值为true和false
//
/*
* int、long、double的练习:
* 1.声明整型变量a并赋值为250
* 声明整型变量b并赋值为100亿------???
* 输出5/3的结果,输出3/5的结果
* 声明整型变量c并赋值为2147483647
* 给c本身增1,输出c的值
* 2.声明长整型变量d并赋值为100亿-----???
* 声明长整型变量e并赋值为100亿L
* 声明长整型变量f并赋值为10亿*2*10L,输出f的值
* 声明长整型变量g并赋值为10亿*3*10L,输出g的值
* 声明长整型变量h并赋值为10亿L*3*10,输出h的值
* 声明长整型变量i并赋值为
* System.currentTimeMillis(),输出i的值
* 3.声明浮点型变量j并赋值为23.865
* 声明浮点型变量k和l,并分别赋值为6.0和4.9
* 输出k-l的值
*/
//3.double:浮点型,8个字节
// double a = 3.1415926;//3.1415926为浮点型直接量,默认为double型
// float b = 3.14F;//3.14为float的直接量
// double c = 6.0;
// double d = 4.9;
// System.out.println(c-d);//舍入误差,精确运算场合不建议使用{财务或货币}
//decimal 类型具有更高的精度和更小的范围,它适合于财务和货币
//2.long:长整型,8个字节,很大很大
// long a = 250L;//250L为长整型直接量,即为long类型
// //long b = 10000000000;//编译错误,100亿默认为int类型,但超范围了
// long c = 10000000000L;
// long d = 1000000000*2*10L;
// System.out.println(d);//200亿
// long e = 1000000000*3*10L;//第一个数未设为L结果是int的结果转型long处理
// System.out.println(e);//溢出
// long f = 1000000000L*3*10;//第一个数设为L结果是long的结果处理
// System.out.println(f);//300亿
// long g = System.currentTimeMillis();
// System.out.println(g);
// 直接量超范围------编译错误
// 运算时超范围------溢出
// int a = 10000000000; //编译错误
// int b11 = 1000000000*10; //溢出
// System.out.println(b11);
//1.int:整型,4个字节,-21个多亿到21个多亿
// int a = 250;//250为整数直接量,默认为int类型
// //int b = 1000000000000;//编译错误,100亿默认为int型,但超范围了
//
// System.out.println(5/2);//2 整数相除结果还是整数,小数位无条件舍弃
// System.out.println(2/5);//0
// //取余数 取商
// System.out.println(2%5);//2 取余数
// System.out.println(2/5);//0
//
// int b = 2147483647;
// b = b + 1;
// System.out.println(b);//-2147483648,发生溢出了
}
}
Java基础知识体系-基础语法-03
最新推荐文章于 2023-06-25 18:58:57 发布