Java实例 Part2:Java语言基础

时间:2023-03-09 14:42:09
Java实例 Part2:Java语言基础

Part2:Java语言基础


**

Example01:从控制台接收输入字符

**

运行结果:

Java实例 Part2:Java语言基础

实现代码:

import java.util.Scanner;

public class Example01 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入你的名字:"); //提示用户输入
String str = scanner.nextLine(); //获取用户输入的一行文本
//打印你输入的内容
System.out.println("你输入的内容是:"+str);
}
}

要点:import java.util.Scanner;//导包

这一个实例中需要引入Scanner类,它是Java的扫描器类,可以从输入流中读取指定类型的数据和字符串。*


**

Example02:自动类型转换与强制类型转换

**

Java基本数据类型之间存在自动类型转换与强制类型转换两种转换方法。低类型数据向高类型数据进行自动类型转换,高类型数据向低类型数据进行强制类型转换。

运行结果:

Java实例 Part2:Java语言基础

代码实现:

public class Example02 {
public static void main(String[] args) {
byte b = 127; //byte类型数据的范围是:-128~127
System.out.println("byte="+b);
int i = 12;
System.out.println("累加int等于:"+(b+i));
short s = 23561;
System.out.println("累加short等于:"+(b+i+s));
long l = 400000l;
System.out.println("累加long等于:"+(b+i+s+l));
char c = 'w';
System.out.println("累加char等于:"+(b+i+s+l+c));
float f = 3.1415f;
System.out.println("累加float等于:"+(b+i+s+l+c+f));
double d = 54.523;
System.out.println("累加double等于:"+(b+i+s+l+c+f+d)); //高类型向低类型的强制转换
System.out.println("把long类型强制转换为int:"+(int)l);
System.out.println("把char类型强制转换为byte:"+(byte)c);
System.out.println("把double类型强制转换为int:"+(int)d);
}
}

要点转换后的类型 变量 = (转换后的类型)被转换的变量;


**

Example03:加密可以这样简单(位运算)

**

提示通过位运算的异或运算符“^”把字符串与一个指定的值进行异或运算,从而改变字符串中每个字符的值,这样就可以得到一个加密的字符串。当把加密后的字符串作为程序输入内容,异或运算会把加密后的字符串还原成原有字符串的值。

运行结果:

图1 使用异或加密字符串

Java实例 Part2:Java语言基础

图2 使用异或解密字符串

Java实例 Part2:Java语言基础

代码实现:

import java.util.Scanner;

public class Example03 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要加密的字符串或要解密的字符串:");
String str = scanner.nextLine(); //获取用户输入的内容
char[] chars = str.toCharArray(); //获取字符数组
for (int i = 0;i<chars.length;i++){ //遍历数组
chars[i] = (char)(chars[i] ^ 2000); //对每个数组元素进行异或运算
}
System.out.println("加密或解密的结果如下:");
System.err.println(new String(chars)); //输出密钥
}
}

要点:程序最后使用的标准错误输出流不是用于输出信息,而是利用其在控制台以红色的特性来突出显示。本实例的关键技术是异或运算,如果某个字符x或数值与另一个数值m异或运算得到y,那么再用y与m进行异或运算就可以还原成x,这就是加密和解密的过程。


**

Example04:用三元运算符判断奇数和偶数

**

运行结果:

Java实例 Part2:Java语言基础

实现代码:

import java.util.Scanner;

public class Example04 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个整数:");
int number = scanner.nextInt();
String str = (number % 2 == 0)?"这个数是:偶数":"这个数是:奇数";
System.out.println(str);
}
}

要点:三元运算符

条件运算 ? 运算结果1 : 运算结果2

如果条件运算的结果为true,返回值就是运算结果1,否则就是运算结果2。


**

Example05:不用乘法运算符实现2 x 16

**

提示:左移运算(运算效率非常高)

运行结果:

Java实例 Part2:Java语言基础

实现代码:

import java.util.Scanner;

public class Example05 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入你想运算的数字:");
int number = scanner.nextInt(); 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));
}
}

要点:如果一个整数左移n位,就相当于这个整数乘以2的n次方。