Java语言基础
变量
- 变量的三要素
- 数据类型
- 变量名
- 变量值
注意: java强类型语言,要求变量的类型和值得类型要一致(匹配)。
- 变量声明
数据类型 变量名;
int age;
int money;
int height;
- 变量赋值
变量名 = 值
age = 90;
money = 100;
height = 180;
- 变量名命名规范
变量的命名规范,满足标识符的命名规范,首字母小写。
正例:age money username password housePrice carBrand
反例:Age Money
注意:java种局部变量必须先声明再赋值才能使用,否则编译报错。
变量定义的方式
- 先声明后赋值
int age ;
age = 100;
- 声明并赋值
int money = 998;
- 声明多个同类型的变量
int a=1,b=2,c=10;
Java 中的数据类型
java 是强类型语言,每个一个值具有一个特定的数据类型。java中分为8大基本数据类型和引用数据类型。
- 基本类型
- byte
- short
- int
- long
- float
- double
- char
- boolean
- 引用数据类型
- String
- 数组(后续…)
- 集合(后续…)
进制
进制是表示数据的一种方式,生活中使用的是10进制,计算机使用的是二进制。
- 十进制: 由 [0-9]十个数码组成,逢10进1。
- 二进制:由[0-1] 两个数码组成,逢2进1。
- 十六进制: 由[0-9 A B C D E F]。
- 八进制:由[0 - 7] 八个数码组成。
1 字节 = 8比特 1 byte = 8 bit 二进制中一个数码1或0就是一个bit
byte [ 01010101]
int [ 01010101 01010101 01010101 01010101 ]
long[ 01010101 01010101 01010101 0101010101010101 01010101 01010101 01010101 ]
对于一个数据类型来讲,所占字节越多,表示的范围就越大,精度更高。
8大基本数据类型
1. byte
byte age = 10; //正确
byte age1 = -200;//报错
byte age2 = 200;//报错
byte范围[ -128 127 ]
2. short
short num = 30000;
short范围 [ -32768 32767 ] , 实际开发中使用极少。
3. int
int money = 300000000;
int 范围 21亿多,实际开发中经常使用的类型。
4. long
long peoloeNum = 6500000000L;
整数字面量:默认类型为int,如果字面量的值超过了int范围编译报错.对long类型来说可以在字面量后追加 L 或 l ,告诉编译器这个类型是long
5. float
float price = 99.8f;
浮点数字面量:默认类型为double,对float类型来说可以在字面量后追加 F 或 f 告诉编译器这个类型是float
6. double
double price = 99.8;
实际开发中相比于float使用double 更多。
7.boolean
boolean isVip = true;
if( isVip ){
System.out.println("请欣赏大片");
}else{
System.out.println("试看6分钟");
}
只有 true 和 false 两种取值。用于描述 条件真(true) 假(false)
8. char
// 1. 标准赋值
char ch = 'a';
System.out.println(ch);
// 2. 使用ascii
char ch2 = 64;
System.out.println(ch2);
// 3. 使用Unicode编码
char ch3 = '\u5f6a';
System.out.println(ch3);
变量的综合使用
public static void main(String[] args ){
//定义品牌
String brand = "Huawei P40 pro";
//定义价格
double price = 4500.0;
price = 1000.0;
//定义重量
float weight = 200.5f;
//定义内存和存储空间
int ram = 8;
int rom = 128;
//定义颜色
char color = '粉';
//定义是否支持5G通信
boolean support5G = true;
//使用
System.out.println( "品牌:"+brand );
System.out.println( "价格:"+price+"RMB");
System.out.println( "总量:"+weight+"g");
System.out.println( "内存:"+ram+"GB");
System.out.println( "空间:"+rom+"GB");
System.out.println( "颜色:"+color);
System.out.println( "支持5G:"+support5G);
}
转义符
//有时候,有些符号不能直接输出,这时需要转义符。
char ch = '\''; // \' 表示一个单引号
String ch2 = "\""; // \" 表示一个双引号
String ch3 = "qq\tqqmusic"; // \t 表示制表符等价于键盘 tab
String ch4 = "qq\nqqmusic"; // \n 表示回车换行 等价于键盘回车
System.out.println(ch);
System.out.println(ch2);
System.out.println(ch3);
System.out.println(ch4);
结果:
'
"
qq qqmusic
qq
qqmusic
类型换行
- 自动类型提升
//自动类型提升(类型兼容,源类型小于目标类型)
byte m = 127;
int n = m;
System.out.println(n);
注意:不需要做任何干预,自动完成,安全。
- 强制类型换行
// 强制类型转换 A a = (A)b A:表示目标类型 b表示源类型变量
int s = 126;
byte b = (byte)s;
System.out.println(b);
// 小数强制转换整数 小数位截断
double price = 9.8;
int num = (int)price;
System.out.println(num); //输出 9 小数被截断了
注意: 需要手动转换,否则编译报错。不安全,可能会丢失精度。
- 总结
byte -> short -> int -> long -> float -> double
// 箭头右边类型的变量可以直接保存 左边类型的数据 ,为自动类型提升。
// 箭头左边类型的变量如果要保存右边的类型的数据,需要强制类型转换。
关键字