Java Day03

发布时间:2024年01月20日

1.变量

  • 变量本质上来说是内存中的一块空间,这块空间“有数据类型”,“有名字”,“有字面值”。
  • 变量类型:
    • 局部变量:在方法体内部
    • 成员变量:在方法体之外【类体之内】声明的变量叫做成员变量
  • Java遵循“就近原则”

数据类型

  • 基本数据类型:整数型(byte,short,int,long),浮点型(float.double),字符型(char),布尔型(boolean)
  • 默认值一切向0看齐
基本数据类型占用空间大小(单位:B)
byte1
short2
int4
long8
float4
double8
boolean1
char2
  • 字符编码:文字与二进制之间的对照关系
  • 最早出现的字符编码是ASCII编码
    • ‘a’ —>97(转换为二进制01100001);‘A’—>65
    • ‘0’—>48;
    • ‘a’–(按照ASCII解码)–>01100001
    • 01100001–(按照ASCII编码)–>‘a’
    • 当解码和编码采用的不是同一套对照表,会出现乱码
    • java语言源代码采用的是unicode编码方式,所以“标识符”可以用中文,比如 class 学生{},这样也是可以编译成功
    • JDK中自带的native2ascii.exe命令,可以将文字转换为unicode编码,即在命令行输入文字,会出现该文字对应的unicode编码形式的十六进制

字符型

  • 关于char类型的转移字符: 反斜杠 \
  • 转义字符出现在特殊字符之前,会将特殊字符转换成普通字符
  • \n:换行符;\t:制表符;\:普通反斜杠;‘:普通单引号‘;’\u~某个字符的编码’(例如:‘\u456a’是’?');

整数型

进制表示

  • 十进制:缺省的默认方式,19,30
  • 八进制:以0开始 ,019,030
  • 十六进制:以0x开始,0x19,0x30

转换

  • 小容量可以自动转换为大容量,可直接赋值
  • long x=2179274603;这种会溢出,因为java首先会自动将数字转化为int型,而这个数字超出Int表示的范围,正确做法long x=2179274603L;
  • 大容量需要强制类型转换为小容量类型,这样可能损失精度,慎用。
long x=89L;
int y=(int)x;//强转为int型
byte b=50;//编译通过,虽然50是int类型的字面值,但是50欸有超过byte表示的范围(-128~127)
byte c=128;//这种就会报错,已经超过范围了
文章来源:https://blog.csdn.net/qq_52396617/article/details/135672683
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。