标识符及数据类型

本文详细介绍了Java中的标识符规则,包括类名、变量名和方法名的命名规范,强调了大小写敏感性和关键字的使用限制。同时,讲解了Java的基本数据类型,如整型、浮点型、字符型和布尔型,并对引用类型进行了说明。还讨论了进制转换、浮点数精度问题、字符转义和布尔值的使用。在变量声明和类型转换方面,提到了潜在的溢出和精度问题,并给出了相应解决方案。最后,通过示例展示了如何避免在计算大数值时出现错误。
摘要由CSDN通过智能技术生成

标识符

类名,变量名,方法名都被称为标识符

标识符的注意点:
  1. 所有的标识符否应该以字母(AZ/az),美元符($),下划线(_)开始
  2. 首字符之后可以是字母(AZ/az),美元符($),下划线(_)或者数字的任何字符组合
  3. 关键字不能用来作变量名或者方法名
  4. 标识符是***大小写敏感的***
  5. 一般不建议使用中文名和拼音

关键字

常用的关键字:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IGhcA2dL-1616426628292)(C:\Users\shinikeaidexiaotaota\Desktop\Java\笔记\标识符\1.png)]

数据类型

Java的所有变量都必须先定义再使用

Java的数据类型分为两大类:

  1. 基本类型(primitive type):

    1. 数值类型:
      1. 整数类型
        1.int(整型)
        2.long(长整型) 范围:-232~232-1 long类型后面一般要加 L
        3.short(短整型)范围:-32768~32767
        4.byte(字节型)范围:-128~127
      2. 浮点类型:
        1. float(单精度)范围:-3.4 * 10(-38)~3.4 * 10(38) float类型后面一般要加 F
        2. double(双精度)范围:-1.7 * 10(-308)~1.7 * 10(308)
      3. 字符类型 char是单个的,即一个字(字符串用String来定义,但String不是关键字,是一个类)

    2.boolean类型:只有true和false两个值 (只占一位)

  2. 引用类型(reference type)

    1. 接口

    2. 数组

科普:

  1. 位(bit):计算机内部数据存储的最小单位,101就是一个三位二进制数
  2. 字节(byte):计算机中数据处理的最小单位,一般用B来表示
  3. 1B=8bit
  4. 字符:是指计算机中使用的字母,数字,字和符号

变量

格式:数据类型 变量名(=值);

例如:int a=1;

拓展

整数拓展:

进制:二进制,十进制,八进制,十六进制

二进制以0b开头,八进制以0开头,十六进制以0x开头

浮点数的拓展;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ewhb32wM-1616426628295)(C:\Users\shinikeaidexiaotaota\Desktop\Java\笔记\标识符\2.png)]

其输出:

解决方法:用BigDecimal(数学工具类)

原因:float能表现的字长是有限的,如果用float来表示只能是大约,接近,但不等于

最好完全避免使用浮点数进行比较

字符拓展:

所有的字符本质还是数字,可以通过int强制转换成数字

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wNryYrR2-1616426628297)(C:\Users\shinikeaidexiaotaota\Desktop\Java\笔记\标识符\6.png)]

转义字符:

\t:空格(制表符)

\n:换行

\0:空字符(NULL)

\a :响铃(BEL)

\ddd: 任意字符 三位八进制

\xhh :任意字符 二位十六进制

布尔拓展 :

boolean flag=true
    if(flag==true){}
    if(flag){}

两个if括号内的条件相等

类型转换

类型转换(低->高):

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HzrK3yl7-1616426628299)(C:\Users\shinikeaidexiaotaota\Desktop\Java\笔记\标识符\7.png)]

如:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ec09Hwjo-1616426628301)(C:\Users\shinikeaidexiaotaota\Desktop\Java\笔记\标识符\9.png)]

(注意:

  1. 小数的优先级大于整数

  2. 转换的时候可能存在内存溢出或者精度问题

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dj1usd2S-1616426628302)(C:\Users\shinikeaidexiaotaota\Desktop\Java\笔记\标识符\8.png)]

    这里的128超过了byte的内存

  3. 不能对布尔值进行转换

  4. 不能把对象类型转换为不相干的类型)

强制转换(高->低)的格式:(类型)变量名

在运算中,不同的数据类型要先转化为同一类型,然后进行运算。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2AOFGgoV-1616426628303)(C:\Users\shinikeaidexiaotaota\Desktop\Java\笔记\标识符\10.png)]

其输出:

常见的问题:

操作比较大的数的时候,注意溢出问题:

int money=10_0000_0000;
int years=20;
long total=money*years;
    System.out.println(total);

这样会输出一个随机值,因为int*int=int,再由int向long转换,这样无法解决问题

解决方法:

int money=10_0000_0000;
int years=20;
long total=money*((long)years);
    System.out.println(total);

即:int*long的值再赋给一个long类型的变量

money=10_0000_0000;
int years=20;
long total=money*((long)years);
System.out.println(total);


即:int*long的值再赋给一个long类型的变量

















   

   

   



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值