文章目录
- 顺序结构
- 选择结构
- if单选择结构
- if双选择结构
- if多选择结构
- 经典案例:成绩级别
- 嵌套的if结构
- switch 多选择结构
- 循环结构
- while循环【最基本的循环】
- do……while循环
- while和do...while的区别
- for循环
- 练习
- 练习一:分别计算0到100之间的奇数和偶数的和
- 练习二:用while或for循环输出1~1000之间能被5整除的数【三个数一行】
- 练习三:打印九九乘法表
- 补充: 增强for循环
- 练习:打印三角
顺序结构
- 顺序结构是最简单的算法结构。
- java的基本结构是顺序结构,除非特别指明,否则就按顺序一句一句执行。
- 它是任何一个算法都离不开的一种基本算法结构。
选择结构
if单选择结构
语法:
if(布尔表达式)
{
//如果布尔表达式为true将执行的语句
}
if双选择结构
语法;
if(布尔表达式) {
//如果布尔表达式的值为true
}
else {
//如果布尔表达式的值为false
}
知识充电站:
java 中字符串的比较用.equals() 方法。
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("请输入内容:");
String str=scanner.nextLine();
if(str.equals("酸梅汤小王子")) {
System.out.println(str);
} else {
System.out.println("endS");
}
scanner.close();
}
if多选择结构
经典案例:成绩级别
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("请输入成绩:");
int score= scanner.nextInt();
if(score==100) {
System.out.println("恭喜满分");
} else if (score<100 && score>=90) {
System.out.println("优秀");
} else if (score<90 && score>=80) {
System.out.println("良好");
} else if (score<80 && score>=60) {
System.out.println("合格");
} else if (score<60 && score>=0) {
System.out.println("不及格");
} else {
System.out.println("成绩不合法!");
}
scanner.close();
}
嵌套的if结构
语法:
if(布尔表达式 1) {
//条件1成立时的执行代码
if(布尔表达式 2) {
//条件 1、条件2 同时成立时执行的代码
}
}
switch 多选择结构
- switchcase语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
- switch语句中的变量类型可以是:byte、short、int或者char。
- 从JavaSE7开始,switch支持字符串String类型了
- 同时case标签必须为字符串常量或字面量
举例:
public static void main(String[] args) {
String str="酸梅汤小王子";
switch (str)
{
case "酸梅汤小王子":
System.out.println("酸梅汤小王子");
break;
case "内卷小霸王":
System.out.println("内卷小霸王");
break;
}
}
循环结构
while循环【最基本的循环】
while(布尔表达式) {
//循环内容
}
- 只要布尔表达式为真,循环就会一直执行下去。
- 避免死循环,造成程序卡崩溃。
do……while循环
- 对于do……while循环至少循环一次。
do {
//代码语句
} while (布尔表达式);
while和do…while的区别
- while先判断后执行,do…while先执行后判断。
- 主要差别:do…while 至少执行一次。
for循环
- for循环语句是支持迭代的一种通用结构,是最有效,最灵活的循环结构。
- for循环执行的次数在执行前就确定了
语法格式:
for(初始值;布尔表达式;更新) {
//代码语句
}
练习
练习一:分别计算0到100之间的奇数和偶数的和
public static void main(String[] args) {
int oddsum=0;
int evensum=0;
for(int i=0;i<=100;i++)
{
if(i%2!=0)
{
oddsum+=i;
}
else
{
evensum+=i;
}
}
System.out.println("奇数和为:"+oddsum);
System.out.println("偶数和为:"+evensum);
}
练习二:用while或for循环输出1~1000之间能被5整除的数【三个数一行】
- 方法一:
public static void main(String[] args) {
int i=0;
for(int j=1;j<=1000;j++)
{
if(j%5==0)
{
System.out.print(j+"\t");
i++;
if(i%3==0)
{
System.out.println();
}
}
}
}
- 方法二:
public static void main(String[] args) {
for(int i=1;i<=1000;i++)
{
if(i%5==0)
{
System.out.print(i+"\t");
if(i%(5*3)==0)
{
System.out.println();
}
}
}
}
练习三:打印九九乘法表
public static void main(String[] args) {
for(int i=1;i<=9;i++)
{
for(int j=1;j<=i;j++)
{
System.out.print(i+"*"+j+"="+i*j+"\t");
}
System.out.println();
}
}
补充: 增强for循环
- Java5引入了一种主要用于数组或集合的增强for循环
- 语法格式:
for(声明语句:表达式) {//注意中间为冒号:
//执行代码语句
}
声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配,其作用域限定在循环语句快,其值与此时数组元素的值相等。
表达式:要访问的数组名,或者是返回值为数组的方法
- 举例:
int [] numbers={10,20,30,40,50};
for(int x:numbers) {
System.out.println(x);
}
练习:打印三角
import java.util.Scanner;
public class Demo01 {
public static void main(String[] args) {
Scanner scanner= new Scanner(System.in);
int rows=0;
System.out.println("请输入三角的行数:");
if(scanner.hasNext())
{
rows= scanner.nextInt();
}
scanner.close();
for(int i=1;i<rows;i++)
{
for(int j=rows;j>i;j--)
{
System.out.print(" ");
}
for(int j=1;j<=i;j++)
{
System.out.print("*");
}
for(int j=1;j<i;j++)
{
System.out.print("*");
}
System.out.println();
}
}
}