JAVA 变量中类型转换问题

1.小类型向大类型转换由JAVA虚拟机完成(隐式类转换)

2.自动类型转换的规则,符号位会自动扩展,负数补1,正数补0

3.自动类型转换包含以下类型情况:

(1)byte—>short->int->long->float->double

(2)int和char自动转换

例程:

         int i=-2;
         long l=i;
         System.out.println(i+":"+Integer.toBinaryString(i));
         System.out.println(l+":"+Long.toBinaryString(l));

二、小类型转换——>大类型

int到float丢失精度问题

long转double类型案例

                long l=0x20000000000001l;
double d=1;
System.out.println(Long.toBinaryString(l)+":"+l);
System.out.println(Long.toBinaryString((long)d)+":"+d);

三、大类型转向小类型

    强制类型转换

    注意边界风险问题

四、int和char类型转换

    char c=65;//输出65对应ascll码的值

    int i=‘B’;//输出B的ascll码

    System.out.println(Long.toBinaryString(l)+":"+l);

    字符类型的数据可以进行数值计算

五、通过args数组

              传值

int a=Integer.parseInt(args[0]);
int b=Integer.parseInt(args[1]);
System.out.println(a+"+"+b+"="+(a+b));
System.out.println(a+"-"+b+"="+(a-b));
System.out.println(a+"*"+b+"="+(a*b));
System.out.println(a+"/"+b+"="+(a/b));

六、通过Scanner从控制台获取数据

               通过scanner类

Scanner scanner=new Scanner(System.in);

System.out.println("姓名:")

String name=scanner.next();

(1)charAt 

abc”.chartAt(0)的结果是a

abc”.chartAt(1)的结果是b

通过控制台输入一个人的姓名、性别、身高和性格。。。


猜你喜欢

转载自blog.csdn.net/anjie5991/article/details/78232750