编码规范与基本概念
1. 代码注释
单行注释 - “//”
int age; //声明int变量用于保存年龄信息
多行注释 - “/*...*/"
/* 程序名称: hello word
开发时间: 2017-10-14 */
2. 编码规范
可读性第一,效率第二
每条语句单独一行,一条命令以分号结束
声明变量时,每个变量单独占一行,局部变量声明同时初始化,以有利于注释
尽量在变量使用时前一行声明该变量
对于关键的地方多加注释
类名:使用名词,第一个单词字母大写,后续单词首字母大写
方法名:使用动词,第一个单词字母小写,后续单词首字母大写
变量:第一个单词首字母小写,后续单词首字母大写
常量:所有字母大写,多个单词用下划线分割
拼接:通常使用“userLastName”的方式而不是“user_last_name"
3. 标识符
1. 标识符不能是java保留关键字
2. 不可以用数字开头
3. 不可用空格断开
4. 不推荐用中文命名
int public;
int 300warrior;
int user name;
int 齐天大圣;
4. 变量
数据类型内存空间的名字为变量名;
数据类型内存空间的内容为变量值;
5. 常量
程序运行过程中一直不会改变的量为常量
基本数据类型
1. 整型
数据类型 | 字节 | 长度 | 取值范围 |
---|---|---|---|
byte | 1byte | 8bit | -128 ~ 127 |
short | 2byte | 16bit | -32768 ~ 32767 |
int | 4byte | 32bit | -2147483648 ~ 2147483647 |
long | 8byte | 64bit | -9223372036854775808 ~ |a|-1 |
//long型赋值时需要在整数后面加L或者l
long number;
long rum = -987654321L;
- 十进制: 日常使用数据形式;
- 八进制: 必须以"0"开头;
- 十六进制:必须以"0X"或者以"0x"开头;
int a=11;
int b=011;
int c=0x11;
2. 浮点类型
数据类型 | 字节 | 长度 | 取值范围 |
---|---|---|---|
float | 4byte | 32bit | 1.4E-45~3.4028235E38 |
double | 8byte | 64bit | 4.9E-324~1.7976931348623157E308 |
//使用float型小数必须在小数后面添加F或f;
float a = 13.23f;
//展示4.35*100的错误结果及给出解决方案:
public class DoubleUnAccuratel{
public static void main(String[] args){
double a=4.35*100;
System.out.println("a = "+a);
int b = (int)a;
//四舍五入法:
System.out.println("b = "+b);
System.out.println("a的四舍五入值="+Math.round(a)); }}
//展示浮点数比较产生的错误结果以及解决方案:
public class DoubleUnAccurate2{
public static void main(String[] args) {
double a=0.1;
double b=2.0-1.9;
System.out.println("a: "+a+"\nb: "+b);
System.out.println("a==b的结果:"+(a==b));
//最小数对比法:
/* Math.abs()取绝对值,1e-6为1*10的-6次方,为计算机中最小的数,若两个比较的数的差小于1e-6,即视为两个数相等 */
boolean bool = Math.abs(a-b)<(1e-6);
System.out.println("两个数的差小于最小值的结果:"+bool); }}
3. 字符类型
char类型
由于Unicode编码采用无符号编码,可以存储65536个字符(0x0000~0xffff),JAVA几乎可以处理所有国家的语言文字;
4. 转义字符
转义字符是一种特殊的字符变量,其以反斜杠"\"开头,后跟一个或多个字符。转义字符具有特定的含义,不同于字符的原有意义。
5. 布尔类型
关键字 boolean ,仅有 true 和 false 两个值。
布尔值只使用1bit,但由于java最小分配单元是1byte,所以一个布尔变量在内存中会分配一个字节。
true在内存中表示形式为:00000001;
false在内存中表示形式为:00000000;