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

栏目: Java · 发布时间: 6年前

内容简介:一、Java命名规范任何一种语言都有一套针对于语言自身的命名的规范,java也不例外。接下来,我就列举一下java对命名的规范。下面重点来了,准备好了嘛?

一、 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基础:5条命名规范和8种数据类型归纳

二、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对象都可以调用此方法。但在使用时要注意,

必须保证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


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Web Security Testing Cookbook

Web Security Testing Cookbook

Paco Hope、Ben Walther / O'Reilly Media / 2008-10-24 / USD 39.99

Among the tests you perform on web applications, security testing is perhaps the most important, yet it's often the most neglected. The recipes in the Web Security Testing Cookbook demonstrate how dev......一起来看看 《Web Security Testing Cookbook》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

URL 编码/解码
URL 编码/解码

URL 编码/解码

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具