Java|学习打卡-变量与运算符(上)-03

目录

一、关键字与保留字

二、标识符

三、变量

四、数据类型

基本数据类型的运算规则:不包括boolean

问题:

String类型:""

进制与进制之间的转换(了解)


一、关键字与保留字


二、标识符

命名规则:

  • a~z A~Z 0~9 _ $
  • 不能数字开头
  • 不能关键字、保留字
  • 严格区分大小写
  • 不能包含空格

如果不遵守,编译不通过,编译报错。。。


命名规范:

  • 包名:都小写xxyyzz
  • 类名、接口名:XxxYyyZzz
  • 变量名、方法名:xxxYyyZzz
  • 常量名:XXX_YYY_ZZZ

尽量“见名知意”

不遵守编译可以通过,建议这样,约定俗成。。。


三、变量

必须包含:变量类型、变量名xxxYyyZzz、存储的值

定义变量的格式:数据类型 变量名 = 变量值;

两步:1.声明什么数据类型 2.赋值

变量必须先声明后使用。没声明直接使用编译报错,不可以在同一个作用域内重复定义同名变量编译报错,在不同作用域使用变量编译报错。


四、数据类型

基本数据类型(8种):整型 byte(2字节)-128~127 \ short(2字节) \ int(4字节) \ long(8字节)必须以”l或者L“结尾

浮点型float(4字节)必须以”f或者F“结尾 \ double

字符型char (1字符=2字节)

'' 必须只能写一字符,不能为' ','A'、'1'、'坤',如果写'AB'编译不通过编译报错,写' '编译报错。

布尔型boolean 只能取两者之一:true false

引用数据类型:类class

接口interface

数组[]

字符串String


基本数据类型的运算规则:不包括boolean

1.自动类型提升:byte、char、short-->int-->long-->float-->double

结果自动小向大提升,特别地byte、char、short之间的运算结果是int

2.强制类型转换:自动类型提升的逆运算


问题:

long l=123;不是说long类型必须以”l或者L“结尾吗,为什么可以编译通过?

答:默认123为 int 型,long l = 123,就是 自动类型提升 转换为long 型,可以编译通过。如果 long l1 = 122222222222;这时的整数过大,就会编译报错,必须要以”l或者L“结尾。

float f = 12.3;//编译失败,为什么long可以,float失败了,必须要加必须以”f或者F“结尾?

答:12.3默认为 double 型,所以自动类型提升失败了。可以写为float = (float)12.3;就可以了。或者老实写 float f = 12.3F; 。

为什么下面这两个编译失败?

byte b = 12;

byte b1 = b +1 ;//编译失败

float f = b + 12.3;//编译失败

答:整型常量默认类型为 int 型。浮点型常量,默认为 double 型。不符合自动类型提升,第一个 1 默认为 int 型,相加后 b1 为 int 型;第二个 12.3 默认为 double 型,相加后 f 为 double 型。


String类型:""

引用数据类型,不是基本数据类型。

声明String类型变量时,使用一对""。

可以和8种基本数据类型变量做运算,且运算只能是:连接运算:+。

运算的结果都是String类型。

String = 123;//编译错误,因为String必须使用 ""


进制与进制之间的转换(了解)

  • 二进制binary:0 1,以0b或者0B开头

最高位为符号位1为负数0为正数。正数的原码、反码、补码都一样,负数原码除符号取反->反码,反码加1->补码。

  • 十进制decimal:0~9
  • 八进制octal:0~7,以数字0开头
  • 十六进制hex:0~9~A~F,以0x或者0X开头

计算机底层都是以补码存储。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值