chapter3

chapter3

为什么需要变量

变量三要素 (类型 名称 值)

int a = 1; // 定义一个变量,类型 int 名称 a,值 1

变量的基本原理:

计算机->人 内存->大脑

变化的值

声明 赋值 int a; a = 60;

也可以一步到位

变量使用注意事项

  1. 表示内存中的存储区域(不同的变量,类型不同,占用的空间大小不同)比如int 4个字节,double 8个字节。
  2. 该区域有自己的名称和数据类型
  3. 先声明后使用
  4. 变量在同一类型中变化
  5. 变量在同一个作用域不能重名
  6. 变量三要素

程序中 +号的使用

  1. 左右是数值,加法运算
  2. 一方是字符串,做拼接运算

运算从左到右

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6E8GgUUX-1652493284119)(image-20220410131141590.png)]

数据类型

每一种数据都定义了明确的数据类型,在内存中分配了不同大小的内存空间(字节)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Mr4i5mvu-1652493284122)(image-20220410131502482.png)]

java数据类型分为两种,基本数据类型和引用数据类型

整数类型

byte n1 = 10;  n1 –> `10` 空间大小为 1 字节
short n2 = 10; n2 –> `10` 空间大小为 2 字节
int n3 = 10; n3 --> 10 空间大小为 4 字节
long n4 ......                  8

使用细节

  1. Java 有固定的范围和字段,不受操作系统的影响
  2. Java 的整形常量默认为int型,声明long后面需要加上“L”
  3. java 常声明为 int ,只要够用,不要声明为 long
  4. bit 是最小的存储单位 byte 3 和 short 3

byte 3;

0000 0011

short 3;

0000 0000 0000 0011

浮点类型

类型占用空间范围
float4字节
double8字节
  1. 浮点数=符号位+指数位+尾数位
  2. 浮点数全都是近似

使用细节

  1. 不受os影响

  2. Java 浮点型常量为double型,如果要声明为float,后面要加上F

  3. 浮点型变量有两种表示形式

    十进制 1.1 .23(小数点要保存)

    科学计数法 5.12e2, 5.12E-2

  4. 通常推荐使用double类型,因为比float更加精确

  5. 浮点数使用陷阱 2.7 8.1/3 计算机存储数据时有精度损失,当我们对运算结果是小数的进行相等判断的时候要小心,直接赋值得到的相等,就一定是相等

Java API 使用

  1. API

  2. Java 类的组织形式[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ixryDlww-1652493284123)(image-20220410140324773.png)]

  3. 举例说明如何使用 ArrayList 有哪些类

    包->类->方法

    直接搜索

字符类型

  • 基本介绍:表示单个字符,字符类型是char,两个字节,可以放汉字,多字符用String
  • 案例 ctrl+shift+D 复制到下一行 快捷键 删除当前行的快捷键 ctrl+shift+k

字符类型细节

  1. 字符常量用‘’括起来,不能用双引号括起来
  2. Java中允许使用转义字符
  3. 在java中,char的本质是一个整数,输出时,是unicode编码 类型转换用(int) 而不是 int()
  4. 可以给char赋整数,会输出字符,char可以参加运算,相当于一个整数
  • 字符类型本质讨论
    1. 字符型存储到计算机中,需要找到对应的码值找出来,存储二进制
    2. 字符和码值的对应关系是通过字符表码表决定好的
      • 字符编码表 [sublime 测试]
        • ASCII 一个字节表示 128个字符,只用了非负数,美国制定的一套编码规则,对英语字符与二进制之间的关系,做了统一制定,被称为ASCII码
        • unicode 编码 字母和汉字统一都是占用两个字节,但是非常浪费空间,使用unicode不会出现乱码问题
        • utf-8 在unicode 上优化,字母使用1个字节,汉字使用3个字节。可以使用1-6个字节表示一个符号
        • gbk 字母用一个字节 汉字两个字节
        • gb2312 < gbk
        • big5 可以存储繁体字

布尔类型

  • 基本介绍
    1. boolean类型,只有true和false
    2. 占一个字节
    3. 逻辑运算
  • 使用细节
    • 不可以用0或非0代替true或者false

基本数据类型转化

  • 自动类型转换

    • 当进行赋值或者运算的时候,精度小的类型自动转换成精度大的数据类型,这就是自动类型转换。低精度向高精度转换不会出现问题[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bvWJd17f-1652493284126)(image-20220410144924287.png)]
  • 自动类型转换注意和细节

    1. 有多种类型混合运算时,会将所有先转换成容量最大的数据类型
    2. 把精度大的赋值给进度小的数据类型的时候,就会报错
    3. (byte, short) 和 char 不会相互转换
    4. byte,short, char三者可以计算,计算时首先转换为int类型(相同类型计算也会变成int)
    5. boolean 不参与转换
    6. 自动提升原则
  • 强制数据转换

    • 细节
      1. 从大精度到小精度
      2. 强制类型转换只对最近的有效,小括号提升优先级
      3. char类型可以保存int的常量值,但是不能保存int的变量值
      4. byte和short在运算的时候,当作int类型处理
  • 基本数据类型和String类型的转换

    • 基本类型变String “” + 基本数据类型
    • String转基本数据类型 调用parseXX方法就可以了
      1. 确保字符串能够转换,例如转成一个整数
      2. 异常处理
    • 字符串转成字符 含义时取出字符串的第一个字符 charAt() 方法
  • Homework

    • 加号后面可以换行

本章小结

  1. 为什么需要变量
    1. 三要素
    2. 简单示意图
  2. 变量的介绍
    1. 使用的基本步骤
  3. 快速入门
  4. 变量使用的注意事项
    1. 空间大小
    2. 区域名称
    3. 先声明后使用
    4. 数据的值可以在一个范围内变化
    5. 变量在同一个作用域不能重名
  5. 程序中加号的使用
    1. 两边都是数
    2. 有一边是字符串
  6. 数据类型
    1. 基本数据类型 8 大
    2. 引用数据类型
  7. API使用
    1. 如何管理JDK中的类
  8. char
    1. 字符编码
  9. 布尔数据类型
    1. 基本数据类型转换
      1. 自动类型转换
      2. 强制类型转换 注意精度降低或者溢出
        1. 强转细节
    2. 基本数据类型和String类型的转换
      1. “” + 基本数据类型
      2. parseXX
        1. 确保能转换
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值