顺序结构
在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;// 可以有多个casedefault:// 如果表达式的值不匹配任何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();}
}