第N次从零开始学Java笔记及思考_第一部分_基本语法(二)
二.Java的常量与变量
Java基础语法
一.变量与常量
- 标识符
- 变量
- 常量
- 关键字
- 数据类型
- 类型转换
标识符
1>标识符由大小写字母, 下划线, 数字, $符号组成.
2>开头可以是大小写字母, 下划线, 和$符号.(数字不能开头)
3>标识符长度没有限制
4>标识符不能是Java关键子和保留字 (eclipse里面紫颜色的字)
标识符的命名最好能反映出其作用 ,java语言对字母的大小写有严格的要求.所有自定义标识符需全部遵循标识符的命名规范.
命名规则
变量(驼峰法命名):
1>如果是单个单词, 单词全部字母小写. 如:intcount;
2>如果是由多个单词组成的复合单词, 除第一个单词外, 其后所有单词首字母大写. 如: codeName;
常量 :
常量所有单词字母大写, 如果是由多个单词组成, 由下划线连接.如:String PERSON_NAME;
包:
用小写的倒置域名来命名. 格式: 前缀 + 项目名 + 模块名 + 层如: org.itfuture.domain.sorts
(一个点一个文件夹)
类(Pascal命名规则):
类名的所有单词首字母均大写. 如Person{} , DataCenter{};
方法:
方法命名规范与变量相似, 如 count(); getSum();
关键字(50+) https://baike.baidu.com/item/java%E5%85%B3%E9%94%AE%E5%AD%97/5808816?fr=aladdin
保留字 详细 https://www.cnblogs.com/nancyzhang/p/8147526.html
变量:数据的临时存储(内存中) 见名知意 别用 pinyin 命名
变量三元素:
变量类型
变量名
变量值
命名规范好处:辨别 类名,方法名,常量名 利于代码阅读.
变量类型(数据类型):
1:java开发过程中整型用int、小数用double、布尔用boolean;
2:类型转换都是小范围向大范围转换,大范围往小范围转化需要用到强制转换;
例如:(1)int a=12;double b=a;(2)double a=3.0;int b=(int)a;
3:long,byte,char等很少用到,一般在数据处理的时候会用到;
4:int跟char之间的转换是通过ASCII转化的;
例如:char a ='A';int b=a;System.out.prientln(b);最后输出的结果为65;
5:String类型,String是项目中必不可少且使用最多的数据类型,它属于引用数据类型中“类”的范畴。
基本数据类型(1字节为 8 位):
变量值:
(字面值是常量的一种)
整形字面值:
Java中 三种 表示整数: 十进制 八进制 十六进制
123 (十进制),023(八进制),0X12,0x12(十六进制)
长整形(long int):
0x123L
0x123l
赋值:
使用 " = "运算符进行赋值
方法1:
int n;
n = 3;
方法2:
int n = 3;
int octal = 012; //定义int类型变量 存放八进制数据
long longNumber = 0X123abL; //定义变量存放十六进制长整形数据
short shortNumber = 123; //定义变量存放短整型数据
byte b = 10; //定义变量存放byte类型数据
浮点型字面值:
双精度浮点型:浮点型字面值默认为 double 类型,可以在值后面加 d 或 D
单精度浮点型: 字面值后面加 f 或 F
错误示范:float f = 123.456 因为float默认为double 范围大 ,转换可能出现精度损失
正确: float f = 123.456f
基本数据类型 变量的存储
* 类定义的 变量 叫 对象
内存中 有 栈 堆 常量池
主方法中的局部变量存储在栈当中
例如:
int n = 100;
1.栈中开辟 int 类型大小的空间(4字节32个二进制位)
2.把 100 这个整形字面值 存储到 开辟的空间中
3.把 n 看成 100 所在的内存空间的别名
4. n 代表 100 , 运算中 直接用 n 代表 100 运算
字符型字面值:
字符型字面值用单引号内的单个字符表示.
'a' 'b' '$' 单引号内只有一个字符
定义字符型变量
char a = ' a ';
char ch = 65;
输出:
a=a
ch=A
ASCII码 美国标准信息交换代码 等同于国际标准 ISO/IEC 646
详细:https://baike.baidu.com/item/ASCII
Unicode编码 目的是支持世界上所有字符集 详细:https://www.cnblogs.com/lwqhp/p/3175817.html
布尔型字面值
只能是 true 和 false
boolean b = true;
注意:字符串不是基本数据类型! 是类
字符串字面值(常量) 双引号引起来的 0 个或 多个字符
String s = ""; // 空字符串
System.out.println("s=" + s);
输出结果为
s=
输出如何换行
System.out.println();
System.out.println('\n');
字符串链接
System.out.println(""+x+'\t'); 一开始加空串 相当于 一开始就做字符串连接 运算结果为字符串连接
System.out.println(x+"\t"); 直接加双引号相当于字符串连接 运算结果为字符串连接
System.out.println(x+'\t'); 字符本来为整形 不加空串的话就会自动把字符型转换为整形运算 运算结果为整数
类型转化
- 自动类型转化
- 强制类型转化
自动类型转化:隐式类型转换
下图,箭头相反方向都需要强制类型转换
数据范围大的 转 数据范围小的 需要强制类型转化
double d = 123,4;
float f = (float)d;
常量
不能修改
java中把字面值也叫做常量,字面值 是 常量 和 变量 实际表示的数值.
final int = 5;
常量命名规则
一般使用大写命名常量
final double PI = 3.14; //一个单词大写
final double MIN_VALUE = 0; //两个单词用下划线