Java的从浅至深绕坑而行的学习

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java的从浅至深绕坑而行的学习相关的知识,希望对你有一定的参考价值。

 1 package day02;
 2 /**
 3  * 1:java初学习,避免面试时一些HR挖的坑。
 4  * @author biexiansheng
 5  *
 6  */
 7 public class Test02 {
 8 
 9     public static void main(String[] args) {
10         // ctrl+shift+f自動排版
11         int a=120;
12         byte b=9;
13         b=(byte)(a+b);//需要强制类型转换
14         System.out.println("b="+b);
15         
16         System.out.println(‘a‘+1);
17         System.out.println(‘A‘+1);
18         System.out.println("hello"+‘a‘+1);
19         //任何数据类型加字符串等于字符串
20         System.out.println(‘a‘+1+"hello");
21         System.out.println("hello"+1+‘a‘);
22         
23     }
24 
25 }

运行结果:

b=-127
98
66
helloa1
98hello
hello1a

 1 package day02;
 2 
 3 /**
 4  * 1:java初学习,避免面试时一些HR挖的坑。
 5  * 
 6  * @author biexiansheng
 7  *
 8  */
 9 public class Test02 {
10 
11     public static void main(String[] args) {
12         // ctrl+shift+f自動排版
13         //b1,b2时两个变量,变量里面存储的值都是变化的,所以在程序运行中jvm是无法判断里面具体的值
14         //byte类型的变量在进行运算的时候,会自动转换为int类型
15         byte b1=3;
16         byte b2=4;                    //‘0‘--48 ‘a‘--97 ‘A‘--65
17         //byte b3=b1+b2;报错    
18         //byte b3=(byte)(b1+b2);ok
19         byte b4=3+4;
20         //byte short char ->int->long
21     
22     }
23 
24 }

 

 1 package day02;
 2 
 3 /**
 4  * 1:java初学习,避免面试时一些HR挖的坑。
 5  * 
 6  * @author biexiansheng
 7  *
 8  */
 9 public class Test02 {
10 
11     public static void main(String[] args) {
12         // ctrl+shift+f自動排版
13         System.out.println(10/3);
14         System.out.println(10/3.0);
15         System.out.println(10*3.0);
16         System.out.println("3+4="+3+4);
17         //+号代表第一加号,第二连接,第三代表正数。
18         int a=3;
19         System.out.println("a++="+(a++));//先输出再++
20         System.out.println("a="+a);//输出上面的++后面的值
21         System.out.println("++a="+(++a));
22         int b=3;
23         int c;
24         c=b++;//后++,先使用再++
25         //c=++b;先++,先++后使用
26         System.out.println("b="+b);
27         System.out.println("c="+c);
28         
29         
30     }
31 
32 }

 

 1 package day02;
 2 
 3 /**
 4  * 1:java初学习,避免面试时一些HR挖的坑。
 5  * 
 6  * @author biexiansheng
 7  *
 8  */
 9 public class Test02 {
10 
11     public static void main(String[] args) {
12         // ctrl+shift+f自動排版
13         int a = 4;
14         int b =(a++)+(++a)+(a+10);
15         //a 5 6  
16         //b 4+6+6+10
17         System.out.println("a="+a);
18         System.out.println("b="+b);
19         
20         
21         int c = 4;
22         int d = (--c)+(c--)+(c*10);
23         //c 3 2
24         //d 3+3+20
25         System.out.println("c="+c);
26         System.out.println("d="+d);
27         
28         
29     }
30 
31 }

答案:

a=6
b=26
c=2
d=26

 1 package day02;
 2 
 3 /**
 4  * 1:java初学习,避免面试时一些HR挖的坑。
 5  * 
 6  * @author biexiansheng
 7  *
 8  */
 9 public class Test02 {
10 
11     public static void main(String[] args) {
12         // ctrl+shift+f自動排版
13         byte a=3;
14         a++;
15         System.out.println("a="+a);//先使用再++
16         //System.out.println("a++="+(a++));
17         a=(byte)(a+1);//byte类型自动转换为int类型的,所以需要强制转换一下。
18         System.out.println("a="+a);
19         
20         short s=1;
21         s=(short)(s+1);
22         short s1=2;//这是坑,面试的坑
23         s1+=1;//<==>s1=(short)(s1+1);
24         
25     }
26 
27 }

 

 1 package day02;
 2 
 3 /**
 4  * 1:java初学习,避免面试时一些HR挖的坑。
 5  * 
 6  * @author biexiansheng
 7  *
 8  */
 9 public class Test02 {
10 
11     public static void main(String[] args) {
12         // ctrl+shift+f自動排版
13         int a=10;
14         int b=20;
15         int c=30;
16         System.out.println(a>b & a>c);//false false flase
17         System.out.println(a<b & a<c);//true true ture
18         System.out.println(a<b & a>c);//true false false
19         System.out.println(a>b & a<c);//false true flase
20         System.out.println("------------");
21         System.out.println(a>b | a>c);//false false false
22         System.out.println(a<b | a<c);//true true true
23         System.out.println(a>b | a<c);//false true true
24         System.out.println(a<b | a>c);//true false true
25         System.out.println("----------");
26         //相同为false,不同为true;逻辑异或
27         System.out.println(a>b ^ a>c);//false false false
28         System.out.println(a<b ^ a<c);//true true ture
29         System.out.println(a>b ^ a<c);//false true true
30         System.out.println(a<b ^ a>c);//true false true
31         System.out.println("------------");
32         System.out.println(!true);
33         System.out.println(!!true);
34         
35         
36     }
37 
38 }

 

 1 package day02;
 2 
 3 /**
 4  * 1:java初学习,避免面试时一些HR挖的坑。
 5  * 
 6  * @author biexiansheng
 7  *
 8  */
 9 public class Test02 {
10 
11     public static void main(String[] args) {
12         // ctrl+shift+f自動排版
13         //短路与&&,前错后不执行
14         //短路或||,前对后不执行
15         int x=3;
16         int y=4;
17         //System.out.println((x++)==3 && (++y==4));//前对后执行
18         //System.out.println((x++)==3 & (++y==4));//前对后执行
19         //System.out.println((++x)==3 && (++y==4));//前错后不执行
20         System.out.println((++x)==3 & (++y==4));//前错后不执行
21         System.out.println("x="+x);
22         System.out.println("y="+y);
23         
24     }
25 
26 }

 

以上是关于Java的从浅至深绕坑而行的学习的主要内容,如果未能解决你的问题,请参考以下文章

MySQL经典案例分析关于数据行溢出由浅至深的探讨

盘点一下20家互联网公司的面试总结

Java 网络IO编程总结(BIONIOAIO均含完整实例代码)

Java 网络IO编程总结(BIONIOAIO均含完整实例代码)

Caffe源码-Layer类

bio aio nio