顺序结构
在Java中,顺序结构是指代码按照从上到下的顺序依次执行。以下是一个简单的Java程序示例,展示了顺序结构的使用:
public class SequenceStructureExample { public static void main(String[] args) { // 声明和初始化变量 int num1 = 10; int num2 = 20; // 计算两个数的和 int sum = num1 + num2; // 打印结果 System.out.println("两个数的和为:" + sum); } }
在这个示例中,程序按照顺序执行以下步骤:
- 声明和初始化变量
num1
和num2
,分别赋值为10和20。- 计算
num1
和num2
的和,将结果赋值给变量sum
。- 使用
System.out.println()
方法打印出两个数的和。
分支结构
分支结构用于根据条件选择不同的执行路径。在Java中,主要有两种分支结构:if语句和switch语句。
if 语句
if语句根据条件的真假来执行不同的代码块。语法如下:
if (condition) { // 如果条件为真,执行这里的代码 } else { // 如果条件为假,执行这里的代码 }
如果条件为真,则执行if块中的代码;如果条件为假,则执行else块中的代码。
switch 语句
switch语句用于根据表达式的值选择不同的执行路径。语法如下:
switch (expression) { case value1: // 如果表达式的值等于value1,执行这里的代码 break; case value2: // 如果表达式的值等于value2,执行这里的代码 break; // 可以有多个case default: // 如果表达式的值不匹配任何case,执行这里的代码 }
根据表达式的值,执行与匹配的case对应的代码块。如果没有匹配的case,则执行default块中的代码。
循环结构
循环结构用于重复执行特定的代码块,直到满足退出条件。在Java中,主要有几种循环结构:while循环、do-while循环、for循环。
while 循环
while循环在每次迭代之前检查循环条件,只有条件为真时才执行循环体。语法如下:
while (condition) { // 当条件为真时,执行这里的代码 }
for 循环
for循环用于指定循环的起始值、终止条件和迭代步长。语法如下:
for (initialization; condition; update) { // 每次迭代执行这里的代码 }
其中,
initialization
用于初始化循环控制变量,condition
是循环继续的条件,update
用于更新循环控制变量。
do while 循环
do-while循环与while循环类似,不同之处在于它先执行一次循环体,然后检查循环条件。语法如下:
do { // 执行这里的代码 } while (condition);
输入输出
输入:
System.out.println(msg); // 输出一个字符串, 带换行 System.out.print(msg); // 输出一个字符串, 不带换行 System.out.printf(format, msg); // 格式化输出
- println 输出的内容自带 \n, print 不带 \n
- printf 的格式化输出方式和 C 语言的 printf 是基本一致的.
代码示例:
System.out.println("hello world"); int x = 10; System.out.printf("x = %d\n", x)
输出 :
先在main函数里敲出如下代码:
Scanner sc = new Scanner(System.in);
此时,idea会自动跳出如下代码:
import java.util.Scanner; // 需要导入 util 包
这时,我们就能输入对应的字符值在控制台中(注意用变量接受输入值,如int a=sc.nextInt();),如:
import java.util.Scanner; // 需要导入 util 包 Scanner sc = new Scanner(System.in); System.out.println("请输入你的姓名:"); String name = sc.nextLine(); System.out.println("请输入你的年龄:"); int age = sc.nextInt(); System.out.println("请输入你的工资:"); float salary = sc.nextFloat(); System.out.println("你的信息如下:"); System.out.println("姓名: "+name+"\n"+"年龄:"+age+"\n"+"工资:"+salary); sc.close(); // 注意, 要记得调用关闭方法 // 执行结果 请输入你的姓名: 张三 请输入你的年龄: 18 请输入你的工资: 1000 你的信息如下: 姓名: 张三 年龄:18 工资:1000.0
猜数字游戏
import java.util.Random;
import java.util.Scanner;;
class Test {
public static void main(String[] args) {
Random random = new Random(); // 默认随机种子是系统时间
Scanner sc = new Scanner(System.in);
int toGuess = random.nextInt(100);
// System.out.println("toGuess: " + toGuess);
while (true) {
System.out.println("请输入要输入的数字: (1-100)");
int num = sc.nextInt();
if (num < toGuess) {
System.out.println("低了");
} else if (num > toGuess) {
System.out.println("高了");
} else {
System.out.println("猜对了");
break;
}
}
sc.close();
}
}