03-流程控制(Java基础)

这篇博客详细介绍了Java中的流程控制,包括API的使用、Scanner类的解析、执行结构(顺序、分支、循环)的概述,并提供了综合练习,如用户输入判断、出租车计费等。适合Java初学者学习。
摘要由CSDN通过智能技术生成

感谢你的路过,希望学生的笔记能给你一点微不足道的参考(3/100)
Java基础思维导图,完整Java体系的链接
在这里插入图片描述

一,API

1.1什么是API,我们要学到什么程度?

    应用程序编程接口,我们只要会用即可。

1.2API使用步骤是什么?

    1. 打开帮助文档
    2. 点击显示,找到索引,看到输入框
    3. 你要找谁?在输入框里输入,然后回车
    4.看包。java.lang下的类不需要导包,其他需要
    5. 看类的解释和说明
    6. 学习构造方法
    7. 使用成员方法

二,Scanner类

2.1引用类型使用步骤是什么?

1,导包
	导包怎么使用?
		使用import关键字导包,在类的所有代码之前导包,
		引入要使用的类型,java.lang包下的所有类无需导入。
	导包的格式是什么?
		import 包名.类名;
		举例:java.util.Scanner;
2,创建对象
	格式?
		数据类型 变量名 = new 数据类型(参数列表);
		举例:
		Scanner sc = new Scanner(System.in);
	什么是创建对象?
		使用该类的构造方法,创建一个该类的对象。
3,调用方法
	什么是调用方法?
		调用该类的成员方法,完成指定功能
	格式?
		变量名.方法名();
		举例:int i = sc.nextInt(); // 接收一个键盘录入的整数

2.2什么是Scanner类?

    一个可以解析基本类型和字符串的简单文本扫描器
        例如,用户从 System.in 中读取一个数:
            Scanner sc = new Scanner(System.in);
            int i = sc.nextInt();
            //System.in 系统输入指的是通过键盘录入数据。

2.3Scanner用法大全?

```php
package Scanner;

// 第一步,导包
import java.util.Scanner;

/**
 * 什么是Scanner类?
 * 一个可以解析基本类型和字符串的简单文本扫描器
	例如,用户从 System.in 中读取一个数:
	Scanner sc = new Scanner(System.in); 
	int i = sc.nextInt();
	//System.in 系统输入指的是通过键盘录入数据。
 * 引用类型使用步骤是什么?
	1,导包
		导包怎么使用?
			使用import关键字导包,在类的所有代码之前导包,
			引入要使用的类型,java.lang包下的所有类无需导入。
		导包的格式是什么?
			import 包名.类名;
			举例:java.util.Scanner;
	2,创建对象
		格式?
			数据类型 变量名 = new 数据类型(参数列表);
			举例:
			Scanner input = new Scanner(System.in);
		什么是创建对象?
			使用该类的构造方法,创建一个该类的对象。
	3,调用方法
		什么是调用方法?
			调用该类的成员方法,完成指定功能
		格式?
			变量名.方法名();
			举例:int i = input.nextInt(); // 接收一个键盘录入的整数
			举例: String str = input.next(); // 接收键盘录入的字符(串)
	Scanner用法大全?
		参考链接:https://blog.csdn.net/RiceVan/article/details/100109601
 */
public class Demo01_JieShao {
   

	/**
	 * Scanner类讲解
	 * @param args
	 */
	public static void main(String[] args) {
   
		demo03();
	}	
	 
	
	/**
	 * next()与nextLine()方法详解
	 * 1.都是吸取输入控制台输入的字符
	 * 2.next()方法不会吸取字符前和后的空格/Tab,只吸取字符,
	 * 开始吸取字符(字符前后不算)直到遇到空格/Tab/回车截取吸取
	 * 3.nextLine() 吸取字符前后的空格/Tab键
	 * 4.next()与nextLine(),遇到回车都截取吸取
	 */
	 public static void demo01() {
   
		// 第二步,创建对象
		Scanner input = new Scanner(System.in);
		// 提示信息
		System.out.println("请输入数据:");
		
	
		// 第三步,使用方法
		/* 从控制台输入:abcd abcd abcd
		 * 输出的结果是:abcd
 						 abcd abcd
		 * 因为next方法遇到了空格停止接收,所以只输出了abcd,
		 * nextLine方法开始从空格处开始接收直到遇到了第一个回车那么结束接收,
		 * 说明nextLine方法可以接收空格,next方法遇到空格等会停止接收
		 * ----------------------------------------------
		 * String str = input.next(); 
		 * System.out.println(str); 
		 * String str2 =input.nextLine(); 
		 * System.out.println(str2);
		 */
		 
		/* 先输入Tab键,然后输入abcd
		 * nextLine输出的abcd在中间,说明nextLine方法可以接收Tab键
		 * next输出的abcd在开头,说明next方法没有接收Tab键
		 ------------------------------------------------
		 String str = input.nextLine();
	     System.out.println(str);*/
	 }
	
	/**
	 * 练习:键盘输入两个int数字,并且求出和值。
		思路:
		1. 既然需要键盘输入,那么就用Scanner
		2. Scanner的三个步骤:导包、创建、使用
		3. 需要的是两个数字,所以要调用两次nextInt方法
		4. 得到了两个数字,就需要加在一起。
		5. 将结果打印输出。
	 */
	 public static void demo02() {
   
		 
		 Scanner sc = new Scanner(System.in);
		 
	     int num = sc.nextInt();
	     System.out.println("输入的int数字是:" + num);
	     int um = sc.nextInt();
	     System.out.println("输入的int数字是:" + um);

	     int c=num+um;
	     System.out.println("输入的和为:" + c);
	 }
	 
	 /**
	  * 练习:键盘输入三个int数字,然后求出其中的最大值。
			思路:
			1. 既然是键盘输入,肯定需要用到Scanner
			2. Scanner三个步骤:导包、创建、使用nextInt()方法
			3. 既然是三个数字,那么调用三次nextInt()方法,得到三个int变量
			4. 无法同时判断三个数字谁最大,应该转换成为两个步骤:
			    4.1 首先判断前两个当中谁最大,拿到前两个的最大值
			    4.2 拿着前两个中的最大值,再和第三个数字比较,得到三个数字当中的最大值
			5. 打印最终结果
	  */
	 public static void demo03() {
   
		  	Scanner sc = new Scanner(System.in);

	        System.out.println("请输入第一个数字" );
	        int num = sc.nextInt();
	        System.out.println("请输入第二个数字" );
	        int um = sc.nextInt();
	        System.out.println("请输入第三个数字" );
	        int m = sc.nextInt();

	        // 首先得到前两个数字当中的最大值
	        int ma = num > um ? num : um;
	        int max = ma > m ? ma : m;
	        System.out.println("最大值是" +max );
	 }
	 
}

三,执行结构概述

   概述
      任何简单或复杂的算法都可以由顺序结构、分支结构和循环结构这三种基本 结构组合而成。 它们的共同点是都包含一个入口和一个出口,它们的每个代码都有机会被执行,不会出现死循环。
      顺序结构
         顺序结构是一种基本的控制结构,它按照语句出现的顺序执行操作
      分支结构
         分支结构又被称为选择结构,根据条件成立与否来执行操作,
      循环结构
         循环结构是种重复结构,如果条件成立,它会重复执行某一循环体,直到出现不满足的条件为止。

3.1,分支结构

3.1.1if
   格式:
      if(关系表达式){ 语句体; }
   流程
      首先判断关系表达式
      看其结果是true还是false 如果是true就执行语句体 如果是false就不执行语句体
   图解
在这里插入图片描述
3.1.2-if…else
   格式:
       if(关系表达式) {
       语句体1;
       }else {
       语句体2;
        }
   流程:
       首先判断关系表达式看其结果是true还是false
       如果是true就执行语句体1
       如果是false就执行语句体2
   图解:
在这里插入图片描述
3.1.3if…else if…else
   格式:
      if (判断条件1) {
      执行语句1;
      } else if (判断条件2) {
      执行语句2;
       }… }else if (判断条件n) {
      执行语句n;
       } else {
      执行语句n+1;
      }
   流程:
      首先判断关系表达式1看其结果是true还是false
      如果是true就执行语句体1
      如果是false就继续判断关系表达式2看其结果是true还是false
      如果是true就执行语句体2 如果是false就继续判断关系表达式
      …看其结果是true还是false …如果没有任何关系表达式为true,就执行语句体n+1
   图解:
在这里插入图片描述
代码:

package FenZhiJieGou;

import java.util.Scanner;

public class Demo02_if {
   

	
	/**
	 * 分支结构-if相关内容
	 * @param args
	 */
	public static void main(String[] args) {
   
		demo04();
	}
	
	
	 // 单if语句
	 public static void demo01() {
   
		  System.out.println("今天天气不错,正在压马路……突然发现一个快乐的地方:网吧");
	        int age = 19;
	        if (age >= 18) {
   
	            System.out.println("进入网吧,开始high!");
	            System.out.println("遇到了一群猪队友,开始骂街。");
	            System.out.println("感觉不爽,结账走人。");
	        }
	        System.out.println("回家吃饭");
	 }
	
	 // 标准的if-else语句
	 public static void demo02() {
   
		 int num = 666;
	        if (num % 2 == 0) {
    // 如果除以2能够余数为0,说明是偶数
	            System.out.println("偶数");
	        } else {
   
	            System.out.println("奇数");
	        }
	 }
	
	 // if..else if...else
	 public static void demo03() {
   
		 int x = -10;
	        int y;
	        if (x >= 3) {
   
	            y = 2 * x + 1;
	        } else if (-1 < x && x < 3) {
   
	            y = 2 * x;
	        } else {
   
	            y = 2 * x - 1;
	        }
	        System.out.println("结果是:" + y);
	 }
	 
	 // 课上例子成绩分布,多重if..else语句
	 public static void demo04() {
   
		 
		Scanner input = new Scanner(System.in
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值