原标题:程序员必知的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 表示浮点型返回搜狐,查看更多

责任编辑:

java 字符串转骆驼命名_程序员必知的Java基础:5条命名规范和8种数据类型归纳...相关推荐

  1. java类名遵从法_程序员必知的Java基础:5条命名规范和8种数据类型归纳

    一.Java命名规范 任何一种语言都有一套针对于语言自身的命名的规范,java也不例外.接下来,我就列举一下java对命名的规范. 下面重点来了,准备好了嘛? 1.代码中的命名均不能以下划线或美元符号 ...

  2. java vo命名规则_程序员必知的Java基础:5条命名规范和8种数据类型归纳

    一.Java命名规范 任何一种语言都有一套针对于语言自身的命名的规范,java也不例外.接下来,我就列举一下java对命名的规范. 下面重点来了,准备好了嘛? 1.代码中的命名均不能以下划线或美元符号 ...

  3. python从键盘输入列表有缺陷_程序员必知的Python陷阱与缺陷列表-阿里云开发者社区...

    代码看起来可以工作,但不是以你"想当然""的方式.如果一段代码直接出错,抛出了异常,我不认为这是陷阱.比如,Python程序员应该都遇到过的"UnboundLo ...

  4. git 获取最新代码_程序员必知:这是一份全面 amp; 详细的 Git与Github 介绍指南

    前言 如果你从事 互联网技术研发,那么你一定需要 了解 Git & Github 本文将采用 图 & 表的方式,向你全面介绍 Git 与 Github,包括其功能.应用场景 & ...

  5. 程序员必知的mysql插件_程序员必知的技术官网系列--mysql篇

    mysql 官网 https://www.mysql.com/ 官网布局很简单, 其中常用的两块就是下载和文档这两块, 其中下载没什么可讲的, 本次重点依旧是文档. 首页 mysql 文档导航页 ht ...

  6. 优先深度搜索判断曲线相交_程序员必知的十大基础实用算法之-DFS(深度优先搜索)...

    深度优先搜索 深度优先搜索是一种在开发爬虫早期使用较多的方法.它的目的是要达到被搜索结构的叶结点(即那些不包含任何超链的HTML文件) .在一个HTML文件中,当一个超链被选择后,被链接的HTML文件 ...

  7. socket同步和异步通信区别_程序员必知必会,同步通信与异步通信,你了解多少...

    我们常常说,分布式系统需要进行解耦操作,解耦操作最简单的就是把现有的系统拆出几个独立的模块,并把这些模块在不同的机器部署起来.虽然说,分布式系统更加健壮,但往往也引入其他问题,其中,最为麻烦的问题之一 ...

  8. java程序员基础算法_java程序员必知的十种程序算法

    <java程序员必知的十种程序算法>由会员分享,可在线阅读,更多相关<java程序员必知的十种程序算法(11页珍藏版)>请在人人文库网上搜索. 1.java程序员必学的十种程序 ...

  9. Python 程序员必知必会的开发者工具

    Python 程序员必知必会的开发者工具 Python已经演化出了一个广泛的生态系统,该生态系统能够让Python程序员的生活变得更加简单,减少他们重复造轮的工作.同样的理念也适用于工具开发者的工作, ...

最新文章

  1. Java的知识点28——文件编码、IO流的实例
  2. hadoop yarn 获取日志_在 YARN 中简化用户日志的管理和使用
  3. 非科班通过几个月的培训入行人工智能现实吗?
  4. 基于CDS view生成的OData服务的metadata是如何生成的
  5. MySQL的环境变量配置详细步骤
  6. 边缘计算助力云游戏成为5G时代的杀手级应用
  7. 原生js 基于canvas写一个简单的前端 截图工具
  8. android intent拍照,Android通过Intent方式调用相机拍照取得图片
  9. 大datatable 内存一直涨_听说你的爬虫一直在整站里循环绕圈圈爬取重复的数据?...
  10. 钛资本研究院:企业服务早期投资方法论
  11. Dataphin核心功能(四):安全——基于数据权限分类分级和敏感数据保护,保障企业数据安全
  12. 诺基亚 2060java_双卡切换无需关机 486元诺基亚2060评测
  13. QQ复读机java脚本怎么用_教你制作一个QQ复读机机器人【1】接收消息
  14. 站长号文库:什么是云存储?
  15. Qt QMenuBar QMenu和QAction
  16. MixMarvel行业分享专栏 韩国区块链市场观察:行业巨头布局区块链游戏领域
  17. 音乐多媒体播放的三种方式
  18. sinx的不定积分易错点
  19. B样条基函数的定义及系数的意义
  20. python50道练习题

热门文章

  1. android编译v8引擎,V8引擎 Android库构建
  2. 安全审计平台Wazuh架构及功能概览
  3. runwith注解为什么用不了_企鹅电竞首充6元礼包|企鹅体育为什么发言不了?企鹅体育为啥用WiFi不能看?...
  4. nrf52832概述
  5. 零基础CSS教程(一)
  6. 在ubuntu20.04环境下使用PCL踩坑记录
  7. 第三讲:如何使用群控系统在短视频平台营销
  8. 一个简单的宏病毒制作过程
  9. hive 上卷下钻聚合函数使用
  10. 撩男友c语言程序,可以撩到男朋友的甜甜情话 撩到男生心动的情话大全