代码书写规范
代码分段:当一个方法内部代码超过7行时,就要考虑分成段落-->使用空行分割代码(按照代码的功能进行分段)---->最终效果是一眼就能在宏观上把握代码结构
分形:整体结构和细节结构是相似的——>代码书写要遵循分形原则
Card示例:
在结构上,它和它的类相似
Class 类名1{
属性1;
属性2;
方法1(){
}
方法2(){
}
}
程序=输入+处理+输出
方法=输入(传参)+处理(方法内部代码)+输出(return)
任何编程语言都需要基本类型。
无论多么复杂的程序,无论多么复杂的类/对象,都是由基本类型组合而成的
基本数据类型详解
基本类型:
表示整数的基本类型:
byte 1字节(8位) -128~127
short 2字节(16位) -32768~32767
int 4字节(32位) -21亿~21亿
long 8字节(64位) -2∧63~2∧63
表示字符的基本类型:
char 2字节(16位) 0~65535
表示布尔值的基本类型:
boolean 1字节(8位) true、false
主要用来表示逻辑、主要与if/else配合使用
表示浮点数的基本类型:
float 4字节(32位) 精度较差
double 8字节(64位) 精度稍高一点
由于2进制限制,大多数小叔都只能保存近似值
使用float表示小数,误差很容易出现,通常进行精确计算时不要用float
比如计算钱
基本类型的存储空间是固定不变的。如果存储数据超过相应类型的字节数就会溢出,;溢出后结果是错误的。
基本类型都在当前计算机的字长范围内,也就是计算机的指令可以一次性处理它。
基本类型可以直接进cpu惊醒计算和暂存,没有必要时不会进内存,更不会进硬盘。
基本类型的处理速度是最快的。
基本类型通常都有配套的cpu指令。
Java赋值规则
兼容类型可以赋值
但字节变小时需要程序明确指出(所谓的强制类型转换)
变量类型 变量名 = (强转类型=前面变量类型)被转换变量名
Java字符串处理(String)
字符串不能保存在CPU中,运行时通常会保存在内存中。
保存在内存中的类型都是引用类型:
其数据在内存中
CPU中只是用一个地址(32为整数)来表示它在内存只能中的保存位置
字符串类型被设计成不可变的。
1.字符串在内存中是紧密存储的,后面没有空间供修改使用。修改字符串通常要开辟新空间(而老字符串没变)
2.即使字符串后面有空间,字符串移位也很慢。
3.不移位就要使用链表,而链表前后指针比字符数据大至少4倍,会导致空间暴增,而且读取字符性能差。
字符串的+拼接,每一次+都会产生新的字符串,内存消耗较大。尤其是在循环内部拼接字符串。
字符串格式化详解(拼接字符串不产生中间字符串)
String.format() 字符串格式化------------节约内存
%s 字符串,通用,通用机制
%c char
%n 换行(\n)
%d 整数
%05d 不足5位前面补0
% 5d 不足5位前面补空格
%-5d 不足5位后面补空格
%x 十六进制
%o 八进制
%f 浮点数,数字格式化
%,f 在数字中插入,
%.5f 保留5位小数
%e 指数
%% 输出一个百分数符号
%b bool,true
例:
特殊用法:
注意直接使用:System.out.printf("格式字符串", 值, 值…);
例:
运算符
% 取余
? : 三元运算符 例:
流程转向语句
continue 结束循环体中其后语句的执行,并跳回循环程序块的开头执行下一次循环