java类名遵从法_程序员必知的Java基础:5条命名规范和8种数据类型归纳
一、Java命名规范
任何一种语言都有一套针对于语言自身的命名的规范,java也不例外。接下来,我就列举一下java对命名的规范。
下面重点来了,准备好了嘛?
1、代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。
反例:_name/$Object/name_/name$/Object$
2、代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。说明:正确的英文拼写和语法可以让阅读者易于理解,避免歧义。注意:即使纯拼音命名方式也要避免采用。正例:alibaba / taobao / youku / hangzhou 等国际通用的名称,可视同英文。
3、类名使用UpperCamelCase风格,必须遵从驼峰形式,但以下情形列外:DO / BO / DTO / VO / AO
正例:MarcoPolo / UserDO / XmlService / TcpUdpDeal
反例:marcoPolo / UserDo / XMLService / TCPUDPDeal
4、方法名、参数名、成员变量、局部变量都统一使用lowerCamelCase风格,必须遵从驼峰形式。
正例:localValue / getHttpMessage() / inputUserId
5、常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不需要嫌名字长。
正例:MAX_STOCK_COUNT
反例:MAX_COUNT
二、Java数据类型
Java中的数据类型,分为引用类型和基本数据类型。
基本类型又分为8种,今天为大家介绍这8种基本数据类型:
整型:byte,short,int,long
浮点型:float,double
字符型:char
Boolean型:boolean
基本数据类型
整数类型:
(byte,short,int,long)
1.使用时,只要在数值范围内,符合规则,其他并无大碍。
值得思考的是,合理使用数据类型,可以节约内存空间。
2.不同进制下,数字的表示方法。
10进制:50,100,-10
16进制:0x15,0X15均可
字符类型(char):
特殊意义符号表
Char占2个字节 16位
使用的时候注意,使用单引号时,
例如‘A’,则表示一个字符A
使用双引号时,
例如“A”,则表示只有一个A的字符串
布尔型(boolean):
Boolean占内存1位,也就是1/8个字符
通常用以做判断用途,
数值分别只有0和1,
也可以用false和true表示。
应注意的是,
false和null是不一样的。
浮点类型:
(float,double)
1.浮点型通常用以表示小数
float可以精确到小数点后7位
double可精确到小数点后14位
2.表示float的常量后面要加“f”
例如:float a=11.2f
否则会出错。
注意:在数学中0到1有无数个浮点数;而计算机是离散的,所以表示的时候有误差,
计算机用精度(小数点后几位来表示正确),比较浮点数时a==0.1是不合适的,
应该a-0.1==0;如果a是0.1,则即使有误差 a-0.1==0因为a和0.1都被表示为一个有误差的计算机二进制
1、类型转换
1)自动转换:byte-->short-->int-->long-->float-->double
注意:小可转大,大转小会失去精度
2)String转换成int或者double
int/Integer num = Integer.parseInt(String str);
double/Double num = Double.parseDouble(String str);
2、如何将整数 int 转换成字串 String
int a=9;
1) String s = String.valueOf(a);
这个方法是静态的,直接通过String调用,可以说是完美,只是平时不习惯这样写而已,
这样的实现避免了前面两个的不足和缺点。首先来看看他内部的实现机制:
public static String valueOf(Object obj){
return (obj==null) ? "null" : obj.toString()
};
在内部就是做了为空的判断的,所以就不会报出空指针异常。
从上面的源码可以很清晰的看出null值不用担心的理由。但是,这也恰恰给了我们隐患。
我们应当注意到,当object为null 时,String.valueOf(object)的值是字符串”null”,
而不是null!!!在使用过程中切记要注意。
2) String s = a.toString();
在这种使用方法中,因为java.lang.Object类里已有public方法.toString(),
所以对任何严格意义上的java对象都可以调用此方法。但在使用时要注意,
必须保证object不是null值,否则将抛出NullPointerException异常。采用这种方法时,
通常派生类会覆盖Object里的toString()方法。
3、double类型数据做加和操作时会丢失精度问题处理
/加法运算/
public static double add(double m1, double m2) {
BigDecimal p1 = new BigDecimal(Double.toString(m1));
BigDecimal p2 = new BigDecimal(Double.toString(m2));
return p1.add(p2).doubleValue();
}
/减法运算/
public static double sub(double m1, double m2) {
BigDecimal p1 = new BigDecimal(Double.toString(m1));
BigDecimal p2 = new BigDecimal(Double.toString(m2));
return p1.subtract(p2).doubleValue();
}
/乘法运算/
public static double mul(double m1, double m2) {
BigDecimal p1 = new BigDecimal(Double.toString(m1));
BigDecimal p2 = new BigDecimal(Double.toString(m2));
return p1.multiply(p2).doubleValue();
}
4、保留小数点后两位方法
方法一:
DecimalFormat df = new DecimalFormat("######0.00");
double d1 = 3.23456
df.format(d1);
#.00 表示两位小数 #.0000四位小数 以此类推...
方法二:
double d = 3.1415926;
String result = String.format("%.2f",d);
%s 字符串类型
%c 字符类型
%b 布尔类型
%d 整数类型(十进制)
%x 整数类型(十六进制)
%o 整数类型(八进制)
%f 浮点类型
%a 十六进制浮点类型
%e 指数类型
%g 通用浮点类型(f和e类型中较短的)
%h 散列码
%% 百分比类型
%n 换行符
%tx 日期与时间类型(x代表不同的日期与时间转换符
%.2f %. 表示 小数点前任意位数
2表示两位小数 格式后的结果为f 表示浮点型
欢迎加入 51软件测试大家庭,在这里你将获得【最新行业资讯】,【免费测试工具安装包】,【软件测试技术干货】,【面试求职技巧】... 51与你共同学习,一起成长!期待你的加入: QQ 群: 755431660
java类名遵从法_程序员必知的Java基础:5条命名规范和8种数据类型归纳相关推荐
- java 字符串转骆驼命名_程序员必知的Java基础:5条命名规范和8种数据类型归纳...
原标题:程序员必知的Java基础:5条命名规范和8种数据类型归纳 一.Java命名规范 任何一种语言都有一套针对于语言自身的命名的规范,java也不例外.接下来,我就列举一下java对命名的规范. 下 ...
- java vo命名规则_程序员必知的Java基础:5条命名规范和8种数据类型归纳
一.Java命名规范 任何一种语言都有一套针对于语言自身的命名的规范,java也不例外.接下来,我就列举一下java对命名的规范. 下面重点来了,准备好了嘛? 1.代码中的命名均不能以下划线或美元符号 ...
- java数据库的量级_程序员学Python还是Java?分析了8张图后得出这个结论
Java和Python两门语言都是目前非常热门的语言,可谓北乔峰南慕容,二者不分上下,棋逢对手.但是对于初学者来说,非常困惑,因为时间和精力有限,上手必须要先学一门,到底选那个好呢,今天3分钟带你透彻 ...
- python从键盘输入列表有缺陷_程序员必知的Python陷阱与缺陷列表-阿里云开发者社区...
代码看起来可以工作,但不是以你"想当然""的方式.如果一段代码直接出错,抛出了异常,我不认为这是陷阱.比如,Python程序员应该都遇到过的"UnboundLo ...
- git 获取最新代码_程序员必知:这是一份全面 amp; 详细的 Git与Github 介绍指南
前言 如果你从事 互联网技术研发,那么你一定需要 了解 Git & Github 本文将采用 图 & 表的方式,向你全面介绍 Git 与 Github,包括其功能.应用场景 & ...
- java生成和读取keystore_Java程序员必知:mybaties运行流程
1.SqlSessionFactoryBuilder接受SqlMapConfig.xml文件流,构建SqlSessionFactory对象 2.SqlSessionFactory读取SqlMapCon ...
- java占位符填充_程序员:深入理解Java虚拟机,对象的内存布局
在 HotSpot 虚拟机中,对象在内存中存储的布局分为 3 块区域:对象头 ( Header ) .实例数据 ( InstanceData ) 和对齐填充 (Padding) . 一.对象的内存布局 ...
- 程序员必知的mysql插件_程序员必知的技术官网系列--mysql篇
mysql 官网 https://www.mysql.com/ 官网布局很简单, 其中常用的两块就是下载和文档这两块, 其中下载没什么可讲的, 本次重点依旧是文档. 首页 mysql 文档导航页 ht ...
- 优先深度搜索判断曲线相交_程序员必知的十大基础实用算法之-DFS(深度优先搜索)...
深度优先搜索 深度优先搜索是一种在开发爬虫早期使用较多的方法.它的目的是要达到被搜索结构的叶结点(即那些不包含任何超链的HTML文件) .在一个HTML文件中,当一个超链被选择后,被链接的HTML文件 ...
最新文章
- 小白搞懂了GC全过程,全靠阿里专家12张图
- 4一20ma电流有源与无源区别_信号隔离安全栅与信号隔离器区别!
- vs2012使用64位IIS EXPRESS调试
- 2018年第九届省赛C/C++A组第4题——第几个幸运数
- Android 页面布局xd,Adobe XD强大的布局系列工具 助你事半功倍
- 使用枚举定义常量更好点儿
- 【C语言进阶深度学习记录】二十七 C语言中字符串的相等比较
- matlab暂态信号,MATLAB6在电力暂态波形仿真实现中的应用
- Visual C++ 设置适合自己的解决方案目录结构
- configparser模块简介
- 项目讨论:本地手机经销商怎样用移动站点开展本地营销?
- python动态人脸识别_python3.8动态人脸识别
- 机器学习 周志华-西瓜书 全文内容分享
- Alcor(安国)AU6387量产修复(u盘修复)
- 智能电视linux刷安卓,智能电视安卓盒子刷机ROOT成砖的解决办法
- 软考中级网络工程师怎么复习?
- java pdf 替换文字_itext替换pdf中的中文
- web前端开发工程师的三种级别,技术决定你能拿5K,还是15K,还是25K
- 如何做一个2D 横版过关类游戏
- EasyGBS主子码流都为H.265时,切换出现花屏如何解决?