2.Java 变量(变量入门、加号的使用、基本数据类型、引用数据类型)

时间:2024-10-25 17:22:37

一、变量入门

1、变量概述
  • 变量的三个基本要素:类型、名称、值
2、变量使用
  1. 先声明,声明并赋值
int a;
a = 1;
  1. 声明并赋值
int a = 1;
3、变量注意事项
  1. 变量表示内存中的一个存储区域,不同数据类型的变量,占用的空间大小不同

  2. 存储区域包含变量名和数据类型

  3. 变量必须先声明,后使用

  4. 存储区域的数据可以在同一数据类型范围不断变化

  5. 变量在同一作用域内不能重名


二、加号的使用

  1. 左右两边都是数值型时,做加法运算
1 + 1 = 2
  1. 左右两边只要有一边是字符型,做拼接运算
1 + "1" = "11"
1 + "" = "1"

三、数据类型

1、数据类型概述
  • Java 数据类型分为基本数据类型和引用数据类型
2、基本数据类型
(1)基本介绍
数据类型 说明 最小值 最大值 默认值
byte 1 个字节,8 位,有符号的 -2^7 2^7 - 1 0
short 2 个字节,16 位,有符号的 -2^15 2^15 - 1 0
int 4 个子节,32 位,有符号的 -2^31 2^31 - 1 0
long 8 个子节,64 位,有符号的 -2^63 2^63 - 1 0L
float 4 个子节,32 位 0.0F
double 8 个子节,64 位 0.0
char 2 个字节,16 位,存放单个字符 ‘u0000’ ‘uffff’ ‘u0000’
boolean 1 位,存放 true 或 false false
(2)整数类型细节
  1. Java 的整数类型常量默认为 int 类型

  2. 声明 long 类型常量须后加 l(小写)或 L(大写),推荐使用 L

long num1 = 10000l;
long num2 = 10000L;
(3)浮点类型细节
  1. Java 的浮点类型常量默认为 double 类型

  2. 声明 float 类型常量须后加 f(小写)或 F(大写),推荐使用 F

float num1 = 10000.0f;
float num2 = 10000.0F;
  1. 浮点数使用陷阱
double num = 8.1 / 3; // 不等于 2.7,结果是一个接近于 2.7 的浮点数
(4)字符类型细节
  1. 字符必须用单引号(‘’)包裹,双引号(“”)包裹表示 String 字符串
char c = "a"; // 报错
  1. char 本质是一个整数,是 Unicode 码对应的字符,可以直接给 char 赋一个整数

  2. char 类型可以进行运算,相当于使用对应 Unicode 码进行整数运算

(5)自动类型转换
  1. Java 程序在进行赋值或运算时,精度小的数据类型自动转换为精度大的数据类型

  2. 有多种类型的数据混合运算时,系统首先自动将所有数据转换成精度为其中最大的数据类型,再进行运算

  3. 把精度大的数据类型直接赋值给精度小的数据类型会报错,需要使用强制类型转换

  4. byte / short 和 char 类型之间不会相互自动转换

  5. byte、short、char 类型三者进行运算时精度提升为 int 类型

  6. boolean 类型不参与自动类型转换

  7. 自动提升原则:表达式结果的类型自动提升为操作数中精度最大的类型

(6)强制类型转换
  1. 自动类型转换的逆过程,将精度大的数据类型转换为精度小的数据类型,但可能造成精度降低或溢出,需要使用强制转换符(())
int i = (int)1.5;
  1. 强制转换符只针对最近的操作数有效

  2. char 类型可以保存 int 的常量值,但不能保存 int 的变量值,需要使用强制类型转换

(7)9、基本数据类型和 String 类型转换
  1. 基本数据类型转 String 类型
String str = 100 + "";
  1. String 类型转基本数据类型
// String 类型转 boolean 类型
boolean b = Boolean.parseBoolean("true");

// String 类型转 byte 类型
byte num1 = Byte.parseByte("123");

// String 类型转 short 类型
short num2 = Short.parseShort("123");

// String 类型转 int 类型
int num3 = Integer.parseInt("123");

// String 类型转 float 类型
float num4 = Float.parseFloat("123");

// String 类型转 double 类型
double num5 = Double.parseDouble("123");

// String 类型转 char 类型
char c = "123".charAt(0);
(8)基本数据类型和 String 类型转换细节
  • 在将 String 类型转换成基本数据类型时,要确保 String 类型能转换成有效的数据,格式不正确,会抛出异常
int num1 = Integer.parseInt("123"); // √
int num2 = Integer.parseInt("hello"); // ×
3、引用数据类型
  1. 类:class

  2. 接口:interface

  3. 数组:[]

  4. 枚举:enum

  5. 注解:Annotation