java 自动类型_java 数据类型的自动转换

展开全部

String就是字符串类型

第一 char相加的结果是int类型,不能赋值给String

第二32313133353236313431303231363533e4b893e5b19e31333335303533 A+B的结果是int类型,再加上String,请应用int+String的规则

第三String+char+char,请应用char+String的规则package org.xyz;

public class Test{

public static void main(String[] args) {

String V = "与";

char A = '男';

char B = '女';

//String s = A + B;//错误 A+B的结果是int,int不能赋值给String

int i = A + B;//正确,在java中char和byte是可以转换为十进制的 A+B的结果是int类型的

System.out.println(i);

String sum2 = i + V;//正确 字符串可以跟任意的基本类型相加 下面有证明

System.out.println(sum2);

String sum = A + B + V;//A+B的结果是int类型的,然后再加V  A+B是char+char结果是int,字符串可以跟任意的基本类型相加

System.out.println(sum);

//===================String begin================================================================================

//八种基本类型String都可以跟它们进行相加,没有任何问题

boolean boo = true;

sum2 = boo + V;

double d = 10.0;

sum2 = d + V;

float f = 10.0f;

sum2 = f + V;

byte b = 'A';

sum2 = b + V;

//char

sum2 = A + V;

short sr = 10;

sum2 = sr + V;

long l = 10;

sum2 = l + V;

int i10 = 10;

sum2 = i10 + V;

//===================String end================================================================================

}

}

字符串跟基本类型相加的结果package org.xyz;

/**

* 除了byte是转换称ACII码的值之后再跟字符串相加其他没有任何例外

*

*/

public class Test{

public static void main(String[] args) {

String str = "中";

String str2 = "";

boolean bl = true;

str2 = "";

str2 = bl + str;

System.out.println(str2);//true中

float f = 10.0f;

str2 = "";

str2 = f + str;

System.out.println(str2);//10.0中

double d = 10.0;

str2 = "";

str2 = d + str;

System.out.println(str2);//10.0中

int i = 10;

str2 = "";

str2 = i + str;

System.out.println(str2);//10中

short s = 10;

str2 = "";

str2 = s + str;

System.out.println(str2);//10中

byte b = 'c';

str2 = "";

str2 = b + str;

System.out.println(str2);//99中

char c = 'c';

str2 = "";

str2 = c + str;

System.out.println(str2);//c中

long l = 10;

str2 = "";

str2 = l + str;

System.out.println(str2);//10中

}

}

基本类型相加的规律

package org.xyz;

/**

*

* 任意基本类型都是可以相加了,除了跟boolean,boolean跟任何基本类型都不能相加,包括自身

* 可以相加的基本类型相加之後的结果一定是int float long double类型(有short参与并且另一个参数不大与short类型的结果都是int)

*/

public class Test{

public static void main(String[] args) {

char c = 'c';

byte b = 'b';

int i = 1;

long l = 10;

float f = 10.0f;

double d = 10.0;

short s = 10;

boolean bl = true;

//===================char begin==========================================

//char不可以跟boolean相加

i = c + c;//char + char = int

i = c + b;

i = c + i;

f = c + f;

d = c + d;

i = c + s;

l = c + l;

//i = c + bl;

//===================char end==========================================

//===================byte begin==========================================

//char不可以跟boolean相加

i = b + c;//char + char = int

i = b + b;

i = b + i;

f = b + f;

d = b + d;

i = b + s;

l = b + l;

//i = b + bl;

//===================byte end==========================================

//===================int begin==========================================

//char不可以跟boolean相加

i = i + c;//char + char = int

i = i + b;

i = i + i;

f = i + f;

d = i + d;

i = i + s;

l = i + l;

//i = i + bl;

//===================int end==========================================

//===================long begin==========================================

//char不可以跟boolean相加

l = l + c;//char + char = int

l = l + b;

l = l + i;

f = l + f;

d = l + d;

l = l + s;

l = l + l;

//l = l + bl;

//===================long end==========================================

//===================float begin==========================================

//char不可以跟boolean相加

f = f + c;//char + char = int

f = f + b;

f = f + i;

f = f + f;

d = f + d;

f = f + s;

f = f + l;

//f = f + bl;

//===================float end==========================================

//===================double begin==========================================

//char不可以跟boolean相加

d = d + c;//char + char = int

d = d + b;

d = d + i;

d = d + f;

d = d + d;

d = d + s;

d = d + l;

//d = d + bl;

//===================double end==========================================

//===================short begin==========================================

//char不可以跟boolean相加

i = s + c;//char + char = int

i = s + b;

i = s + i;

f = s + f;

d = s + d;

i = s + s;

l = s + l;

//i = s + bl;

//===================short end==========================================

//===================boolean begin==========================================

//i = bl + c;

//i = bl + b;

//i = bl + i;

//f = bl + f;

//d = bl + d;

//i = bl + s;

//l = bl + l;

//i = bl + bl;

//===================boolean end==========================================

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值