1.不借助第三者实现两个变量值的交换。
package java_11_9;
import java.util.Scanner;
public class NumberSwap {
public static void main(String[] args) {
@SuppressWarnings("resource")
Scanner scanner = new Scanner(System.in);
System.out.print("请输入a的值:");
int a = scanner.nextInt();
System.out.print("请输入b的值:");
int b = scanner.nextInt();
System.out.println("执行变量交换...\t");
a = a ^ b;
b = b ^ a;
a = a ^ b;
System.out.println("a=" + a + "\nb=" + b);
}
}
2.获取浮点数的最大/最小值。
package java_11_9;
public class FloatDouble {
public static void main(String[] args) {
// 声明变量
float float_max = java.lang.Float.MAX_VALUE;
float float_min = java.lang.Float.MIN_VALUE;
double double_max = java.lang.Double.MAX_VALUE;
double double_min = java.lang.Double.MIN_VALUE;
// 输出变量
System.out.println("单精度浮点数的最大值为:" + float_max);
System.out.println("单精度浮点数的最小值为:" + float_min);
System.out.println("双精度浮点数的最大值为:" + double_max);
System.out.println("双精度浮点数的最小值为:" + double_min);
}
}
3.实现字母的大小写转换。
package java_11_9;
import java.util.Scanner;
public class TransformLetter {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请您输入一个英文字母:");
char s = scanner.next().charAt(0);
if (s >= 'A' && s <= 'Z') {
s += 32;
System.out.println(s);
} else if (s >= 'a' && s <= 'z') {
s -= 32;
System.out.println(s);
} else {
System.out.println("输入错误,请重新输入。");
}
scanner.close();
}
}
4.实现输入字符的加密和解密。
package java_11_9;
import java.util.Scanner;
public class Encryption {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个英文字符串或解密字符串:");
String password = scanner.nextLine();
char[] array = password.toCharArray();
for (int i = 0; i < array.length; i++) {
array[i] = (char) (array[i] ^ 2000);
}
System.out.println("解密或加密结果如下:");
System.out.println(new String(array));
scanner.close();
}
}
上面列举出来的题目中有几道运用了“^”这个符号,它的中文名称是:按位异或。想要详细了解它的话可以看看这个链接:
https://www.runoob.com/cprogramming/c-operators.html
5.三元运算符的运用。如下:
a=3;b=5;
a>b?a:b 解释:a大于b吗?大于的话输出a,否则输出b。
答案是:输出b。