java语言基础
输出错误信息与调试信息
package com;
public class Msj {
public static void main(String[] args) {
System.out.println("main()方法开始运行了。");
// 输出错误信息
System.err.println("在运行期间手动输出一个错误信息:");
System.err.println("\t该软件没有买保险,请注意安全");
System.out.println("PrintErrorAndDebug.main()");
System.out.println("main()方法运行结束。");
}
}
结果:
从控制台接收输入字符
package com;
import java.util.Scanner;
public class Msj {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);// 创建输入流扫描器
System.out.println("请输入你的身份证号:");// 提示用户输入
String line = scanner.nextLine();// 获取用户输入的一行文本
// 打印对输入文本的描述
System.out.println("原来你身份证号是" + line.length() + "位数字的啊");
}
}
结果:
重定向输出流实现程序日志
package com;
import java.io.FileNotFoundException;
import java.io.PrintStream;
import java.util.Scanner;
public class Msj {
public static void main(String[] args) {
try {
PrintStream out = System.out;// 保存原输出流
PrintStream ps=new PrintStream("./log.txt");// 创建文件输出流
System.setOut(ps);// 设置使用新的输出流
int age=18;// 定义整形变量
System.out.println("年龄变量成功定义,初始值为18");
String sex="女";// 定义字符串变量
System.out.println("性别变量成功定义,初始值为女");
// 整合两个变量
String info="这是个"+sex+"孩子,应该有"+age+"岁了。";
System.out.println("整合两个变量为info字符串变量,其结果是:"+info);
System.setOut(out);// 恢复原有输出流
System.out.println("程序运行完毕,请查看日志文件。");
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
结果:
自动类型转换与强制类型转换
package com;
public class Msj {
public static void main(String[] args) {
byte b = 127;
char c = 'W';
short s = 23561;
int i = 3333;
long l = 400000L;
float f = 3.14159F;
double d = 54.523;
// 低类型向高类型自动转换
System.out.println("累加byte等于:" + b);
System.out.println("累加char等于:" + (b + c));
System.out.println("累加short等于:" + (b + c + s));
System.out.println("累加int等于:" + (b + c + s + i));
System.out.println("累加long等于:" + (b + c + s + i + l));
System.out.println("累加float等于:" + (b + c + s + i + l + f));
System.out.println("累加double等于:" + (b + c + s + i + l + f + d));
// 高类型到低类型的强制转换
System.out.println("把long强制类型转换为int:" + (int) l);
// 高类型到低类型转换会丢失数据
System.out.println("把int强制类型转换为short:" + (short) l);
// 实数到整数转换将舍弃小数部分
System.out.println("把double强制类型转换为int:" + (int) d);
// 整数到字符类型的转换将获取对应编码的字符
System.out.println("把short强制类型转换为char:" + (char) s);
}
}
结果:
加密可以这样简单(位运算)
package com;
import java.util.Scanner;
public class Msj {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请输入要加密字符串");
String password = scan.nextLine();// 获取用户输入
char[] array = password.toCharArray();// 获取字符数组
for (int i = 0; i < array.length; i++) {// 遍历字符数组
array[i] = (char) (array[i] ^ 20000);// 对每个数组元素进行异或运算
}
System.out.println("加密结果如下:");
System.out.println(new String(array));// 输出加密信息
password=new String(array);
array = password.toCharArray();// 获取字符数组
for (int i = 0; i < array.length; i++) {// 遍历字符数组
array[i] = (char) (array[i] ^ 20000);// 对每个数组元素进行异或运算
}
System.out.println("解密结果如下:");
System.out.println(new String(array));// 输出解密信息
}
}
结果
用三元运算符判断奇数和偶数
package com;
import java.util.Scanner;
public class Msj {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);// 创建输入流扫描器
System.out.println("请输入一个整数:");
long number = scan.nextLong();// 获取用户输入的整数
String check = (number % 2 == 0) ? "这个数字是:偶数" : "这个数字是:奇数";
System.out.println(check);
}
}
结果:
不用乘法运算符实现乘法
package com;
import java.util.Scanner;
public class Msj {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);// 创建扫描器
System.out.println("请输入一个整数");
long number = scan.nextLong();// 获取输入的整数
System.out.println("你输入的数字是:"+number);
System.out.println("该数字乘以2的运算结果为:"+(number<<1));
System.out.println("该数字乘以4的运算结果为:"+(number<<2));
System.out.println("该数字乘以8的运算结果为:"+(number<<3));
System.out.println("该数字乘以16的运算结果为:"+(number<<4));
}
}
结果:
实现两个变量的互换(不借助第3个变量)
package com;
import java.util.Scanner;
public class Msj {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);// 创建扫描器
System.out.println("请输入变量A的值");
long A = scan.nextLong();// 接收第一个变量值
System.out.println("请输入变量B的值");
long B = scan.nextLong();// 接收第二个变量值
System.out.println("A=" + A + "\tB=" + B);
System.out.println("执行变量互换...");
A = A ^ B;// 执行变量互换
B = B ^ A;
A = A ^ B;
System.out.println("A=" + A + "\tB=" + B);
}
}