最近才开通的博客~与大家一起分享之前总结的一些学习经验~~~Java陷阱小结
来源:互联网 发布:质量统计分析软件 编辑:程序博客网 时间:2024/05/16 13:45
之前学习一直都是自己做笔记 没有在网上发表任何内容 这次把自己以前学习碰到的值得收藏的内容拿出来与大家一起分享~
1、
求奇数 i%2 ==1 X
i%2 == 0
3、
浮点数相加减
2.2-1.1=0.9 X
双精度浮点小数不是一个确定值
可以使用bogdecimal("2.2").sub......
如果只用于输出 也可以使用pringtf("%.2f",2.2-1.1);
3、
长整形计算
float a=24*60*60*1000*1000;
float b=24*60*60*1000;
a/b=1000? X
在java中进行运算的 时候默认是int 型,溢出后再强转 数值已经变了
正确写法:
float a=24L*60*60*1000*1000;
4、
互换内容
int a=1000;
int b=2000;
y=(x^=(y^=x))^y;
5、
字符串和字符
"h"+"a" = "ha"
'h'+'a' = 201
6、
字符数组
直接打印 就是数组里面的内容 print()默认参数是 char[]
而进行字符串的拼接时 print( ) 参数则为 String
7、
转义字符
\u0022 是双引号的Unicode转义字符
System.out.println("a\u0022.length() +\u0022b".length());
System.out.println("a".length() +"b".length());
2
2
8、
打印输出类名
System.out.println(
MyClass.class.getName().
replaceAll(".","/") + ".class");
}
//////////.class
System.out.println(
MyClass.class.getName().
replaceAll(".","/") + ".class");
}
no8/MyClass.class
9、
随机数的问题
StringBufferword=null;
switch(rnd.nextInt(3)) {
case1: word=newStringBuffer("P");break;
case2: word=newStringBuffer("G");break;
default:word=newStringBuffer("M");
}
word.append('a');
word.append('i');
word.append('n');
System.out.println(word);
注意点:rnd.next(n); 是0-n 但是不取到n
switch 每次case 要break
stringBuffer 里面的参数和传入的值有关 int/string ...
10、
优柔寡断的返回值
publicstaticvoidmain(String[]args) {
System.out.println(decision());
}
publicstaticbooleandecision() {
try{
returntrue;
}finally{
returnfalse;
}
}
返回值:false 尽量避免在try catch 里面有返回
11、
无情的增量操作
intj= 0;
for(inti= 0;i< 100;i++){
j=j++; //j++ j=++j
}
System.out.println(j);
结果:0 j=j++; j=j ++ 只有自增 没有再次赋值
12、
整数的边界问题
publicstaticfinalintEND= Integer.MAX_VALUE;
publicstaticfinalintSTART=END- 100;
publicstaticvoidmain(String[]args) {
intcount= 0;
for(inti=START;i<END;i++)
count++;
System.out.println(count);
}
无限循环 整数有边界 但是类似于一个环 上届和下届“差1”
13、
计数器问题
intminutes= 0;
for(intms= 0;ms< 60*60*1000;ms++)
if(ms%(60*1000) == 0) //加括号 运算符优先级
minutes++;
System.out.println(minutes);
14、
你好 再见
try{
System.out.println("Hello world");
System.exit(0);
}finally{
System.out.println("Goodbye world");
}
finally 不一定会执行 程序中断之后 则不会执行
15、
到底关闭了么?
InputStreamin=null;
OutputStreamout=null;
try{
in=newFileInputStream(src);
out=newFileOutputStream(dest);
byte[]buf=newbyte[1024];
intn;
while((n=in.read(buf)) > 0)
out.write(buf, 0, n);
}finally{
if(in!=null)in.close(); //in.close 也可能抛异常 也要try
if(out!=null)out.close();
}
阅读全文
0 0
- 最近才开通的博客~与大家一起分享之前总结的一些学习经验~~~Java陷阱小结
- 今天开通博客,很高兴,愿意与大家一起分享
- 开通了csdn博客,与大家一起分享!
- 开通博客,和大家分享经验
- 开一个技术类的博客,与大家一起分享技术。(JAVA)
- 最近写的C++分数类,与大家一起学习
- 与大家分享一些Web Service的经验
- 今天开通了CSDN博客,希望能结识更多的朋友,大家一起学习交流!
- 首次开通博客,希望将自己的所学所感记录下来,大家一起学习交流
- 以前总结的JAVA学习之路与大家分享
- 最近学到一些linq和面向对象的经验分享给大家
- 大家能把自己学习的经验写到网上一起分享吗?
- 收录各种猥琐的Java笔试/面试题目(之前在某个人的博客里看到的,与大家分享一下吧!)
- 给大家分享一下最近开发遇到的一些坑
- 好东西大家分享: JAVA学习的一些重点
- 好东西大家分享: JAVA学习的一些重点
- 收集的一些JAVA面试题,与大家分享
- 最近在学JAVA,遇到一些Eclipse的问题,分享出来给大家
- eclipse安装svn插件
- HDU 6080 度度熊保护村庄(计算几何+最小环-Floyd)
- Java程序通过代理访问网络
- 验证哥德巴赫猜想
- Hadoop集群的各部分的默认端口
- 最近才开通的博客~与大家一起分享之前总结的一些学习经验~~~Java陷阱小结
- lintcode -- 房屋染色
- 递归、时间复杂度和空间复杂度
- Faster R-CNN教程
- 队列
- 将图片转成base64 绑定在img src属性里
- 学习maven的使用,看到一篇很实用的入门教程(菜鸟级入门)
- PAT 乙级 1003
- struts2的标签