java的一些问题
Posted zhoudingzhao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java的一些问题相关的知识,希望对你有一定的参考价值。
1. 判断是否是奇数:
public static boolean isOdd(int i) { return i %2 != 0 ; }
2. System.out.println(2.0 - 1.1); 输出:0.89999999 99999999 (Double型的)
System.out.println(new BigDecimal("2.00").subtract(new BigDecimal("1.10"))); --输出 0.90 要加上引号,否则会有小数。
System.out.println(new BigDecimal("2.01").subtract(new BigDecimal("1.65"))); -- 输出 0.36
System.out.println(new BigDecimal(2.0).subtract(new BigDecimal(1.1))); -- 输出 0.899 99999999 99999111 82158029 98747676 61094665 52734375
System.out.printf("%.2f\n", 2.0-1.115); --输出:0.89
final long MICROS_PER_DAY = 24 * 60 * 60 * 1000 * 1000;
final long MILLIS_PER_DAY = 24 * 60 * 60 * 1000;
System.out.println(24 * 60 * 60 * 1000 * 1000); --- 输出: 500654080 , 当做了int型,导致越界。
System.out.println(24 * 60 * 60 * 1000 ); --- 输出: 86400000
System.out.println(MICROS_PER_DAY/MILLIS_PER_DAY); --- 输出 :5
对于长整型的计算,要加上L: System.out.println(24L * 60 * 60 * 1000 * 1000); --- 输出: 86400000 000
System.out.println("H" + "a"); 输出: Ha
System.out.println("H" + ‘a‘); Ha
System.out.println(‘H‘ + ‘a‘); 169
char[] numbers = {‘1‘,‘2‘,‘3‘};
System.out.println("a" + numbers); 输出:a[[email protected]
Prints a String and then terminate the line. This method behaves as though it invokes
and then print(String)
.println()
System.out.println(numbers); 输出:123
Prints an array of characters and then terminate the line. This method behaves as though it invokes
and then print(char[])
.println()
\u0022 是双引号的unicode编码。
System.out.println("a\u0022 + \u0022b ".length()); 相当于: System.out.println("a" + "b ".length()); , 输出 a2 。(b后面有一个空格)
System.out.println(Test.class.getName().replace(".","/")); 输出: com/Test
Replaces each substring of this string that matches the literal target sequence with the specified literal replacement sequence. The replacement proceeds from the beginning of the string to the end, for example, replacing "aa" with "b" in the string "aaa" will result in "ba" rather than "ab".
System.out.println(Test.class.getName().replaceAll(".","/")); 输出:////////
System.out.println(Test.class.getName().replaceAll("\\.","/")); 输出:com/Test
Replaces each substring of this string that matches the given regular expression with the given replacement.
An invocation of this method of the form str.replaceAll(regex, repl) yields exactly the same result as the expression
java.util.regex.Pattern
.compile
(regex).matcher
(str).replaceAll
(repl)
StringBuffer word = null;
word = new StringBuffer(‘P‘);
‘P’ 当做了int数。
Constructs a string buffer with no characters in it and the specified initial capacity.
- Parameters:
- capacity the initial capacity.
System.out.println(word); 输出换行
System.out.println(word.append("a")); 输出 a
int j = 0;
for(int i = 0; i < 100; i++){
j = j++;
System.out.println(j);
}
输出100 行 0 (j的值总是 0):
0
0
……
final int END=Integer.MAX_VALUE; //2147483647
final int START = END - 100;
int count = 0;
for(int i = START; i <= END; i++){
count++;
System.out.println(i); -- 死循环。 当 i 达到 2147483647 ,再增加会变成负数。
}
以上是关于java的一些问题的主要内容,如果未能解决你的问题,请参考以下文章
java.lang.IllegalStateException:键 f0 的片段不再存在:索引 1
java.util.MissingResourceException: Can't find bundle for base name init, locale zh_CN问题的处理(代码片段
LockSupport.java 中的 FIFO 互斥代码片段