Scanner,Random,跳转控制语句与方法

目录

一、键盘录入Scanner

1.作用

2.使用

3.举例

4.练习

分析

代码

结果

 二、随机数Random

1.作用

2.使用

3.举例

1)不限定范围的随机数

 2)限定范围的随机数

4.练习

三、跳转控制语句

1.关键字

2.使用

1)break

 2)continue

 3)return

四、方法

1.作用

2.优点

3.使用

1)定义一个没有参数的方法 

 2)调用一个没有参数的方法

 1)定义一个有参数的方法

2)调用一个有参数的方法

1)定义一个有返回值的方法

2)调用一个有返回值的方法

1)定义一个有参数有返回值的方法

2)调用一个有参数有返回值的方法

 4.方法的多重调用

       5.递归

       6.可变参数


一、键盘录入Scanner

1.作用

作用:键盘输入

2.使用

使用:
    1.创建Scanner对象
    Scanner 变量名(Scanner对象) = new Scanner(System.in);
    2.键盘录入输入
    String 变量名(用户键盘输入的字符串信息) = Scanner对象.next();
    int 变量名(用户键盘输入的整数信息) = Scanner对象.nextInt();

3.举例

//导包
package com.scanner.demo;

import java.util.Scanner;

public class Demo01 {
	public static void main(String[] args) {
        //死循环
		while (true) {
            //创建键盘录入对象
			Scanner sca = new Scanner(System.in);
            //提示并录入账户
			System.out.print("请输入账号:");
            //提示并录入密码
			String username = sca.next();
			System.out.print("请输入密码:");
			String password = sca.next();
            //判断输入的账户密码是否和设定的账号密码相等
			if (username.equals("admin") && password.equals("jiushimima")) {
                //相等则显示登陆成功
				System.out.println("登录成功");
				break;
			}else {
                //不相等则显示账号密码不匹配,请重新输入
				System.out.println("账号密码不匹配,请重新输入");
			}
		}
	}
}

4.练习

(循环)输入一个整数
计算它各位上数字的和(注意:是任意位的整数)

分析

分析:
	1)导包
	2)创建键盘录入对象
	3)录入一个n这个数据
	4)定义最终结果变量 int sum = 0;
	5)不明确循环次数,使用while循环
		条件:
			n!=0,一直循环
		假设:
			录入的数据:123
			sum = sum + (123%10);//获取低位,并将结果进行求和
			n = 123/10;//去除低位

代码

//导包
import java.util.Scanner;

//(循环)输入一个整数
//计算它各位上数字的和(注意:是任意位的整数)
public class Test01 {
	public static void main(String[] args) {
		//创建键盘录入对象
		Scanner scanner = new Scanner(System.in);
		//提示并录入数据
		System.out.print("请输入一个数据:");
		int num = scanner.nextInt();
		//定义最终结果变量
		int sum = 0;
		//循环判断
		while(num != 0) {
			//获取低位并将结果和sum求和
			sum += (num%10);
			//去除低位
			num /= 10;
		}
		System.out.println("sum="+sum);
	}
}

结果

 二、随机数Random

1.作用

作用:产生一个随机数

2.使用

使用:
    1.创建Random对象 
      Random 变量名(random对象) = new Random();
    2.获取随机数
        不限定范围的随机数
            int 变量名(获取到的随机数) = random对象.nextInt();
        限定范围的随机数
            int 变量名(获取到的随机数) = random对象.nextInt(最大值);
            取值范围:0~最大值-1

3.举例

1)不限定范围的随机数

代码

import java.util.Random;

public class Demo02 {
	public static void main(String[] args) {
		//创建随机数Random对象
		Random random = new Random();
		//循环10次
		for (int i = 0; i < 10; i++) {
			//不限定范围的随机数
			int j = random.nextInt();
			System.out.println(j);
		}
	}
}

结果

 2)限定范围的随机数

代码

import java.util.Random;

public class Demo02 {
	public static void main(String[] args) {
		//创建随机数Random对象
		Random random = new Random();
		//循环10次
		for (int i = 0; i < 10; i++) {
			//限定范围的随机数
			int j = random.nextInt(3);
			System.out.println(j);
		}
	}
}

结果

4.练习

案例

案例:使用Random生成6为验证码
要求:数字,小写字母,大写字母

代码

import java.util.Random;

public class Test02 {
	public static void main(String[] args) {
		//创建Random对象
		Random random = new Random();
		//定义一个变量记录生产的验证码
		String code ="";
		//循环6次,每次生成1位随机数
		for (int i = 0; i < 6; i++) {
			/*
			 * 生成1位随机数
			 * 		获取一位随机数,判断是小写字母,大写字母,数字
			 * 		0:生成1位数字
			 * 		1:生成1位小写字母
			 * 		2:生成1位大写字母
			 */
			//由于是0,1,2随机
			int tag = random.nextInt(3);
			//判断
			switch (tag) {
			//如果随机数是0,生成数字0~9
			case 0:
				//随机生成一个0~9数字
				int num = random.nextInt(10);
				//将生成的数字记录
				code += num;
				break;
			//如果随机数是1,生成小写字母a~z,ASCII码对照表97~122
			case 1:
				//最大值26:0~25,+97:97~122
				int xNum = random.nextInt(26)+97;
				//强制类型转换
				char xWord = (char)xNum;
				//将生成的小写字母记录
				code += xWord;
				break;
			//如果随机数是2,生成大写字母A~Z,ASCII码对照表65~90
			case 2:
				//最大值26:0~25,+65:65~90
				int dNum = random.nextInt(26)+65;
				//强制类型转换
				char dWord = (char)dNum;
				//将生成的大写字母记录
				code += dWord;
				break;
			default:
				
				break;
			}
		}
		System.out.println("本次验证码为:"+code);
	}
}

结果

三、跳转控制语句

1.关键字

1)break

2)continue

3)return

2.使用

1)break
        中断,结束(不能单独使用)
        在switch和循环中使用
2)continue
        继续
        在循环中使用
        结束当前循环,立即进入下一次循环
3)return
        返回
        单独使用
            结束方法
                    终止"return;"后面的代码
        结合有具体返回值类型的方法使用
            返回方法指定类型的值/对象

1)break

代码

class BreakDemo{
	public static void main(String[] args){
		//循环
		//break在单层循环中使用
		for(int i = 0;i < 10;i ++){
			//判断
			if(i == 3){
                //跳过当前循环
				break;
			}
			System.out.println(i);
		}
	}
}

结果 

 2)continue

代码

public class ContinueDemo {
	public static void main(String[] args){
		for(int i = 0; i < 10;i++){
			if(x==3){
				//跳出当前循环,立即进入下一次循环
                continue;
			}
			System.out.println(i);
		}
		System.out.println("over");
	}
}

结果

 3)return

代码

public class ReturnDemo {
	public static void main(String[] args){
		//程序:引入return
		System.out.println("程序开始了...");
		for(int x = 0; x < 10; x ++){
			System.out.println("进入for循环了...");
			if(x == 3){
				//单独使用,结束方法的
                return;
			}
			System.out.println(x);//0,1,2
		}
	}
}

结果

四、方法

1.作用

作用:
    封装一段代码,使其便于使用

2.优点

优点:
    1.便于使用
    2.降低了代码的冗余度
    3.降低代码的耦合度,保护内部
    4.提高了代码的可读性

3.使用

注意:方法在类以内,方法以外定义

1)定义一个没有参数的方法 

语法:
     public static void 方法名(){
            方法体;
     }

代码

public static void add01() {
		int num01 = 10;
		int num02 = 1;
		int num = num01 + num02;
		System.out.println("没有参数的方法求和"+num);
}

 2)调用一个没有参数的方法

语法:
    方法名();

代码

public class Demo01 {
	public static void main(String[] args) {
        //调用
		add01();
	}
	
	/*
	 * 定义一个没有参数的方法
	 */
	public static void add01() {
		int num01 = 10;
		int num02 = 1;
		int num = num01 + num02;
		System.out.println("没有参数的方法求和"+num);
	}
}

结果

 

 1)定义一个有参数的方法

语法:
    public static void 方法名(数据类型1 变量名1,数据类型2 变量名2,...){
             方法体;
    }
名词介绍:
    定义方法时小括号中的内容称为形参列表

 代码

/**
* 定义一个有参数的方法
* 该方法用于计算两数之和
* @param a 加数
* @param b 被加数
*/
public static void add02(int a,int b) {
	int sum = a + b;
	System.out.println("有参数的方法求和:"+sum);
}

2)调用一个有参数的方法

语法:
    方法名(实参列表);
注意:
    1.实参列表中的内容要与调用的方法的形参列表长度一致
    2.实参列表中的内容要与调用的方法的形参列表数据类型一致
    3.实参列表中的内容要与调用的方法的形参列表顺序一致

代码

public class Demo02 {
	public static void main(String[] args) {
        //调用
		add02(10, 1);
	}
	/**
	 * 定义一个有参数的方法
	 * 该方法用于计算两数之和
	 * @param a 加数
	 * @param b 被加数
	 */
	public static void add02(int a,int b) {
		int sum = a + b;
		System.out.println("有参数的方法求和:"+sum);
	}
}

结果

 

1)定义一个有返回值的方法

语法:
    public static 返回值的数据类型 方法名(){
          方法体;
          return 数据;
    }
注意:
    1.void:没有返回值(返回值类型为空)
    2.return:单独使用表示结束方法,如果后面有数据表示结束方法并返回该数据
    3.如果有返回值得方法中使用分支语句结束,每个分支都得有返回值,并且这些返回值的数据类型统一

代码

/**
* 定义了一个有返回值的方法
* @return
*/
public static int add03() {
	int num01 = 1;
	int num02 = 2;
	int num = num01 + num02;
	System.out.println("代码被执行了");
	return num;
}

2)调用一个有返回值的方法

语法:
    方式1:
         不接收返回值
         方法名();
    方式2:
         接收返回值
         数据类型 变量名 = 方法名();
          
public class Demo03 {
	public static void main(String[] args) {
		//不接收返回值
		add03();
		System.out.println("--------------");
		//接收返回值
		int sum = add03();
		System.out.println("有返回值的方法求和:"+sum);
	}
	/**
	* 定义了一个有返回值得方法
	* @return
	*/
	public static int add03() {
		int num01 = 10;
		int num02 = 1;
		int num = num01 + num02;
		System.out.println("代码被执行了");
		return num;
	}
}

结果

1)定义一个有参数有返回值的方法

语法:
    public static 返回值的数据类型 方法名(数据类型1 变量名1,数据类型2 变量名2,...){
            方法体
            return 数据;
    }

代码 

/**
* 定义了一个有参数有返回值得方法
* @return
*/
public static int add04(int num01,int num02 ) {
	int num = num01 + num02;
	System.out.println("代码被执行了");
	return num;
}

2)调用一个有参数有返回值的方法

语法:
    方式1:
         不接收返回值
         方法名(实参列表);
    方式2:
         接受返回值
         数据类型 变量名 = 方法名(实参列表);

代码

public class Demo04 {
	public static void main(String[] args) {
		//不接收返回值
		add04(10,1);
		System.out.println("--------------");
		//接收返回值
		int sum = add04(10,1);
		System.out.println("有参数有返回值的方法求和:"+sum);
	}
	/**
	* 定义了一个有参数有返回值得方法
	* @return
	*/
	public static int add04(int num01,int num02 ) {
		int num = num01 + num02;
		System.out.println("代码被执行了");
		return num;
	} 
}

结果

 4.方法的多重调用

在方法A中调用方法B就称为多重调用
注意:尽量避免互相调用

5.递归

在方法A中调用方法A
注意:尽量避免使用递归计算与算法相关的内容

6.可变参数

使用位置:形参列表末尾使用
定义:数据类型... 变量名
如:
  public static void add(int... nums){

  }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值