Java 学习记录
11/05/24
三元运算符
a > b ? a : b
Scanner sc = new Scanner(System.in);
System.out.print("Enter a number: ");
int num1 = sc.nextInt();
System.out.print("Enter a number: ");
int num2 = sc.nextInt();
System.out.println(num1 > num2 ? num1 : num2);
当需要三个及以上的数使用三元运算时,可以 加入一个temp
临时变量来存储一个数,继续使用三元运算计算。
循环
回文数
// 核心思路,将数字倒过来与之前的数字进行比较
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter a number: ");
int x = sc.nextInt();
int temp = x;
int num = 0;
while (x != 0) {
int ge = x % 10;
x = x / 10;
num = num * 10 + ge;
}
System.out.println(num);
System.out.println(x);
System.out.println(num == temp);
}
- 初始时,
x = 123
,reversedNum = 0
。 - 第一次循环:
ge = 123 % 10 = 3
,reversedNum = 0 * 10 + 3 = 3
。x = 123 / 10 = 12
。
- 第二次循环:
ge = 12 % 10 = 2
,reversedNum = 3 * 10 + 2 = 32
。x = 12 / 10 = 1
。
- 第三次循环:
ge = 1 % 10 = 1
,reversedNum = 32 * 10 + 1 = 321
。x = 1 / 10 = 0
,循环结束。
最终,reversedNum = 321
,这就是数字 123
的反转结果。
选择 for 还是 while
for:知道循环次数或者循环的范围
while:不知道循环的次数和范围,只知道循环的结束条件