Java基础5

运算符

数据输入

Scanner使用的基本步骤
//1.导包
import java.util.Scanner;
//导包的动作必须出现在类定义的上边
//2.创建对象
Scanner sc = new Scanner(System.in);
//上面这个格式里面,只有sc是变量名,可以变,其他的都不允许变。
//3.接收数据
int i = sc.nextInt();
//上面这个格式里面,只有i是变量名,可以变,其他的都不允许变。

分支语句

流程控制

分类
  • 顺序结构
  • 分支结构(if,switch)
  • 循环结构(for,while,do…while)
顺序结构

顺序结构是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。

顺序结构执行流程图:

Created with Raphaël 2.2.0 开始 语句A 语句B 语句C 结束
分支语句
if语句
格式1if (关系表达式) {
    语句体;	
}

执行流程:
1.首先计算关系表达式的值
2.如果关系表达式的值为true就执行语句体
3.如果关系表达式的值为false就不执行语句体
4.继续执行后面的语句内容

在这里插入图片描述

格式2if (关系表达式) {
    语句体1;	
} else {
    语句体2;	
}

执行流程:
1.首先计算关系表达式的值
2.如果关系表达式的值为true就执行语句体1
3.如果关系表达式的值为false就执行语句体2
4.继续执行后面的语句内容
在这里插入图片描述

格式3if (关系表达式1) {
    语句体1;	
} else if (关系表达式2) {
    语句体2;	
}else {
    语句体n+1;
}

执行流程:
1.首先计算关系表达式1的值
2.如果值为true就执行语句体1;如果值为false就计算关系表达式2的值
3.如果值为true就执行语句体2;如果值为false就计算关系表达式3的值
4.如果没有任何关系表达式为true,就执行语句体n+1。

在这里插入图片描述

Switch语句
格式:
switch(表达式) {
    case1:
	语句体1;
	break;
    case2:
	语句体2;
	break;default:	
	语句体n+1;
	[break;]
}

格式说明:
1.表达式:取值为byte、short、int、char,JDK5以后可以是枚举,JDK7以后可以是String。
2.case:后面跟的是要和表达式进行比较的值。
3.break:表示中断,结束的意思,用来结束switch语句。
4.default:表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。
![在这里插入图片描述](https://img-blog.csdnimg.cn/img_convert/5f81d3c6cd987da7ee532ce6baaff909.png

例子

switch语句练习-春夏秋
需求:一年有12个月,分属于春夏秋冬4个季节,键盘录入一个月份,请用程序实现判断该月份属于哪个季
节,并输出。

public class Demo1 {
 public static void main(String[] args) { 
 //键盘录入月份数据,使用变量接收 
 Scanner sc = new Scanner(System.in);
  System.out.println("请输入一个月份:"); 
  int month = sc.nextInt();
   //case穿透 
   switch(month) { case 1:
                   case 2:
                   case 12: 
              System.out.println("冬季"); 
              break; 
                   case 3: 
                   case 4:
                   case 5:
              System.out.println("春季");
              break; 
                   case 6: 
                   case 7:
                   case 8:
              System.out.println("夏季");
              break; 
                   case 9: 
                   case 10: 
                   case 11: 
              System.out.println("秋季"); 
               break;
                   default: 
                   System.out.println("你输入的月份有误");
         }
      }
   }
循环结构

循环结构的组成:
初始化语句: 用于表示循环开启时的起始状态,简单说就是循环开始的时候什么样
条件判断语句:用于表示循环反复执行的条件,简单说就是判断循环是否能一直执行下去
循环体语句: 用于表示循环反复执行的内容,简单说就是循环反复执行的事情
条件控制语句:用于表示循环执行中每次变化的内容,简单说就是控制循环是否能执行下去
循环结构对应的语法:
初始化语句: 这里可以是一条或者多条语句,这些语句可以完成一些初始化操作
条件判断语句:这里使用一个结果值为boolean类型的表达式,这个表达式能决定是否执行循环体。例如:a<3
循环体语句: 这里可以是任意语句,这些语句将反复执行
条件控制语句:这里通常是使用一条语句来改变变量的值,从而达到控制循环是否继续向下执行的效果。常见i++,i–这样的操作

for循环
格式:
for (初始化语句;条件判断语句;条件控制语句) {    循环体语句;
}

行流程:
1.执行初始化语句
2.执行条件判断语句,看其结果是true还是false
如果是false,循环结束
如果是true,继续执行
3.执行循环体语句
4.执行条件控制语句
5.回到②继续
![在这里插入图片描述](https://img-blog.csdnimg.cn/img_convert/262127ef66bba2e8339c15eae431865c.png

例子
       求1-5之间的数据和,并把求和结果在控制台输出
public class ForTest01 { 
public static void main(String[] args) {
 //需求:输出数据1-5 
     for(int i=1; i<=5; i++) { 
          System.out.println(i);
          }
          System.out.println("--------"); 
          //需求:输出数据5-1 
          for(int i=5; i>=1; i--) {
             System.out.println(i);
             } 
            }
       }
 public class ForTest02 {
       public static void main(String[] args) { 
       //求和的最终结果必须保存起来,需要定义一个变量,用于保存求和的结果,初始值为0 int sum = 0; 
       //从1开始到5结束的数据,使用循环结构完成 
       for(int i=1; i<=5; i++) { 
       //将反复进行的事情写入循环结构内部 
       // 此处反复进行的事情是将数据 i 加到用于保存最终求和的变量   sum 中
        sum += i;
        /* sum += i; sum = sum + i;
        第一次:sum = sum + i = 0 + 1 = 1;
        第二次:sum = sum + i = 1 + 2 = 3; 
        第三次:sum = sum + i = 3 + 3 = 6; 
        第四次:sum = sum + i = 6 + 4 = 10; 
        第五次:sum = sum + i = 10 + 5 = 15;
         */ 
      }
//当循环执行完毕时,将最终数据打印出来 
System.out.println("1-5之间的数据和是:" + sum); 
     } 
   }

while循环语句格式
基本格式:
while (条件判断语句) {    循环体语句;
}
完整格式:
初始化语句;
while (条件判断语句) {    循环体语句;
        条件控制语句;
}

执行流程:
1.执行初始化语句
2.执行条件判断语句,看其结果是true还是false
如果是false,循环结束
如果是true,继续执行
3.执行循环体语句
4.执行条件控制语句
5.回到②继续
![在这里插入图片描述](https://img-blog.csdnimg.cn/img_convert/9ce2ff619762d32d77a66f15d4d98819.png

例子

世界最高山峰是珠穆朗玛峰(8844.43米=8844430毫米),假如我有一张足够大的纸,它的厚度是0.1毫米。请问,我折叠多少次,可以折成珠穆朗玛峰的高度?

示例代码:
public class WhileTest { 
public static void main(String[] args) { 
//定义一个计数器,初始值为0
     int count = 0;
//定义纸张厚度 
      double paper = 0.1; 
//定义珠穆朗玛峰的高度
      int zf = 8844430; 
 //因为要反复折叠,所以要使用循环,但是不知道折叠多少次,这种情况下更适合使用while循环 
 //折叠的过程中当纸张厚度大于珠峰就停止了,因此继续执行的要求是纸张厚度小于珠峰高度
  while(paper <= zf) { 
  //循环的执行过程中每次纸张折叠,纸张的厚度要加倍
   paper *= 2;
  //在循环中执行累加,对应折叠了多少次
  count++; 
  }
  //打印计数器的值 
  System.out.println("需要折叠:" + count + "次");
  }
   }
do…while循环语句
基本格式:
do {
    循环体语句;
}while(条件判断语句);


完整格式:
初始化语句;
do {
    循环体语句;
    条件控制语句;
}while(条件判断语句);

执行流程:
1.执行初始化语句
2.执行循环体语句
3.执行条件控制语句
4.执行条件判断语句,看其结果是true还是false
如果是false,循环结束。如果是true,继续执行
5.回到②继续

在这里插入图片描述

public class DoWhileDemo { 
    public static void main(String[] args) {
     //需求:在控制台输出5次"HelloWorld" 
     //for循环实现
      for(int i=1; i<=5; i++) {   
          System.out.println("HelloWorld");       
           }
          System.out.println("--------");
           //do...while循环实现
            int j = 1; do {
            System.out.println("HelloWorld"); 
            j++;      
            }while(j<=5); 
            }
         }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

月佳韵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值