实验一 Java编程基础
实验1-1 变量的自动类型转换
一、实验描述
1、 考核知识点
名 称:变量的类型转换
2、 练习目标
- 了解变量进行自动类型转换的条件
3、 需求分析
变量的自动类型转换,指的是两种数据类型在转换的过程中不需要显式地进行声明。为了明确哪些数据类型可以实现自动转换,本实验演示的是将一种数据类型的值赋给另外一种数据类型变量的情形。
4、 设计思路(实现原理)
1) 编写一个类Example01。
2) 在类Example01中,定义byte类型的变量a,int类型的变量b,float类型的变量f,double类型的变量d,其中,变量a的初始值为10,变量f的初始值为12.5f。
3) 将变量a的值赋给变量b,变量a、b、f相加后的结果值赋给变量d。
4) 使用println语句打印出变量b和变量d的值。
二、实验实现
定义Example01类:
package cn.itcast.Example01;
public class Example01 {
public static void main(String[] args) {
byte a=10;
int b;
float f=12.5f;
double d;
b=a;
d=a+b+f;
System.out.printf("b="+b+" "+"d="+d);
}
}
运行结果截图为图1-1
图1-1 运行结果
三、实验总结
1、要实现自动类型转换,必须同时满足两个条件,第一是两种数据类型彼此兼容,第二是目标类型的取值范围大于源类型的取值范围。
2、列出三种可以进行自动类型转换的情况,具体如下:
(1)整数类型之间可以实现转换,如byte类型的数据可以赋值给short、int、long类型的变量,short、char类型的数据可以赋值给int、long类型的变量,int类型的数据可以赋值给long类型的变量。
(2)整数类型转换为float类型,如byte、char、short、int类型的数据可以赋值给float类型的变量。
(3)其它类型转换为double类型,如byte、char、short、int、long、float类型的数据可以赋值给double类型的变量。
实验1-2 变量的强制类型转换
一、实验描述
1、 考核知识点
名 称:变量的类型转换
2、 练习目标
- 掌握不同数据类型间的强制类型转换
3、 需求分析
强制类型转换也叫显式类型转换,指的是两种数据类型之间的转换需要进行显式地声明。例如,两种类型彼此不兼容,或者目标类型取值范围小于源类型,都需要进行强制类型转换。
4、 设计思路(实现原理)
1) 编写一个类Example02
2) 在Example02中的main()方法中定义一个int类型的变量i和byte类型的变量b,并将变量i的值赋给变量b
3) 使用println语句打印出变量b的值
二、实验实现
定义Example02类:
package cn.itcast.Example02;
public class Example02 {
public static void main(String[] args) {
int i=10;
byte b;
b=(byte)i;
System.out.println("b="+b);
}
}
运行结果截图为图1-2:
图1-2 运行结果
三、实验总结
1、强制类型转换,具体格式如下:
目标类型 变量 = (目标类型)值
2、在对变量进行强制类型转换时,会发生取值范围较大的数据类型向取值范围较小的数据类型的转换,如将一个int类型的数转为byte类型,这样做极容易造成数据精度的丢失。int在内存中占用4个字节。byte类型的数据在内存中占用1个字节,当将变量i的数据在内存中占的内存大于1个字节时,前面3个高位字节的数据会丢失,数值也会发生改变。
实验1-3 运算符的优先级
一、实验描述
1、 考核知识点
名称:运算符的优先级
2、 练习目标
- 掌握运算符之间的优先级
3、 需求分析
当使用不同的运算符进行运算时,应该按照一定的顺序进行运算,即根据运算符的优先级进行运算。
4、 设计思路(实现原理)
1) 编写一个类Example03
2) 在main方法中定义两个int型变量x和y
3) 将表达式3>2*x?x++:--x赋值给y
4) 用输出语句分别输出变量x和