preview: Java中的常量和变量的定义及使用;标识符、关键字、字面值、数据类型等。
——————————————————
标识(zhi)符 identifier 如:类名
不能用数字开头,可包含字母、数字、下划线_ 和 $
区分大小写
不能为关键字和保留字(大小写不同允许)
命名最好有意义
——————————————————
变量:程序中数据的临时存放场所(具体:内存)
包括:变量类型、变量名、变量值
变量名:
满足标识符的命名规则
符合驼峰法命名规范(studentName)
命名简单,见名知意
长度无限制
类名命名规则:每个单词首字母全部大写
——————————————————
数据类型(变量类型)
包括:基本数据类型、引用数据类型
引用数据类型:类(class)、接口(interface)、数组(array)
基本数据类型:
-数值型
--整型(byte, short, int, long)
--浮点型(float, double)
-字符型(char)
-布尔型(boolean)
——————————————————
基本数据类型
byte 字节型 1字节
short 短整型 2字节
int 整型 4字节
long 长整型 8字节
float 单精度浮点数 4字节
double 双精度浮点数 8字节
char 字符型 2字节
boolean 布尔型(true/false) 1字节
——————————————————
变量值 / 字面值
十进制、八进制、十六进制、二进制
八进制以0开头
十六进制以0x / 0X开头
0x1ff62acL(长整型十六进制)
变量声明:
"数据类型"+" "+"变量名"+";"
int age;
变量赋值
将右边的值赋给左边的变量
int n;
n = 3;
或 int n = 3; ——变量的初始化
——————————————————
浮点数的字面值
默认为double类型,可在后面加D/d:123.456d, 123.456, 123.456D
float类型:152.22f或152.22F
float f = 1.23 这样是错误的
将一个范围小的变量值赋给范围大的变量类型是可以的。double是范围最大的,超过long类型
——————————————————
基本数据类型变量的存储
类定义的变量叫对象
类级、对象实例级、方法级、块级
方法级变量:局部变量
内存:堆,栈,常量池
在主方法中定义的变量(局部变量)存储在栈中
int n = 100;
在栈中开辟一个4字节的空间,指针n指向该地址,将value 100存入其中
——————————————————
字符型字面值char
字符型字面值用单引号内的单个字符表示,如:'a', 'b', '$'...只能有一个
char a = 'a';
char ch = 65; ASCII中65位为A
ASCII:American Standard Code for Information Interchange,美国标准信息交换代码
7位二进制——标准ASCII码
8位二进制——扩展ASCII码
A~Z:65-90
a~z:97-122
——————————————————
unicode编码/万国语,可以支持所有语言
ASCII码不能支持所有字符
unicode可以
表示方法:"\u"+四位十六进制代码
——————————————————
布尔类型字面值:
true 与 false
boolean b = false;
字符串字面值:
用双引号,不是单引号
不属于基本数据类型,是一个类
字面值可以为空:String s = "";
空格也是一个字符
——————————————————
int x = 0, y = 0, z; 是合法的
System.out.print(); 是不换行的
转义字符:
\uxxxx unicode
\' 单引号
\" 双引号
\\ 反斜杠
JAVA中可以用中文做变量名和char变量值
用科学计数法表示浮点数:
double d = 1.23E5;表示1.23×10^5
double d1 = .2; -> d1 = 0.2;
——————————————————
数据类型转换:自动/强制
自动类型转换顺序(隐式类型转换):
实线:可以实现完全转换
虚线:可能造成精度丢失
强制类型转换:
变量类型 变量名1 = (变量类型)变量名2或变量值
容易造成数据丢失
——————————————————
常量, 命名规则:大写字母
final int N= 5;
不能变化的量