流程控制和方法

Java流程控制和方法

一、流程控制

1、Scannel

  • 之前我们学的基本语法中我们并没有实现程序和人的交互,但是Java给我们提供了这样一个工具类,我们可以获取用户的输入java.util.Scanner 是Java5的新特征,我们可以通过Scanner类来获取用户的输入。
    基本语法:
	Scanner s = new Scanner(System.in);
  • 通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext() 与hasNextLine()判断是否还有输入的数据。

  • next():

  • 1、一定要读取到有效字符后才可以结束输入。
  • 2、对输入有效字符之前遇到的空白,next()方法会自动将其去掉。
  • 3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
  • 4、next()不能得到带有空格的字符串。
  • nextLine():
  • 1、以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符。
  • 2、可以获得空白

测试:

public class Test_03 {
    public static void main(String[] args) {
        //创建一个扫描器对象,用于接收键盘数据
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入你的名字:");
        //判断是否输入
        if (scanner.hasNext()){
            //接收数据
            String str = scanner.next();
            System.out.println("输入了:"+str);
        }
        scanner.close();//关闭
    }
}

2、顺序结构

Java的基本结构就是顺序结构,除非特别指明,就是一句一句向下执行。
如图:
顺序结构

  • 语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构

3、选择结构

  • if
public class Test_04 {
    public static void main(String[] args) {
        boolean b = true;
        int i = 100;
        if (b){
            System.out.println("表达式成立");//语句1
        }else {
            System.out.println("表达式不成立");//语句2
        }
        /*
        * if(表达式){
        *   语句1
        * }else{
        *   语句2
        * }
        * 表达式如果是true执行语句1,否则执行语句2
        * 比如1>10吗? 肯定是不的会返回false,就会执行语句2
        *
        * if可以单选择、双选择、多选择、嵌套(套娃一样)
        * */
        //单选
        if (b){
            System.out.println("单选");
        }
        //双选第一个就是,不写了
        //多选择
        if (60 > i){
            System.out.println("大于");
        }else if (110 > i){
            System.out.println("大于");
        }else {
            System.out.println("可能吧");
        }
        //嵌套
        if (true){
            if (false){
                System.out.println("这就是嵌套");
            }else {
                System.out.println("简单吧");
            }
        }
        //嵌套多了自己的看不懂了可就不好了
    }
}

  • switch
  • 多选择结构还有一个实现方式就是switch case 语句。
  • switch case 语句判断一个变量与一个系列值中某个值是否相等,每个值称为一个分支。
  • 语法:
public class SwitchCase {
    public static void main(String [] args){
        char grade = 'C';

        switch(grade){
            case 'A' :
                System.out.println("优秀");
                break;
            case 'B' :
                System.out.println("一般");
                break;
            case 'C' :
                System.out.println("及格");
                break;
            default:
                System.out.println("不及格");
        }
    }
}

4、循环结构

  • while
    结构:
        while(//循环条件){
            //循环内容
        }
  • do…while
    结构:
		do{
            //循环内容
        }while (//循环条件);
  • while与do…while的区别

先判断,后判断
do…while至少执行一次循环

  • for
    结构:
		for (初始化;循环条件;更新){
            //循环内容
        }

5、break&continue

  • break在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,不执行循环中剩余的语句。(break语句也在switch语句中使用)
  • continue语句用在循环语句体中,用于终止某次循环过程,也就是跳过循环中尚未执行的语句,接着进行下一次是否执行循环判定。

二、方法

1、什么是方法?

Java方法是语句的集合,他们在一起执行一个功能。

2、方法的定义

Java的方法类似于其他语言的函数,是一段用来完成特定功能的代码片段。
方法的所有部分包括了修饰符、返回值类型、方法名、参数类型、方法体
结构如下:

public void test(){
        System.out.println("测试");
    }
修饰符 返回值类型 方法名(参数类型 参数名){
		...
		方法体
		...
}

3、方法的调用

对象名 . 方法名

4、方法的重载

  • 重载就是在一个类中,有相同的函数名称,但形参不同的函数。
  • 重载规则

方法名称必须相同
参数列表必须不同
方法的返回类型可以相同也可以不相同
仅仅返回类型不同不足以成为方法的重载

5、可变参数

  • 在方法声明中,在指定参数类型后加一个省略号(
  • 一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。

6、递归

  • 简单来说递归就是自己调用自己
  • 递归的结构有两个部分

递归头:什么时候不调用自身的方法
递归体:什么时候需要调用自身方法

  • 阶乘测试:
public class Recursion {
    public static void main(String[] args) {
        System.out.println(test(5));
    }
    public static int test(int i){
        if(i==1){
            return 1;
        }else {
            return i*test(i-1);
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值