JAVA基础知识

来源:互联网 发布:手机蜂窝移动网络很慢 编辑:程序博客网 时间:2024/05/16 16:23

2.1.4 简单数据类型中各类型数据间的优先关系和相互转换
1.不同类型数据间的优先关系如下:    低------------------------------------------->高   byte,short,char-> int -> long -> float -> double  2.自动类型转换规则   整型,实型,字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算,转换从低级到高级; 操作数1类型 操作数2类型 转换后的类型 byte、short、char    int     int byte、short、char、int    long     long byte、short、char、int、long    float     float byte、short、char、int、long、float    double     double    3.强制类型转换   高级数据要转换成低级数据,需用到强制类型转换,如:  int i;   byte b=(byte)i; /*把int型变量i强制转换为byte型*/

2.2 运算符和表达式
2.2.1 运算符 对各种类型的数据进行加工的过程成为运算,表示各种不同运算的符号称为运算符,参与运算的数据称为操作数,按操作数的数目来分,可有:  ◇ 一元运算符:++,--,+,-  ◇ 二元运算符:+,-,>   ◇ 三元运算符:?:   基本的运算符按功能划分,有下面几类:   1 算术运算符: +,―,*,/,%,++,――。   例如:    3+2;     a-b;     i++;     --i;   2 关系运算符: >,=,3;     I==0;     n!=-1;   3 布尔逻辑运算符: !,&&,|| 。   例如:   flag=true;    !(flag);    flag&&false;   4 位运算符: >>,>,&,|,^,~。   例如:   a=10011101; b=00111001;则有如下结果:   a3 =11110011 a>>>3=00010011;    a&b=00011001; a|b=10111101;    ~a=01100010; a^b=10100100;   5 赋值运算符 =,及其扩展赋值运算符如+=,―=,*=,/=等。   例如:   i=3;    i+=3;     //等效于i=i+3;   6 条件运算符 ? :   例如:result=(sum= =0 ? 1 : num/sum);   7 其它:   包括分量运算符· ,下标运算符 [],实例运算符instanceof,内存分配运算符new,强制类型转换运算符 (类型),方法调用运算符 () 等。例如:  System.out.println("hello world");   int array1[]=new int[4];

2.2.2 表达式
  表达式是由操作数和运算符按一定的语法形式组成的符号序列。一个常量或一个变量名字是最简单的表达式,其值即该常量或变量的值;表达式的值还可以用作其他运算的操作数,形成更复杂的表达式。   1.表达式的类型   表达式的类型由运算以及参与运算的操作数的类型决定,可以是简单类型,也可以是复合类型:  布尔型表达式: x&&y||z;   整型表达式: num1+num2;   2.运算符的优先次序    表达式的运算按照运算符的优先顺序从高到低进行,同级运算符从左到右进行: 优先次序 运算符 1 . [] () 2 ++ -- ! ~ instanceof 3 new (type) 4 * / % 5 + - 6 >> >>> < >= >>=   例如,下述条件语句分四步完成:  Result=sum==0?1:num/sum;   第1步:result=sum==0?1:(num/sum)   第2步:result=(sum==0)?1:(num/sum)   第3步:result=((sum==0)?1:(num/sum))   第4步:result=