JAVA的基本类型

JAVA的类型分为基本类型和引用类型,基本类型有整型(byte、short、int、long),浮点型(float、double),字符型(char)布尔类型(boolean)。

整型:所谓整型就是只能装整数,包括正整数、负整数和0。
byte:1字节=8位,有符号的数,范围从负的2的7次方到正的2的7次方-1。
short :2个字节,有符号的数,范围从负的2的15次方到正的2的15次方-1。
int :4个字节,有符号的数,范围从负的2的31次方到正的2的31次方-1。
long:8个字节,有符号的数,范围从负的2的63次方到正的2的63次方-1。

注意点:
A:如果直接给出一个整数,该数的默认类型是int型。如果该整数较小,且直接赋值给byte或short,JAVA也可以将其当成byte、short处理。
B:如果给出一个巨大的整数,JAVA不会将其自动当成long类型处理。如果希望JAVA把该整数当成Long处理,需要在整数后面加上“L”。

public class ZhenXin{

     public static void main(String[] args){
          int a = 10;
          int b = 123;
                                     /*JAVA中整型默认为Int类型。*/
          byte c = 19;       /*此时不会报错,因为当数值较小时,JAVA会将该数直接视为byte类型。*/
          //byte d = 128; /*此时会报错,因为128超了byte的范围。*/

          long e = 2500000000L;  /*JAVA默认把整数当成int类型来处理,而2500000000超了Int的范围*/                                                                                       /*所以需要在2500000000后面加上L,才能赋值成功*/
          System.out.println(a);
          System.out.println(b);
          System.out.println(e);
          }

}

整数一共有4种表示形式,十进制、十六进制、八进制和二进制。十六进制是以0X开头的,八进制是以0开头的,二进制是以0B开头的。十六进制的数,在编程中使用得十分多,原因是十六进制的数恰好换算成为四位的二进制数。

**浮点型:**只能装带小数部分的数。JAVA的浮点型有float(4个字节)和 double(8个字节)。

Q1:编程时是使用double还是float?当然是double,因为浮点数都有精度丢失,而float精度丢失更严重。出于精度的考虑我们使用double。

浮点型的注意点:
A:如果直接给一个浮点型的数,默认为double类型。如果希望得到float类型的数,需要在数的后面加上f/F。

B:浮点数会有精度丢失,所以浮点数比较时必须使用差值法。如System.out.println(f2 - f3 < 0.001); ,比较两个数的差是否小于一个十分小的数。

C:浮点数有两种表示形式:
小数形式:
科学计数法:3e5 300000.0
只要使用了科学计数法一定表示的是浮点数,不会是整数。

D:浮点值有三个特殊值,浮点数除以0得到无穷大。
正无穷大可以由正的浮点数除以正的0,负的浮点数除以负的0。Inifity
负无穷大:正的浮点数除以负的0,还有负的浮点数除以正的0。-Inifity
所有的正无穷大都相等,所有的负无穷大也相等,但是正的无穷大和负的无穷大不想等。

非数:浮点0除以0,对负数开方,得到的就是非数。NaN 非数与任何数都不相等,和它自己也不相等。

public class FuDianXin{
     public static void main(String[] args){
          //float f =2.3; //错误JAVA程序里面的小数默认为double类型,赋值给float可在变量后面加f
          float f1 =2.3f;
          float f2 = 0.01f;
          float f3 = 0.05f;

          double d = 2.4;//这样就是对的
          double w = 3e5;
         
          d = d * 2 - 4.5 * 1.3 - d * 1.8;
          

          System.out.println(f1); 
          System.out.println(d); //输出-5.00000000001   精度丢失了
          System.out.println(f2 + f3 == 0.06); //结果输出为false,因为有精度丢失。如果必须要比较两          //个浮点数是否相等,可以计算两个数的差值,再看该差值是否小于一个比较小的数。如下:
          System.out.println(f2 - f3 < 0.001); 
          System.out.println(w); 

      }

}

字符型:只能装单个字符(中文,英文。日文,韩文皆可以),且单个字符要放在单引号里面。占两个字节,16位

字符型的注意点:字符型有三种表示形式,(1)单引号里面放普通字符(2)JAVA的转义字符(3)用字符的unicode编码

字符集:为了在计算机的底层保存字符,为所有的字符编号,需要保存字符时实际上是保存了该字符的二进制编号。读取字符内容时,读的是二进制编号,还需要参照编号表才能得到对应的字符。

ASCII码:只支持英文,数字和标点符号 。a~z: 97-97+25; A-Z:65-90;\r :13 ; \n:10;
GB2312:简体中文字符集
GBK:简体中文字符集
GB18030:目前的简体字符集

字符完全可以当成无符号的整数使用,字符当成无符号的整数使用时用的是它的编号。这样的话JAVA的基本类型就只有数值型和布尔型。

public class ZiFuXin{
    public static void main(String[] args){
        char a = 'a';
        char b = 'j';
        char c = '\r';
        char d = '\u0005'; //unicode编码
        int it = 2 * c - '\r' * 3; //这样是可以的,因为字符型的变量可以当成整型来用。

        System.out.println(a);
        System.out.println(c);
        System.out.println(d);
        System.out.println(it);
   
    }
}
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值