首页 > 其他分享 >软件测试 | 数据类型的转换

软件测试 | 数据类型的转换

时间:2023-08-02 18:38:14浏览次数:42  
标签:转换 变量 int 数据类型 字符串 类型 软件测试

Java的数据类型在定义时就已经确定了,因此不能随意转换成其他的数据类型,但Java允许用户有限度地做类型转换处理。数据类型的转换方式可以为“自动类型转换”及“强制类型转换”两种。

数据类型的自动转换

在程序中已经定义好了数据类型的变量,若要用另一种数据类型表示时,Java会在下列的条件皆成立时,自动做数据类型 的转换:

(1)转换前的数据类型与转换后的类型兼容

(2)转换后的数据类型的表示范围比转换前的类型大

例如,将short类型的变量a转换为int类型,由于short与int皆为整数类型,符合上述条件(1);而int的表示范围比short大,符合条件(2)。因此Java会自动将原为short类型的变量a转换为int类型。

值得注意的是,类型的转换只限该行语句,并不会影响原先所定义的变量的类型,而且通过自动类型的转换可以保证数据的精确度,它不会因为转换而损失数据内容。这种类型的转换方式也成为扩大转换。

前面曾经提到过,若是整数的类型为short或byte,为了避免溢出,Java会将表达式中的short和byte类型自动转换成int类型,即可保证其运算结果的正确性,这也是Java所提供的“扩大转换”功能。

以“扩大转换”来看可能比较容易理解字符与整数是可使用自动类型转换的,整数与浮点数亦是兼容的,但是由于boolean类型只能存放true或flase,与整数及字符是不兼容的,因此不可能做类型的转换。下面介绍当两个数中有一个浮点数时,其运算的结果会有什么样的变化。

范例:数据类型的转换

public class DataDemo08   {
        public static void main (string[]     args)    {
             int x = 30 ;                                              // 定义整型变量
             float  y = 22.19f;                                       // 定义浮点型变量
             System.out.printIn("x/y = " +(x/y));                   //除法操作
             System.out.printIn("10/3.5 = " + (10/3.5))                 //直接使用常量进行除法
             System.out.printIn("10/3 = " +(10/3));                    //直接使用常量进行除法
}
}

程序运行结果:

x/y = 1.3519603
10/3.5 = 2.857142857142857
10/3 = 3

从程序的输出结果可以发现,int类型与float类型进行计算之后,输出的结果会变成float类型,一个整型常量进行计算之后,结果也会变为一个浮点数据,而如果是两个int类型的常量进行计算,最终结果还是int类型,而其小数部分将会被忽略。

也就是说,假设有一个整数和双精度浮点数作运算时,Java会把整数转换成双精度浮点数后再做运算,运算结果也会变成双精度浮点数。关于表达式的数据类型转换,在后面会详细介绍。

提示:任何类型的数据都向String转型。

有一种表示字符串的数据类型String,从其定义上可以发现单词首字母大写了,所以此为一个类,属于引用数据类型,但是此类属于系统的类,而且使用上有一些注意事项,对于此种类型后面会有详细的介绍,

(1)String可以像普通变量那样直接通过赋值的方式进行声明。字符串是使用“‘’”括起来的。两个字符串之间可以使用“+”进行连接。

(2)任何数据类型碰到String类型的变量或常量之后都向String类型转换。

范例:定义字符串变量

public class DataDemo09{
     public static void main (atring[])args}               {
            string str = "lixinghua" ;                   //定义字符串变量
            int x = 30;                                  //定义整型变量
             str = str +  x;                             //改变字符串变量内容
             System.out.printIn("str=" +str)              //打印输出
}
}

程序运行结果:

str = lixinghua 30

范例:字符串常量操作的问题

public class DataDemo10 {
  public  atatic void main(string)[]   args}   {
         int i = 1;                     //定义整型变量
         int j = 2;                     //定义整型变量
          System.out.printIn("1+2=" +i +j)};   //加法计算
}
}

程序运行结果:

1+2 = 12

从以上的输出结果中可以发现,程序的主要目的是计算i+j的值,但是由于碰到了字符串常量,所以所有的数据类型都会变为字符串常量,也就是说此时的"+"实际上表示的字符串连接的含义,对于以上的程序,如果想要得到正确的结果,则必须修改为:

System.out.pinIn("1+1=" +(i+j));

加上括号之后,就表示输出时先计算两个数字相加的结果。

标签:转换,变量,int,数据类型,字符串,类型,软件测试
From: https://blog.51cto.com/u_15605684/6941491

相关文章

  • 软件测试 | Java中的关键字
    Java中也有许多关键字(也叫保留字),如public、static等,这些关键字不能当做标识符使用。表2-1列出了Java中的关键字,这些关键字并不需要去硬背,因为在程序开发中一旦使用了这些关键字做标识符时,编辑器会自动提示错误。对于以上的关键字,要特别注意的有如下3点:(1)虽然goto、const在Java中并没......
  • 软件测试|SQL中的null值,该如何理解?
    深入理解SQL中的Null值:处理缺失数据的重要概念简介Null值在SQL中是用于表示缺失或未知数据的特殊值。本文将深入探讨Null值的概念、处理方法和注意事项,以帮助读者更好地理解和处理SQL中的缺失数据。在SQL数据库中,Null值是一种特殊的值,用于表示缺失或未知的数据。它与其他具体的数值......
  • 软件测试 | Java程序的注释
    在任何编程语言之中,都存在注释,注释的主要功能是让其他用户可以方便地阅读每段程序,提高程序的可读性,还可以通过注释屏蔽掉一些暂时不用的语句,等需要时直接取消此语句的注释即可,在Java中根据功能的不同,注释主要分为单行注释、多行注释、文档注释3种,下面分别进行介绍。单行注释,就是在......
  • 软件测试 | 一个简单的Java范例
    下面给出一个简单的Java程序范例,观察Java成都基本结构及相同点。范例:定义一个简单类publicclassTestJava{publicstaticvoidmain(String[]args){//Java操作的一个简单范例,输出和乘方intnum=10;......
  • 软件测试 | Windows平台下配置MySQL
    对于noinstall方式安装的MySQL,系统的参数配置、服务的启动关闭都需要手工在命令窗口中进行设置。参数文件可以在多个位置进行设置,这里用一个c:\my.cnf来进行操作,其他更详细的参数位置可以参考第24章中的参数设置方法。对于初学者来说,my.cnf并不知道该怎样配置。MySQL为用......
  • 软件测试|web自动化测试神器playwright教程(十二)
    前言在日常工作中,我们经常是基于某个测试环境地址去测试某个项目,所以应该把它单独拿出来做为一个全局的配置。其他网址可以使用不同的后缀,只使用相对地址。常见情景比如我们的社区,不同的类别只需要改变我们的后缀即可,如下图:首页地址为:https://ceshiren.com/,我们选择查看热门......
  • 软件测试|web自动化测试神器playwright教程(十三)
    前言我们在工作中,会遇到需要使用不同的硬件设备测试兼容性的问题,尤其是现在手机型号,屏幕大小分辨率五花八门的,我们基本不可能全部机型都用真机测试一遍,playwright提供了模仿机型的功能,我们可以使用playwright来模拟设备。设置手机模式配置需要模拟的设备,我们需要配置我们使用的......
  • 软件测试|web自动化测试神器playwright教程(十四)
    前言我们在日常工作中,经常会遇到下面的情况,我们需要在一个下拉框中选择一个选项:在使用selenium定位的过程中,我们可以选择使用selenium的Select类,有了playwright,我们的操作会变得更简单一些。playwright也提供了select的方法进行操作。select用法使用locator.select_option(......
  • 软件测试|web自动化测试神器playwright教程(十五)
    前言我们在日常工作中,会经常遇到弹出警告框的问题,弹框无法绕过,必须处理才可以执行后续的测试,所以弹框处理也是我们必须掌握的一个知识。弹框通常分为3种,分别为alert,confirm,promot。alert弹框:只有信息和确定按键confirm弹框:在alert弹窗基础上增加了取消按钮prompt弹框:在confi......
  • 软件测试|web自动化测试神器playwright教程(十六)
    前言在我们的日常工作中,经常会遇到文件下载的事件,如下图:我们可以看到在下载文件时会弹出一个Windows对话框,我们知道,selenium只能操作web页面,无法操作Windows对话框,使用selenium时,我们可以借助autoit等工具实现该功能。playwright则可以不借助其他工具实现文件的下载。文件下......