前言
- 这是课程的第二篇,基础篇结束,下一篇开始语句相关的内容(if,for,while,switch),所以命名为语句,以防有新读者所以我简述一下第一篇的前言。
- 这个Java急速学习课程适合有一定编程基础的人。它通过实际的代码例子来教Java,减少了理论讲解,使学习过程更直观,帮助你更快地掌握Java的核心技能。课程内容经过优化,力求简洁明了。同时,课程鼓励大家交流心得,提出更好的解决方案,以此来不断改进课程内容。
包含的知识
这段Java代码展示了多个基本编程概念和技术细节。下面是对这些知识点的总结:
自增自减运算符
- 类名 BasicZc0 遵循了大驼峰命名法(PascalCase)。
- ++ 和 –:前置和后置自增自减运算符的使用及区别。
- 后置自增 (a++):先使用当前值,再加 1。
- 前置自增 (++a):先加 1,再使用新值。
扩展赋值运算符
- printZC() 是一个静态方法,用于输出文本 “ZC”。
- sum(int a, int b) 是一个静态方法,接受两个整数参数,并返回它们的和。
- printLiteral() 方法展示了如何打印不同类型的字面量,如数字、布尔值、字符和字符串。
- printV() 方法演示了变量声明和初始化,以及不同类型的数据操作。
- div(int a, int b) 方法实现了一个简单的除法运算,并通过 return 关键字来提前退出方法。
强制类型转换
- 在扩展赋值运算符中,自动进行类型转换
- 示例:byte a1 = 10; byte a2 = 20; a1 += a2; 结果为 30。
三元运算符
- 用于条件判断并选择一个值。
- 示例:int max = a > b ? a : b; 找出较大值
方法重载的一个小示例(复习)
- print3(int a, int b) 和 print3(int a, int b, int c)。
短路逻辑运算符与非短路逻辑运算符
- && 和 ||:短路逻辑运算符,仅计算必要部分。
- 示例:a > 1000 && ++b > 1:左边为假则右边不执行。
- & 和 |:非短路逻辑运算符,始终计算两边。
- 示例:a > 1000 & ++b > 1:即使左边为假,右边也执行。
其他逻辑运算符
- !:取反操作。 ^:异或操作,相同为 false,不同为 true。
具体代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102
| package basic_0; public class BasicZc2 { public static void main(String[] args) { print0(10); System.out.println("============自增自减==========="); print1(10); System.out.println("==========强制类型转换=========="); print2(); System.out.println("===========三元运算符==========="); print3(10, 20); print3(10, 20, 30); System.out.println("===========短路逻辑符号=========="); print4(); } public static void print0(int a) { a++; ++a; System.out.println(a); a--; --a; System.out.println(a); } public static void print1(int a) { int b = a++; System.out.println("先用后加"); System.out.println(a); System.out.println(b); int c = ++a; System.out.println("先加后用"); System.out.println(a); System.out.println(c); } public static void print2() { System.out.println("运算符自带强制类型转换示例:"); int a = 10; a += 5; System.out.println(a); byte a1 = 10; byte a2 = 20; a1 += a2; System.out.println(a1); int b = 10; b *= 5; System.out.println(b); int c = 10; c /= 5; System.out.println(c); int d = 10; d %= 5; System.out.println(d); System.out.println("表达式的自动类型提升示例:"); } public static void print3(int a, int b) { int max = a > b ? a : b; System.out.println("较大值:" + max); } public static int print3(int a, int b, int c) { int max = a > b ? (a > c ? a : c) : (b > c ? b : c); System.out.println("较大值:" + max); return max; } public static void print4() { int a = 111; int b = 2; System.out.println(a > 1000 & ++b > 1); System.out.println(b); int i = 10; int j = 20; System.out.println(i > 6 | ++j > 1); System.out.println(j); System.out.println(!true); System.out.println(false ^ false); System.out.println(true ^ true); System.out.println(true ^ false); System.out.println(false ^ true); } }
|