一、Java数据类型
Java中各类型数据有固定的表数范围和字段长度,不受具体平台的影响,保证了Java具有可移植性.
1、整数类型
类型 | 存储空间 | 表数范围 |
---|---|---|
byte | 1字节 | -128 ~ 127 |
short | 2字节 | -215 ~ 215-1 |
int | 4字节 | -231 ~ 231-1(约21亿) |
long | 8字节 | -263 ~ 262-1 |
- 在Java中整形常量默认类型是int型,声明long型时需要在后面加"l" 或"L"
- Java程序中变量通常声明为int型,除非不足以表示较大的数时,才使用long类型
2、浮点类型
浮点类型有两种表现形式:
- 十进制数形式:如:3.14 314.0f .314(必须有小数点)
- 科学技术表现形式:3.14e2 314E2 500E-2
- float:单精度,尾数可以精确到7位有效数字。(在很多情况下,精确度难以满足要求)
- double:双精度,精度时float类型的两倍。
在Java中浮点类型默认为double类型,如果需要声明float类型的变量,须在后面加‘f’或‘F’
类型 | 存储空间 | 表数范围 |
---|---|---|
单精度 :float | 4字节 | -3.403E38 ~ 3.403E38 |
双精度: double | 8字节 | -1.798E308 ~ 1.798E308 |
2、字符型
char型数据用来表示通常意义上的字符(2字节),在Java中所有的字符都是用Unicode编码,所以一个祖父可以存储一个字母,一个汉字,或其他书面语的一个字符
字符变量的3中表现形式:
- 字符常量是用单引号(‘ ’)括起来的单个字符。例如:char c1 =‘a’; char c2 = ‘中’; char c3=‘9’;
- 使用转义字符 ‘\’ 来将其后面的字符转变为特殊字符型常量。例如:char c3 =’\n’😭"\n" 表示换行符)
- 直接使用Unicode值来表示字符型常量:’\uxxxx’。其中XXXX代表一个十六进制整数。如:\u000a表示\n
- char 类型是可以进行运算的。因为它都对应有Unicode码
转义字符 | 含义 |
---|---|
\b | 退格符 |
\n | 换行符 |
\r | 回车符 |
\t | 制表符 |
" | 双引号 |
’ | 单引号 |
\ | 反斜杠 |
二、变量声明
1.合法定义标识符
在Java中对各类变量,方法和类等要素命名时使用的字符序列统称为标识符。(凡是自己可以起名字的地方都叫标识符)
表示符的命名规则:
- 由26个英文字母大小写,0-9,_或&组成
- 数字不可以开头
- 不可以使用关键字和保留字,但能够包含关键字和保留字;
- Java中严格区分大小写(num和Num是两个不同的变量),长度无限制,标识符不能包含空格
Java中名称命名规范:
- 包名:多单词组成时,所有字母都小写:xxxyyyzzz
- 类名、接口名:多单词组成时,所有单词首字母大写:XxxYyyyZzzz
- 变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz
- 常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ
在起名字时,为了提高阅读性,起名要有意义:“见名知意”
2.变量的声明与赋值
变量的声明:
语法:数据类型 变量名
例:
byte b1; short s1; int num; long l1; char c1; float f1;
变量的赋值:
语法:变量名称 = 值;
例:
num= 10;
l1 = 10L;
f1 = 1.2f;
变量的声明和赋值也可以组合在一起:
例:
int num = 10;
long l1 = 100L;
float f1 = 1.2f;
char c1 = ‘a’;
变量使用时需要注意:
- Java中每个变量名要先声明后使用
- 使用变量名来访问这块区域的数据
- 变量名的作用域,其定义所在的一对{ }内
- 变量只有在其作用域内有效
- 在同一个作用域内不能定义重名的变量
3.基本数据类型间的转换
自动类型转换:容量小的类型自动转换为容量大的类型。数据类型按容量大小排序为(不是所占空间字节的大小):
- 有多种数据类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算
- byte、short、char之间不会进行相互转换,他们三者在计算时都转换为int类型
- boolean类型不能与其他数据类型进行运算
- 当把任何基本数据类型的值和字符串(String)进行连接运算时(+),基本数据类型的值都自动转化为字符串类型
字符串类型:String
String不是基本数据类型,属于引用数据类型,使用方式与基本数据类型一致。例如:String str = “hello china”;
一个字符串也可以串接另一个字符串,也可以直接串接其他数据类型数据。
String str1 = "hello ";
String str2 = "china"
int sum = 10;
int num2 = 30
Systrm.out.println(str1 + str2) ; //输出hello china
Systrm.out.println(str1 + sum); //输出 hello 10
Systrm.out.println(str1 + sum +sum2); //输出 hello 1030,不进行运算
练习
//判断对错
String str1 =4;
String str2 =3.14f +"";
//*********判断输出
System.out.println(str2);
System.out.println(3+6+"Hello!");
System.out.println('a' + 1+ "Hello!");
System.out.println("Hello!" +'a' +1);
//判断对错
String str1 =4; //错误
String str2 =3.14f +""; //正确
//*********判断输出
System.out.println(str2); //输出:"3.14"
System.out.println(3+6+"Hello!"); //输出:9Hello!
System.out.println('a' + 1+ "Hello!"); //输出:98Hello!
System.out.println("Hello!" +'a' +1); //输出:Hello!a1