Java教程

java数据类型和运算符

本文主要是介绍java数据类型和运算符,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

整型数据类型

▪整型常量

–十进制整数,如:99, -500, 0 –八进制整数,要求以 0 开头,如:015 –十六进制数,要求 0x 或 0X 开头,如:0x15

▪整型变量

▪整型常量默认为int型,声明long型常量可以后加‘ l ’或‘ L ‘ (建议使用大写, 小写容易误认为数字1) ,如: ▪long a = 55555555; //不出错,在Int表示的范围内(21亿内)。 ▪long b = 55555555 555;//不加l出错,已经超过int表示的范围。

 

浮点型数据类型

▪ 浮点类型常量

十进制数形式,例如:        ▪3.14         314.0         0.314 科学记数法形式,如    ▪314e2     314E2     314E-2     ▪double f = 314e2; //314*10^2-->31400.0        ▪double f2 = 314e-2; //314*10^(-2)-->3.14

▪浮点型变量

    –float类型:单精度类型,尾数可以精确到7位有效数字,在很多情况下,float类型的精度很难         满足需求。    –double类型:双精度类型 精度是float类型的两倍,绝大部分应用程序都采用double类型。

▪注意

    –浮点常量默认为double。要变为float,需在后面增加F/f. 如: 3.14F     –浮点数存在舍入误差,很多数字不能精确表示。如果需要进行不产生舍入误差的精确数字计          算,需要使用BigDecimal类。

字符数据类型(2个字节)

   ▪ 单引号用来表示字符常量。例如‘A’是一个字符,它与“A”是不同的,       “A”表示含有一个字符的字符串。    ▪ char 类型用来表示在Unicode编码表中的字符。    ▪ Unicode编码被设计用来处理各种语言的所有文字,它占2个字节,          可允许有65536个字符;ASCII码占1个字节,可允许有128个字符       (最高位是0),是Unicode编码表中前128个字符。    ▪ Java 语言中还允许使用转义字符 ‘\’ 来将其后的字符转变为其它的      含义,          char c2 = '\n'; //代表换行符   ▪ char类型在内存中存储的是该字符的Unicode编码值,所以char类    型可以当做int类型来处理

 

布尔数据类型(一位,不是一个字节)

▪ boolean类型有两个值,true和false

▪ boolean 类型用来判断逻辑条件,一般用于程序流程控制

▪ 实践: 

    – 请不要这样写:if ( is == true && done == false ) ,只有新手才那么写。            对于任何程序员 if ( whether && !done ) 都不难理解吧。所以去掉所有的            ==fasle 和 ==true。

final 常量

▪ 使用final修饰的变量,只能被初始化一次,变成了常量。

▪ final常量是有名称的

    public class Constants {
         public static void main(StringO args) {
               final double PI= 3.14;
               I PI= 3.15;
               //error
              double r= 4;
              double area = P|* r* r;
              double circle= 2* P|* r;
              System.out.printIn("area= " + area);
              System.out.printIn("circle= " + circle); 
          }
}

命名规则(规范)

    ▪ 所有变量、方法、类名:见名知意

    ▪ 变量、方法名:

          – 首字母小写和驼峰原则           – run(), runRun(), age    ageNew monthSalary

    ▪ 常量:

   – 大写字母和下划线:MAX_VALUE

   ▪ 类名:

   – 首字母大写和驼峰原则: Man, GoodMan

运算符

▪ Java 语言支持如下运算符:

      – 算术运算符: +,-,*,/,%,++,--       – 赋值运算符 =      – 扩展赋值运算符:+=,-=,*=,/=      – 关系运算符: >,<,>=,<=,==,!=      – 逻辑运算符: &&,||,!      – 位运算符: &,|,^,~ , >>,<<,>>> (了解!!!)      – 条件运算符 ?:

▪ 相关概念辨析

   – + 运算符 操作符 Operator    – 5+6 表达式 expression    – 5 6 操作数 Operand    – int m =5+6; 语句 Sentence

算术运算符

▪注意:

    –1:/ 除 6/4=1 6/4.0=1.5     –2: %取模(求余) 6%4=2     –3:+ 6+‘a’=103 6+“a“=6ª     –4:++     ▪a=2;b=++a+9;     ▪a=2;b=a+++9;     –+:字符串相加,只要有一个     操作数是字符串,自动变为字     符串相连

 

算术运算符

▪二元运算符类型提升:

   –整数运算:        ▪如果两个操作数有一个为Long, 则结果也为long        ▪没有long时,结果为int。即使操作数全为shot,byte,结果也是int.

   –浮点运算:

      ▪如果两个操作数有一个为double, 则结果为double.       ▪只有两个操作数都是float, 则结果才为float.

  ▪一元运算符(++, --):

赋值运算符

▪ 基本赋值运算符 = ▪ 扩展赋值运算符 – 算术运算符和赋值运算符结合

 

 

关系运算符

    ▪ 关系运算符用来进行比较运算     ▪ 关系运算的结果是布尔值:true/false、     ▪ 注意           – 区分==和=          – 不等于是!=不是<> 运算符            含义                     示例   ==                  等于                      a==b      !=                   不等于                  a!=b   >                    大于                      a>b   <                    小于                       a<b   >=                 大于或等于            a>=b   <=                 小于或等于            a<=b

  逻辑运算符

      ▪ 逻辑运算符与布尔操作数一起使用,组          成逻辑表达式       ▪ 逻辑表达式的结果是布尔值       ▪ &和&&的区别             – “&”:无论任何情况,“&”两边的表达式都会参                   与计算。            – “&&”: 当“&&”的左边为false,则将不会计算                其右边的表达式。即左false则false      ▪ “|”和“||”的区别与“&”和“&&”的区别类似。     运算符                 含义                             示例         &                     逻辑与                          A&B         |                      逻辑或                          A | B         ^                     逻辑异或                       A^B         !                   逻辑反                            !A         ||                     短路或                          A || B         &&                  短路与                          A&&B

位运算符(了解)

       ▪ 位运算符是对操作数以二进制比特位为单位进行操作和运算,操作数和结果都是整型数。        ▪ 如果操作的对象是char、byte、short,位移动作发生前其值会自动晋升为int,运算结          果也为int。          运算符                              含义                                          示例                                ~                            按位非( NOT ) /取反                  b = ~a                   &                               按位与( AND)                       c = a & b               |                                  按位或( OR )                          c = a | b               ^                         按位异或 ( 相同为 0 相异为1)             c = a ^ b                           >>                  右移;左边空位补最高位即符号位       b = a >> 2                       >>>                       无符号右移,左边空位补0              b = a >>> 2               <<                            左移;右边空位以补0                 b = a << 1

条件运算符

                    ▪ 语法格式     – x ? y : z                                           int a=3;                               int  a=3;     – 唯一的三目运算符                          int b=5;                               int  b=5;                                                                       String  str ="";                      String str =                                                                      if(a<b){                                (a<b)?"a<b":"a>b";                                                                str ="a<b";                                                                           }else{                                                                str ="a>b";                                                                }                    ▪  执行过程       – 其中 x 为 boolean 类型表达式,先计算 x 的值,若为true,则整个三目运          算的结果为表达式 y 的值,否则整个运算结果为表达式 z 的值。   ▪ 经常用来代替简单的if-else判断!

                    运算符的优先级

▪                不需要去刻意的记优先级关系               ▪ 赋值<三目<逻辑<关系 <算术<单目               ▪ 理解运算符的结合性

 

基本数据类型之间的转换

      ▪ 在 赋值运算 或 算术运算 时,要求数据类型相同,否则要进行类型转换       ▪ 转换方式:               – 自动转换               – 强制转换        ▪ 除boolean类型外,所有的基本数据类型因为各自的精度不同,赋值时           都要考虑这个问题        ▪ 除boolean类型外,所有的基本数据类型包括:整型,浮点型,字符型。

    ▪ 算术运算时的转换

     – 整型,浮点型,字符型数据可以混合运算。      – 运算中,不同类型的数据先转化为同一类型,然后进行运算,转换从低级到高级。      – 3+'A'+45L      – 5+3.6+ 'A'+ 3.14f            操作数 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 、                  double                                               double           float                                                             double                                               double

▪赋值运算时的转换

 

 

▪ 总结

      – =右侧:所有变量先转换为字节数最多的数据类型,再计算       – =两侧:左侧宽度>右侧宽度 自动转换                       左侧宽度<右侧宽度 强制转换

▪ 特例

     – 可以将整型常量直接赋值给byte, short, char等类型变量,而不需要进行强         制类型转换,只要不超出其表数范围     – short b = 12;      //合法     – short b = 1234567;   //非法
这篇关于java数据类型和运算符的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!