JAVA课程实验报告单(2)---基本数据类型的使用和输入、输出数据

一、实验目的

1.掌握标识符命名规则;

2.基本数据类型的声明;

3.基本数据类型的初始化;

4.掌握从键盘输入数据。

二、实验内容

2.1 编写一个程序声明8种基本数据类型的变量

        编写一个程序声明8种基本数据类型的变量,并将其初始化,在程序中打印出这些变量的值。

public class Exam_2 {
   public static void main(String[] args) {
       boolean Yes = true;
       int i = 0;
       byte b = 127;
       short s = 1000;
       long l = 1000000;
       char c = '李';
       float f = 0.12f;
       double d = 0.123456;
       System.out.println("boolean 类型:" + Yes);
       System.out.println("int 类型:" + i);
       System.out.println("byte 类型:" + b);
       System.out.println("short 类型:" + s);
       System.out.println("long 类型:" + l);
       System.out.println("char 类型:" + c);
       System.out.println("float 类型:" + f);
       System.out.println("double 类型:" + d);
   }
}

运行结果:

通过自己实验测试和网上了解得到八种基本类型的取值范围,有以下总结:

byte

8位、有符号的以二进制补码表示的整数

min : -128(-2^7)

max: 127(2^7-1)

short

16位、有符号的以二进制补码表示的整数

min : -32768(-2^15)

max: 32767(2^15 - 1)

int

32位、有符号的以二进制补码表示的整数

min : -2,147,483,648(-2^31)

max: 2,147,483,647(2^31 - 1)

long

64位、有符号的以二进制补码表示的整数

min : -9,223,372,036,854,775,808(-2^63)

max: 9,223,372,036,854,775,807(2^63 -1)

float

单精度、32位、符合IEEE 754标准的浮点数

float 在储存大型浮点数组的时候可节省内存空间

浮点数不能用来表示精确的值,如货币

double

双精度、64位、符合IEEE 754标准的浮点数

浮点数的默认类型为double类型

char

char类型是一个单一的 16 位 Unicode 字符

最小值是 \u0000(即为0)

最大值是 \uffff(即为65,535)

char 数据类型可以储存任何字符

boolean

boolean数据类型表示一位的信息

只有两个取值:true 和 false

2.2 编写一个程序声明不初始化8种基本数据类型的变量

        在上一个程序中尝试不初始化变量时会出现的运行结果截图。

        java中局部变量没有初始值,运行时会直接报错:java: 可能尚未初始化变量XX。通过网络查找,为什么java局部变量不初始化会报错:

        编译器当然可以为局部变量附一个默认值,但是未初始化的局部变量更有可能是程序员的疏忽,所以采用默认值范围会掩盖这种失误。因此强制程序员提供一个初始值,往往能够帮助找出程序里的缺陷。

2.3 通过键盘输入

        编写Java程序,在程序中通过键盘输入8种基本数据类型种的任意四种,并输出结果。(注意在输入每种数据之前要提醒用户输入的类型如“请用户从键盘输入一个整数:”)

public class Exam_3 {
   public static void main(String[] args) {
       Scanner scanner = new Scanner(System.in);
       System.out.print("输入一个整数:" );
       int intType = scanner.nextInt();
       System.out.println("输入的整数为:"+intType);
       System.out.print("输入一个单精度浮点数:" );
       float floatType = scanner.nextFloat();
       System.out.println("输入的单精度浮点数为:"+floatType);
       System.out.print("输入一个字符:" );
       char charType = scanner.next().charAt(0);
       System.out.println("输入的字符为:"+charType);
       System.out.print("输入一个布尔数:" );
       boolean booleanType = scanner.nextBoolean();
       System.out.println("输入的整数为:"+booleanType);
   }

运行结果:

关于java中的键盘录入:

我们可以通过 Scanner 类来获取用户的输入。使用步骤如下:

1、导包:

Scanner 类在java.util包下,所以需要将该类导入。导包的语句需要定义在类的上面。

import java.util.Scanner;

2、创建Scanner对象:

Scanner sc = new Scanner(System.in);// 创建Scanner对象,sc表示变量名,其他均不可变

3、接收数据

示例:int i = sc.nextInt(); // 表示将键盘录入的值作为int数返回。

三、实验心得

        通过此次实验,我了解了Java中的八大基本数据类型,而且自己还测试了各种数据类型的取值范围,收获了很多,另外学会了通过键盘录入数据,输出数据,编程实力又更上一层楼了。

        总结一下,为什么局部变量需要手动初始化?从技术上来讲,局部变量一般来说总量大,生命周期短,JVM进行初始话开销较大;从业务上讲,局部变量一般用于实际问题下的运算,很少会用到默认值,赋值意义不大;从编程思想上讲,局部变量不初始化,而是报错提醒,更有助于程序员减少开发过程中出现缺陷的可能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小李独爱秋

你的鼓励将是我加更的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值