Java - 2 变量

wxrwajiez / 2024-09-18 / 原文

Java - 2 变量

变量是程序的基本组成单位

变量的三个基本要素:类型+名称+值

声明变量 = 分配内存

先声明,后使用

变量在同一个作用域不可以重名

数据类型

  • 基本数据类型:数值型 /字符型(本质是整数) /布尔型
  • 引用数据类型:类(class) /接口(interface) /数组([ ])
/* 数值型 - 整数 */
    byte // 1 byte
    short // 2 bytes
    int age = 1; // 4 bytes √
    long a = 1L// 8 bytes
/* 数值型 - 浮点数 */
    float b = 88.9F // 4 bytes
    double score = 88.9; // 8 bytes √
/* 字符型 */
    char gender = '女'; // 2 bytes
	char d = '\t';
	char c = 97; //字符型可以存放一个整数,输出整数表示的字符,但不能保存int的变量值
/* 布尔型 */
	boolean pass = true; // 1 byte
    
String name = "Anna";

+ 作用:

运算从左到右

左右两边是数值型时,做加法运算;左右两边有一方为字符串,做拼接运算

System.out.println(100 + 3 + "hello"); // 103hello
System.out.println("hello" + 100 + 3); // hello1003
// char可以进行计算
System.out.println('a' + 10); // 107

使用注意

if(Math.abs(num1 - num2) < 0.000001) {
    
}   

字符编码表

ASCLL: 1 byte 表示,一共128个字符

Unicode: 2 bytes表示,字母和汉字统一占2 bytes,兼容ASCLL

utf-8: 大小可变的编码,1-6 bytes 表示一个符号,字母1 byte,汉字 3 bytes,使用最广泛

gbk: 表示汉字更广泛,字母1 byte,汉字 2 bytes

gb2312: gb2312 < gbk

big 5: 繁体中文

基本数据类型转换

自动类型转换

精度小的类型自动转换为精度大的类型

char --> int --> long --> float --> double

byte --> short --> int --> long --> float --> double

  • (byte, short) 和 char 不能自动转换
  • byte, short, char 参与运算时,都变成int
  • 把具体数赋给数据类型时,在范围内就可以

强制类型转换

int n1 = (int)1.9; // 精度损失
int n2 = 2000;
byte b1 = (byte)n2; // -48 数据溢出

强转符号只针对最近的操作数

int x = (int)(10*3.5+6*1.5);

基本数据类型和String的转换

基本数据类型 --> String

int n1 = 100;
float f1 = 1.1f;
boolean b = true;
String s1 = n1 + "";
String s2 = f1 + "";
String s3 = b + "";

String --> 基本数据类型

String s4 = "123";
int n1 = Integer.parseInt(s4);
float f1 = Float.parseFloat(s4);
boolean b = Boolean.parseBoolean("true");

字符串转成字符就是把字符串的第一个字符得到

System.out.println(s4.charAt(0));