变量:
变量:可以变化的量
//变量
int a = 1;
a = 2;
变量的范围:只在一个{}里面有效
public static void test3() {//a只在这个{}里面有效
//变量
int a = 1;
a = 2;
}
public static void test4() {
//a; //a不在这里有效
}
定义变量的格式:
//定义变量的格式
//数据类型 变量名 = 初始值
int helloWorld = 1;
helloWorld = 2;
\t 表示:tab键
\r\n表示:回车换行,一般一起使用
//'\t' //tab
// String z = "1\t2";
// System.out.println(z); //1 2 中间是一个tab键
//'\r\n' //回车换行
String x = "1\r\n2";
System.out.println(x);
/*
* 1
2
*/
数据类型
java中数据类型分为:
1)8大基本数据类型:int short byte char long float double boolean
2)引用类型:class interface 数组
整数默认是int类型的:
//1)整数默认是int ,不会是long
int a = 1; //4字节
long b = 1; //8字节
//int类型的1可以自动转为long类型的原因:
//低字节转高字节,没有精度损失,所以int可以直接自动转为long类型了
//2)低字节向高字节没有精度损失,但是高向低有损失
//但是int类型的1可以转为short类型,高向低有损失,为什么还能转?
//因为byte s = 1; 1在byte的-128-127中
short z = 3; //2字节 -63-77
byte s = 1;//-128-127
小数默认是double类型的:
//小数默认是double类型的
double x1 = 1.0;
//double转为float的方式:
float x2 = 1.0f;
//double 8字节
//float 4字节
char类型(0-6535):
char a='1';
// char ab='12';// 无效的字符常量 只能有一个字符占两个字节
//2) byte char short 都可以转为int
char x1 = '1';
int x2 = (int)x1;
//3)char的两种表示形式
char x3 = 'b'; //字符
char x4 = 98; //对应的是字符b对应的十进制数字
//4)char 与 int 的转换对应的是 字符 与 对应的数字的转换
char c = 'b';
System.out.println(c);//得到b
System.out.println((int)c); //得到98
类型转换
public static void test4() {
int a=1; 4
double b=2; 8
b= a+b; 低字节向高字节转 int-->double没有问题,同long,float}
// 1)自动类型转换:也叫隐式转换
byte b = 3; //1字节
int x = 4;//4字节
x = x + b; //byte转为int 低-->高 没问题,没有精度损失 可以自动进行,也可以手动进行
x = x + (int)b;
//
// 2)强制类型转换:显示类型转换
byte b = 3;
//b = b + 4; //byte + int = int ok, byte + int = byte //自动的
b = (byte)(b + 4);//高int强制转为低byte,有损失,不推荐