展开全部

string和int之间的转换?

字符串转换成数据

Java代码

String MyNumber ="1234";

int MyInt = Integer.parseInt(MyNumber);

String MyNumber ="1234";

int MyInt = Integer.parseInt(MyNumber);

字符串转换成byte, short, int, float, double, long等数据类型,可以分别参考Byte, Short, Integer, Float, Double, Long类的parseXXX 方法。

Java代码

a1=Integer.parseInt(s1);

s1=Integer.toString(a1);

a1=Integer.parseInt(s1);

s1=Integer.toString(a1);

数据转换成字符串

Java代码

int MyInt = 1234;

String MyString = "" + MyInt;

int MyInt = 1234;

String MyString = "" + MyInt;

其它数据类型可以利用同样的方e69da5e887aa3231313335323631343130323136353331333264633535法转换成字符串。

十进制到其他进制的转换

十进制整数转换成二进制整数,返回结果是一个字符串:

Integer.toBinaryString(int i);

Integer和Long提供了toBinaryString, toHexString和toOctalString方法,可以方便的将数据转换成二进制、十六进制和八进制字符串。功能更加强大的是其 toString(int/long i, int radix)方法,可以将一个十进制数转换成任意进制的字符串形式。

byte, short, float和double等数据类型,可以利用Integer或者是Long的toBinaryString, toHexString, to OctalString和toString方法转换成其他进制的字符串形式。

其它进制到十进制的转换

五进制字符串14414转换成十进制整数,结果是1234:

System.out.println(Integer.valueOf("14414", 5);

Integer和Long提供的valueOf(String source, int radix)方法,可以

将任意进制的字符串转换成十进制数据。

把String类型转换成16进制的整数

Java代码

public static void main(String args[]){

String x = "0x300C8";

int y = Integer.decode(x).intvalue();

System.out.println(y);

}

public static void main(String args[]){

String x = "0x300C8";

int y = Integer.decode(x).intvalue();

System.out.println(y);

}

int、char、double与byte相互转换的程序

整数到字节数组的转换

Java代码

public static byte[] intToByte(int number) {

int temp = number;

byte[] b=new byte[4];

for (int i=b.length-1;i>-1;i--){

b[i] = new Integer(temp&0xff).byteValue(); //将最高位保存在最低位

temp = temp >> 8; //向右移8位

}

return b;

}

public static byte[] intToByte(int number) {

int temp = number;

byte[] b=new byte[4];

for (int i=b.length-1;i>-1;i--){

b[i] = new Integer(temp&0xff).byteValue(); //将最高位保存在最低位

temp = temp >> 8; //向右移8位

}

return b;

}

字节数组到整数的转换

Java代码

public static int byteToInt(byte[] b) {

int s = 0;

for (int i = 0; i < 3; i++) {

if (b[i] >= 0)

s = s + b[i];

else

s = s + 256 + b[i];

s = s * 256;

}

if (b[3] >= 0) //最后一个之所以不乘,是因为可能会溢出

s = s + b[3];

else

s = s + 256 + b[3];

return s;

}

public static int byteToInt(byte[] b) {

int s = 0;

for (int i = 0; i < 3; i++) {

if (b[i] >= 0)

s = s + b[i];

else

s = s + 256 + b[i];

s = s * 256;

}

if (b[3] >= 0) //最后一个之所以不乘,是因为可能会溢出

s = s + b[3];

else

s = s + 256 + b[3];

return s;

}

短整数与字节数组之间的相互转换

short与int之间的区别在于short是两个字节的,而int是四个字节的。因此,只需要将5 与6 中的范例程序小做改动,即可实现短整数与字节数组之间的相互转换。

字符到字节转换

Java代码

public static byte[] charToByte(char ch){

int temp=(int)ch;

byte[] b=new byte[2];

for (int i=b.length-1;i>-1;i--){

b[i] = new Integer(temp&0xff).bytevalue(); //将最高位保存在最低位

temp = temp >> 8; //向右移8位

}

Java中的强制类型转换,如果这2种类型是兼容的,那么Java 将自动地进行转换。例如,把int 类型的值赋给long 类型的变量,总是可行的。然而,不是所有的类型都是兼容的,因此,不是所有的类型转换都是可以隐式实现的。例如,没有将double 型转换为byte 型的定义。幸好,获得不兼容的类型之间的转换仍然是可能的。要达到这个目的,你必须使用一个强制类型转换,它能完成两个不兼容的类型之间的显式变换。让我们看看自动类型转换和强制类型转换。

一.Java 的自动转换

如果下列2个条件都能满足,那么将一种类型的数据赋给另外一种类型变量时,将执行自动类型转换(automatic type conversion):

1.这2种类型是兼容的。

2.目的类型数的范围比来源类型的大。

当以上2个条件都满足时,拓宽转换(widening conversion )发生。例如,int 型的范围比所有byte 型的合法范围大,因此不要求显式强制类型转换语句。

对于拓宽转换,数字类型,包括整数(integer )和浮点(floating-point )类型都是彼此兼容的,但是,数字类型和字符类型(char)或布尔类型(bollean )是不兼容的。字符类型(char )和布尔类型(bollean )也是互相不兼容的。

二. 不兼容类型的强制转换

尽管自动类型转换是很有帮助的,但并不能满足所有的编程需要。例如,如果你需要将int 型的值赋给一个byte 型的变量,你将怎么办?这种转换不会自动进行,因为byte 型的变化范围比int 型的要小。这种转换有时称为“缩小转换”(),因为你肯定要将源数据类型的值变小才能适合目标数据类型。

为了完成两种不兼容类型之间的转换,你就必须进行强制类型转换。所谓强制类型转换只不过是一种显式的类型变换。它的通用格式如下:

(target-type)value

其中,目标类型(target-type )指定了要将指定值转换成的类型。例如,下面的程序段将int 型强制转换成byte 型。如果整数的值超出了byte 型的取值范围,它的值将会因为对byte 型值域取模(整数除以byte 得到的余数)而减少。

int a;

byte b;

// ...

b = (byte) a;

当把浮点值赋给整数类型时一种不同的类型转换发生了:截断(truncation )。你知道整数没有小数部分。这样,当把浮点值赋给整数类型时,它的小数部分会被舍去。例如,如果将值1.23赋给一个整数,其结果值只是1,0.23 被丢弃了。当然,如果浮点值太大而不能适合目标整数类型,那么它的值将会因为对目标类型值域取模而减少。

下面的程序说明了强制类型转换:

// Demonstrate casts.

class Conversion {

public static void main(String args[]) {

byte b;

int i = 257;

double d = 323.142;

System.out.println("\nConversion of int to byte.");

b = (byte) i;

System.out.println("i and b " + i + " " + b);

System.out.println("\nConversion of double to int.");

i = (int) d;

System.out.println("d and i " + d + " " + i);

System.out.println("\nConversion of double to byte.");

b = (byte) d;

System.out.println("d and b " + d + " " + b);

}

}

该程序的输出如下:

Conversion of int to byte.

i and b 257 1

Conversion of double to int.

d and i 323.142 323

Conversion of double to byte.

d and b 323.142 67

让我们看看每一个类型转换。当值257被强制转换为byte 变量时,其结果是257除以256 (256是byte 类型的变化范围)的余数1。当把变量d转换为int 型,它的小数部分被舍弃了。当把变量d转换为byte 型,它的小数部分被舍弃了,而且它的值减少为256 的模,即67。

本回答由网友推荐

已赞过

已踩过<

你对这个回答的评价是?

评论

收起

java类型转换机制_简述java类型转换机制。相关推荐

  1. 简述java的异常处理机制_简述java异常处理机制

    引言: Hello,我的好朋友们,又到我们相聚的时间了,今天我要和大家分享一些有关java异常处理的相关 知识,也是通过老师的讲解和相关材料的借鉴之后的一个比较系统的总结,真心希望写完这篇文章的我和看 ...

  2. java 倾斜校正_简述Java图像倾斜方法及实例

    可以使用 graphics2D 类提供的 shear() 方法设置绘图的倾斜方向,从而使图像实现倾斜的效果.下面,我们一起来看一下它的使用方法和实例. 语法如下: shear(double shx,d ...

  3. java 构造方法特点_简述 Java 中构造方法 的概念及特点。_市场营销知识答案_学小易找答案...

    [判断题]376 . 宽松裤后腰围计算公式为 W/4-1+ 省. [判断题]365 . 鱼尾裙的展宽高度与裙造型变化有关系.( ) [判断题]361 . 服装结构制图中的某些部位.线条.点等常使用其英 ...

  4. Java面试题(二)-----简述Java和C++的相同点和不同点

    Java面试题(二)-----简述Java和C++的相同点和不同点 文章目录

  5. java初反射_初始 java 反射机制 (一)

    反射机制详解 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的功能称为j ...

  6. 工作中用到的java反射机制_(转)JAVA-反射机制的使用

    Java反射机制的实现原理 反射机制:所谓的反射机制就是java语言在运行时拥有一项自观的能力.通过这种能力可以彻底的了解自身的情况为下一步的动作做准备.下面具体介绍一下java的反射机制.这里你将颠 ...

  7. java实现分发_关于JAVA中事件分发和监听机制实现的代码实例

    [实例简介] 关于JAVA中事件分发和监听机制实现的代码实例,绝对实用代码,有说明. [实例截图] [核心代码] JavaEventDispatch ├── bin │   └── com │   └ ...

  8. java动态类加载_实现Java动态类载入机制

    作 为 充 分 利 用Java 的 动 态 类 载 入 机 制 的 最 好 例 子, 带 有Java 扩 展 的Web 浏 览 器 根 据 请 求 从 网 络 或 本 地 文 件 系 统 中 动 态 ...

  9. 简述java异常机制处理,简述Java中异常处理的机制

    Q1:JAVA中的异常处理机制的原理 Java中的异常处理机制的简单原理和应用 : java中Throwable这个类可以被作为异常抛出的类,继承它的分为异常Exception和错误Error. Ex ...

最新文章

  1. php time 毫秒_PHP获取当前时间的毫秒数
  2. 关于hadoop与jstl冲突的jar包
  3. AngularJS DEMO - 不断更新中
  4. python绘制3d图形-python matlibplot绘制3D图形
  5. python PIL 单张图像变换大小—— img.resize()
  6. ubutnu16.04搭建LAMP环境(搭建wordpress博客)
  7. redis的安装及springDataRedis
  8. java怎么修改订单状态_在WooCommerce中自定义订单状态更改时发送电子邮件通知
  9. blob类型_MySQL:创建表时如何选择合适的字段类型
  10. Android view 小总结
  11. 小程序 搜索结果关键字标红(支持拼音)
  12. 磁盘分区 如何分出整数
  13. 【ajax】6.IE缓存问题解决
  14. iOS开发调试技巧之模拟定位国外位置
  15. 如何用计算机恢复出厂设置,告诉你电脑如何恢复出厂设置
  16. [sql server] 取汉字 拼音 首字母
  17. TIA protal与SCL从入门到精通(5)——函数终止跳转处理
  18. 从零开始学习C语言开发视频教程在线完整版
  19. python实现炫酷字母雨
  20. Buct oj 1019

热门文章

  1. 计算机技术指标是,计算机主要技术指标通常是指
  2. RNN梯度消失和爆炸
  3. json schema多种形式_Json Schema简介
  4. python jsonschema使用
  5. 代谢组学喜讯|百趣生物与金域医学达成代谢组学战略合作
  6. 阿当姆斯校正程序代码MATLAB,全区间积分的阿当姆斯预报校正法(常微分方程组的求解)...
  7. Vins-Mono+Fusion 学习笔记(二)
  8. scipy.optimize.linprog函数参数最全详解
  9. 8本推荐游戏开发书籍
  10. RISE 75 双模蓝牙5.2热插拔PCB