JAVA语言的数据类型与运算符

一、基本数据类型:

byte,short,int,long,float,double,char,boolean

(1)整数类型:byte-short-int-long

byte:一字节大小,占8位二进制,范围是:-2*7----2*7-1;

short:两字节大小,占16位二进制,范围是:-2*15-----2*150-1;

int  4字节大小,占32位二进制,范围为:-2*31-------2*31-1;

long  8字节大小,占64位二进制,范围是: -2*63----------2*63-1;

(2)浮点数类型:

float:  
     在内存中占4字节大小,32位二进制
     范围:
       -3.403E38~3.403E38
double:
     在内存中占8字节大小,64位二进制
     范围:
       -1.79E308~1.79E308


字面量:默认类型为double,即64位的浮点数类型
      如果想直接写32位的浮点数,需要在数值后
      添加f/F

      比如:
       double num = 3.14;
       float num1 = 3.14F;

(3)字符型:char
    在内存中占2字节大小,16位二进制。
    赋值特点:
     (1)值中,有且只有一个字符
     (2)字符必须使用单引号引起来。
    另外特点:底层二进制是无符号的整数类型
    即 0~2^16-1--->0~65535
    所以,赋值时,也可以赋值整数。但是,存入变量
    空间后,其实是其整数对应的字符。

java语言默认使用的字符集为unicode。
   unicode字符集:
        无论字母,还是汉字,都占两个字节大小
    'A'---00000000 01000001
    'a'---00000000 01100001
    '0'---00000000 00110000
   什么是字符集:
       即二进制与字符的一一对应关系的表

   GBK
   GBK2312
   UTF-8
        '中'----00010110 01010101
    '中'----00010110 01010101 00010001 

   写文件时:采用unicode输入'中'
             00010110 01010101
   打开文件时:采用GBK
         00010110 01010101----好

      编码:将字符--->二进制
            写
      解码:将二进制--->字符
            读
   java语言常用的字符:
      'A'~'Z' ->65~90
      'a'~'z' ->97~122
      '0'~'9' ->48~57
   java语言中的转义字符:
       '\':将特殊字符变成相应意义的字符。
   java语言中的特殊字符:
       单引号,双引号,制表符,换行符,回车符号
       '\''  单引号
       '\"'  双引号
       '\\'   反斜线
       '\t'   制表符
       '\r'   换行符,(有翻页效果,看不到上一页的数据)
       '\n'   回车符,
 需求:查看字符集中,某一字符对应的整数
       将字符赋值给int类型的变量即可

如:int  a = '文';

int   b = '状';

(4)布尔类型:boolean

  在内存中占1字节大小。
    只有两个值 true/false
    true:表示条件成立
    false:表示条件不成立

二、类型转换:

1.自动转换(隐式转换)
     占内存小的类型变量赋值给占内存大的类型变量,
     会发生自动转换。

     byte b = 5;
     short b1 = b;//8位的5赋值给16位5,在前面自动添8个0

     int  c1 = -1;
     long c2 = c1;//32位的-1赋值给了64位的c2里,自动填了32个11
  
     long c3 = -1;

     byte-->short-->int-->long-->float-->double
            char

   2、强制转换:
     占内存大的类型变量赋值给占内存小的类型变量,需要
     强制转换。语法如下:
     (占内存小的变量类型名)变量;
     注意:有可能出现精度损失。

     int a = 1;
     byte a1 = (byte)a;

三:范围大小与精度大小的比较:

范围大小从大到小排序:
   double>float>long>int>short>byte
精度大小从大到小排序:(int,long,float,double)
    long>int>double>float

四、引用类型

 String:字符串类型

五、运算符:

 两个原则:
    1、不同类型的数据做运算时,一定会先转换成较大范围类型后
       再运算。
    2、byte,short,char这些类型运算时,一定会先转成
       int类型再运算,结果int类型
    封:
      一定要注意封闭式运算。
      
  3. 算术运算符:
     +,-,*,/,%,++,--

     /:
        情况1:
    参与的类型都是整型时,做取整运算,
      即 商n余m, 结果为n
        2/3----商0余2。结果为0
        情况2:
       只要有一个浮点数参与,就会做
       类似精确运算。
     %:取余运算符号,也叫取模运算符号
         做除法运算时,商n余m,结果为m.

     情况1:参与运算都是整数时,余数是精确值
     情况2: 有浮点数参与时,余数不一定是精确值。

     注意:
     取余运算一般被用来判断 某一个数能
     否被另外一个数整除。
    ++/--:是自增自减运算符
        符号要与变量一起使用。
    表示变量自动+1,或自动-1;
    如:++a/a++/--a/a--;
       ++a/a++:是a=a+1的简写
       --a/a--:是a=a-1的简写

     情况1: 即与变量在一起,不与其他任何符号连用时
            (单独使用)
        ++a
        a++
        --a
        a--
        此时,变量一定会+1或-1;

     情况2:自增/自减运算与其他符号连用时
           需要考虑表达式的值。
       ++a/a++/--a/a--整体看成表达式

           口诀:
           符号在前,先运算再赋值
           符号在后,先赋值在运算

        解析:符号在前时,变量先自增/自减,新值赋值给表达式
              符号在后时,先把变量的值赋值给表达式,然后变量再自增/自减

       如:
       int a = 1;
       a = ++a;
       Sy

4、赋值运算符:

   扩展赋值运算符
      +=,-=,*=,/=,%=。
      a+=1相当于 a = a + 1
      a-=b相当于 a = a - b;
      a*=b相当于 a = a * b;
      a/=b相当于 a = a / b;
      a%=b相当于 a = a % b;

5、字符串拼接符;

(+)
      当+前后,只要有一个是字符串类型,就做拼接操作
      拼接后的结果是字符串类型。
      如:
      int a = 1;
      int b = 2;
      String str = "3";
      String result = a+b+str;
      System.out.println(result);//"33"
      result = str+a+b;
      System.out.println(result);//"312"
      result = a+str+b;
      System.out.println(result);//"132"
      System.out.println(1+2+a+str+b+3);//"4323"
      System.out.println(1+2+a+"3"+a*b+str);//"4323"

6、三目运算符(三元运算符)


       变量类型 变量= 条件表达式?值1:值2;
       变量类型:需要与值1或值2的类型相同。
                而值1与值2的类型要么相同,
        要么就可以自动转换。

7、JAVA语言类型的图解:

 

 

 

 

 

 

 

 

 

 

 


   
    

 

 

 

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值