3.1 数据类型、变量与常量
3.1.1 Java数据类型划分
- 数据类型决定数据的存储方式和运算方式
- Java中的数据类型分为两大类
基本数据类型(primitive types)
引用类型( reference types )
两种类型的差别
- 基本类型: 变量在栈,在“这里”
- 引用类型: 变量引用到堆,在“那里”
double d = 3;
Person p = new Person();
- 赋值时
double d2 = d; 复制的是值
Person p2 = p; 复制的是引用
3.1.2 Java基本数据类型
- Java中定义了四类/八种基本数据类型
- 整数型---- byte, short, int, long
- 浮点数型---- float, double
- 逻辑型---- boolean
- 字符型---- char
逻辑型
- boolean类型适于逻辑运算,一般用于程序流程控制
- boolean类型数据只允许取值true或false
不可以0或非0的整数替代true和false
if(a=5)在java中是不允许的
- 用法举例:
boolean b = false;
if(b==true) {
//do something
}
字符型
- char型数据用来表示通常意义上“字符”
- 字符常量是用单引号括起来的单个字符
char c = 'A';
- Java字符采用Unicode编码,每个字符占两个字节,
可用十六进制编码形式表示
char c1 = '\u0061';
- Java语言中还允许使用转义字符'\'来将其后的字符转变为其它的含义
char c2 = '\n'; //代表换行符
转义符
- 转义字符含义
- \ddd 1到3位八进制数所表示的字符(ddd)
- \uxxxx 1到4位十六进制数所表示的字符(xxxx)
- \' 单引号字符
- \" 双引号字符
- \\ 反斜杠字符
- \r 回车
- \n 换行
- \f 走纸换页
- \t 横向跳格
- \b 退格
整数类型(1)
Java各整数类型有固定的表数范围和字段长度,而不受具体操作系统的影响,以保证Java程序的可移植性
整数类型(2)
- Java语言整型常量的三种表示形式:
十进制整数,如12, -314, 0。
八进制整数,要求以0开头,如012
十六进制数,要求0x或0X开头,如0x12
二进制数,以0b或0B开头,如0b00010010 (Java7以上)
- Java语言的整型常量默认为int型,如:
int i =3;
- 声明long型常量可以后加‘ l ’或‘ L ’ ,如:
long l = 3L;
- Java中没有“无符号数”
可以用long来处理无符号整数(uint)
浮点型(1)
- Java浮点类型有固定的表数范围和字段长度
浮点型(2)
- Java浮点类型常量有两种表示形式
十进制数形式,必须含有小数点,例如:
3.14 314.0 .314
Java7以上: 123_456.789_000 (千分位分割符用下划线表示)
科学记数法形式,如
3.14e2 3.14E2 314E2
- Java浮点型常量默认为double型,
如要声明一个常量为float型,则需在数字后面加f或F,如:
double d = 3.14;
float f = 3.14f;
3.1.3 变量声明和赋值
public class Test { public static void main (String args []) { boolean b = true; //声明boolean型变量并赋值 int x, y=8; // 声明int型变量 float f = 4.5f; // 声明float型变量并赋值 double d = 3.1415; //声明double型变量并赋值 char c; //声明char型变量 c = '\u0031'; //为char型变量赋值 x = 12; //为int型变量赋值 } }
标识符(Identifier)
- 名字就是标识符:任何一个变量、常量、方法、对象和类都需要有名字。
- 标识符要满足如下的规定:
(1)标识符可以由字母、数字和下划线(_)、美元符号($)组合而成;
(2)标识符必须以字母、下划线或美元符号开头,不能以数字开头。
- 标识符最好与其意义相符,以增加程序的可读性
- 应注意Java是大小写敏感的语言。
按Java惯例,类名首字母用大写(Pascal)
其余的(包名、方法名、变量名)首字母都小写(camel)
少用下划线
变量、常量随使用随定义
(本页内容摘自:https://www.icourse163.org/learn/PKU-1001941004?tid=1002731007#/learn/content?type=detail&id=1003758031&sm=1)
上一篇: 设计模式的C++实现—桥接模式
下一篇: 成为拍照达人必备知识:9种摄影构图法教程