标签:语句块 引用数据类型 lse character integer 运算 标准 汉字 import
public static final int STATICVARS = 4;
const
是java的保留关键字,目前并没有被使用;public
,那么其他类方法也可以使用这个常量;数据类型分为基本数据类型和引用数据类型
也就是 整型
0b
或0B
开头。如:0b01110101
char 型使用的是 unicode 字符集
char a = ‘A‘
char a = ‘\u0061‘
代表字符 a ;\u0000
-> \uffff
来表示除了 unicode 之外的编码;如 \u2122
表示注册符号 ? ; \u01C0
表示 π;char a = ‘a‘;
System.out.println(a);
// 两种类型转换的方法 System.out.println(0+a); System.out.println((int)a);
// 输出
a
97
97
转义字符 | 含义 | unicode值 |
---|---|---|
\b | 退格 | \u0008 |
\n | 换行 | \u000a |
\r | 回车 | \u000d |
\t | 制表符 | \u0009 |
" | 双引号 | \u0022 |
‘ | 单引号 | \u0027 |
\ | 反斜杠 | \u005c |
System.out.println(‘a‘ + ‘b‘)
System.out.println("" + ‘a‘ + ‘b‘);
// 返回
195
ab
只有两个值:true false; 写代码时以下写法要注意:
boolean flag = true;
if (flag == true) { //我们不使用这种写法
System.out.println("true");
}
//标准写法
if (flag) {
System.out.println("true");
}
这是因为 java 语言中的整形常数默认为 int 型,所以声明 long 型常量在后面加上 " L ";
如:long temp = 9876543210L
; 这个数据显然超过了 int 型的范围(约21亿),这是就需要加上 " L ",否则会出现编译错误;
这是因为 java 语言中的浮点形常数默认为 double 型,所以声明 double 型常量在后面加上 " F ";
如:float temp = 3.14F
; 如果没有这个 F
就会出现编译错误。
浮点数不适合在不允许舍入误差的金融计算领域;
如果需要进行不产生摄入误差的精确数字计算,需要使用 java.math
类下的 BigDecimal
或 BigInteger
。
BigInteger
实现了任意精度的整数运算;
BigDecimal
实现了任意精度的浮点运算。
Double.isNaN(x)
来检查 x 是否为数值;import java.math.BigDecimal;
/**
* 浮点数的相关操作
* Author: Eric Pan
* Date: 2019.7.18
*/
public class DataType {
/**
* 浮点数是不能用于比较的;
* 每次得到的结果可能不同;
*/
public static void floatCharacter() {
float d1 = 0.1f;
double d2 = 1.0/10;
float d3 = 423432423f;
float d4 = d1 + 1;
System.out.printf("d1和d2的比较结果是 %s\n", d1 == d2);
System.out.printf("d3和d4的比较结果是 %s\n", d3 == d4);
}
/**
* 使用 BigDecimal 来比较浮点数
*/
public static void floatComparison() {
BigDecimal bdDecimal = BigDecimal.valueOf(1.0);
// 使用 BigDecimal 方法减5次0.1;
for (int i=0; i<5; i++)
bdDecimal = bdDecimal.subtract(BigDecimal.valueOf(0.1));
System.out.println(bdDecimal);
System.out.println(1.0-0.1-0.1-0.1-0.1-0.1);
// 比较要使用 .equals() 方法
BigDecimal bd1 = BigDecimal.valueOf(0.1);
BigDecimal bd2 = BigDecimal.valueOf(1.0/10);
System.out.println(bd1.equals(bd2));
}
public static void main (String[] args) {
floatCharacter();
floatComparison();
}
}
// 返回
d1和d2的比较结果是 false
d3和d4的比较结果是 false
0.5
0.5000000000000001
true
标签:语句块 引用数据类型 lse character integer 运算 标准 汉字 import
原文地址:https://www.cnblogs.com/rongyupan/p/12670448.html