Java面试宝典-1
来源:互联网 发布:sparkle mac 编辑:程序博客网 时间:2024/05/21 19:25
i++
package practice;/** * 先运行static 初始块 * 但是由于 int x=5;在代码块里属于局部变量运行完 x,y还是等于初始值0 * 再运行main x,y为static只有一份 * @author liu * */public class Test6 { static { intx=5; } static int x,y; public static void main(String[] args) {x--;myMethod();System.out.println(x + y++ +x);} public static void myMethod(){ y=x++ + ++x; }}
package practice;public class Test7 {public static void main(String[] args) {// TODO Auto-generated method stub int j=0; for(int i=0;i<100;i++){ j=j++; //j=++j;//结果为100 } System.out.println(j);//结果为0 /**j++相当于 *0 temp=j 0; *1 j=j+1 0+1; *0 j=temp 0; *因为Java用了中间缓存变量机制 */}}
package practice;public class Test8 { public static void main(String[] args) {int a=5,b=3;if(!(a==b)&&(a==1+b++)){}System.err.println(a+","+b);//5,4} }
package practice;public class Test9 { public static void main(String[] args) {int i=0;i=i++ + ++i;System.out.println("i:"+i);int j=0;j=j++ + ++j +j++ +j++;System.out.println("j:"+j);//0+2+2+3=7int k=0;k=k++ +k++ +k++ + ++k;System.out.println("k:"+k);//0+1+2+4;int h=0;h=++h + ++h;System.out.println("h:"+h);//1+2;int q1=0,q2=0 ;int p1 = 0,p2=0;q1=++p1;q2=p2++;System.out.println("q1:"+q1);//1System.out.println("q2:"+q2);//0System.out.println("p1:"+p1);//1System.out.println("p2:"+p2);//1}}
j:7
k:7
h:3
q1:1
q2:0
p1:1
p2:1
类型转换
package practice;public class Test10 { public static void main(String[] args) { //byte char short 同级别不能相互转换 可以强制转换 //低级向高级 会转换成对应的ASCLL码值char c='c';int i=c;System.out.println("output:"+i);short a=99; char b=(char)a;System.out.println("output:"+b);int d=99;byte e=(byte)i;char f=(char)d;//可能会导致精度下降System.out.println("output:"+e +" and " +f );float g=100.00f;Float F1 =new Float(g);Double d1=F1.doubleValue();System.out.println(d1);int j=034;int k=(int)056L;//int l=078;//一些编程语言中常常以数字0开始表明该数字是八进制int m=012;int n=101110;System.out.println(m);System.out.println(j);System.out.println(k);System.out.println(n);/** * ;由于 += 是Java语言规定的运算符,java编译器会对 * 它进行特殊处理也就是自动进行强制类型转换,因此可以正确编译。*/ short s=1;//s=s+1;出错s=(short) (s+1);short s2=1;s2+=1;}}
output:99
output:c
output:99 and c
100.0
10
28
46
101110
运算符
package practice;public class Test11 { public static void main(String[] args) { /**三目运算符 * s=a?b:c */int i=42;String str =(i<40)?"life":(i>50)?"universe":"everything";System.out.println(str);//boolean b=true?false:((true==true)?false:true);/**true==true?true:false;--》eclipse提示 dead code 参考博客 * : * http://blog.csdn.net/nokia_lc/article/details/53739701 * 这段代码就不会被执行到 */boolean b=true?false:true==true?true:false;System.out.println(b);System.out.println("-------------------------------");int a=5;System.out.println("value is :"+((a<5)?10.9:9));System.out.println("value is :"+((a<5)?10:9));System.out.println("value is :"+((a==5)?10:9.3));//java根据运算符精度类型进行了自动类型转换char x='x';int d=10;System.out.println(false?d:x);System.out.println(false?10:x);}}
everything
false
-------------------------------
value is :9.0
value is :9
value is :10.0
120
x
package practice;public class Test12 {public static void main(String[] args) {int m = 5, n = 5;if ((m != 5) && (n++ == 5)) {}System.out.println("a." + n);n = m = 5;if ((m != 5) & (n++ == 6)) {}System.out.println("b." + n);n = m = 5;if ((m == 5) || (n++ == 5)) {}System.out.println("c." + n);n = m = 5;if ((m == 5) && (n++ == 6)) {}System.out.println("d." + n);n = m = 5;int a = 1, b = 2;int c = a & b;System.out.println("a&b" + c);/** * &,| 非短路运算 * &&,||短路运算 * 位运算 * a的二进制 a 0 0 0 1 * b的二进制b 0 0 1 0 * a&b 0 0 0 0 * *///移位操作符右边的参数要进行模的32运算,并且移位是对二进制的操作//而二进制中8位是一个循环,所以,num>>32 等于num>>0,num>>33 等于num>>1int num =32;System.out.println(num>>32);//结果为32int num2 =33;System.out.println(num>>33);//结果为16}}异常:
http://blog.csdn.net/hguisu/article/details/6155636#
阅读全文
0 0
- Java 面试 宝典 (1)
- JAVA面试宝典1
- Java面试宝典-1
- java程序员面试宝典1
- java程序员面试宝典(1)
- Java程序员面试宝典1-10
- java 面试笔试宝典
- Java程序员面试宝典
- Java程序员面试宝典
- java面试宝典
- Java 面试 宝典 (2)
- java面试宝典
- java程序员面试宝典
- JAVA程序员面试宝典
- JAVA面试宝典
- Java程序员面试宝典
- java面试宝典
- java面试宝典
- 自旋锁,信号量,互斥量
- linux-系统基本结构
- 工作总结34 Tomcat7.0.79参数配置的问题
- shell字符串截取之cut命令
- react+redux(一)
- Java面试宝典-1
- mysql ini更改完保存时, 拒绝访问解决办法
- linux下除了rwx外的特殊权限
- python学习(7)——函数基础篇
- linux-常用命令和技巧
- Pycharm使用技巧:Ctrl + F5(重新运行)
- linux-服务器网络配置
- Java基础_1
- Python学习03 — 从11Game 爬取dota竞技场 TOP 100 用户名