Java学习中一些小知识点(1)

  • i++
  1. 中间缓存变量机制,为每个自增操作分配一个临时变量temp     
j=j++(先运算再自增)等价于int temp=j ; j=j+1; j=temp

j=++j(先自增再运算)等价于j=j+1; int temp=j ; j=temp

  • 类型转换
  1. 简单类型数据间转换

低级变量 —> 高级变量   自动类型转换,例如float i=4.0f ; double j=i;

高级变量 —> 低级变量   强制类型转换,例如int i=99; char j=(char)i;

    2.包装类过度类型转换

float f=10.9f;

Float f1=new Float(f);

Double d1=f1.doubleValue();

    3.字符串与其他类型转换

toString()方法;

    例:short s=1;s=s+1与short s=1; s+=1;区别

   s=s+1先执行s+1,低级到高级,自动类型转换成int,int类型不能直接赋值给short类型。

   s+=1的操作符+=作用 s=(s的类型)(s+1)

  • 运算符

     1.三目运算符

右结合性a?b:c?d:e 等价a?b:(c?d:e)

b=true?false:true==true?:false:true; ==>b=true?false:((true==true)?:false:true);

== 优先于?:

     2.

         int a=5; (a<5)?10.9 : 9表达式的值为9.0

因为出现10.9,自动类型转换为9.0

char x='x'; int i=10

false ? i : x 值为120

false ? 10:  x值为x,(知识点: java编程规范规定当后两个表达式中,一个是常量类型,另一个是类型T,当常量表达式可以被T表示,输出类型是T)

猜你喜欢

转载自blog.csdn.net/qq_38284577/article/details/80577611