Java之旅-Day3


前言

今日内容

  • if选择结构综合案例
  • 深入了解带参方法及返回值
  • Switch-选择结构的另一种方式 深入理解方法的使用

一、If选择结构练习,超级无敌计算器

  • 解决方案1:
import java.util.Scanner;
public class Demo11 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("********************");
        System.out.println("超级无敌计算器");
        System.out.println("********************");
        System.out.println("请输入你要选择的计算+ - * /");
        //获取操作符
        String operator = input.next();
        //根据操作符获取操作值进行计算
        if (operator.equals("+")) {
            System.out.println("请输入第一个数");
            int num1 = input.nextInt();
            System.out.println("请输入第二个数");
            int num2 = input.nextInt();
            System.out.println("加法运算:" + num1 + operator + num2 + "= " + (num1 
+ num2));
       }
        if (operator.equals("-")) {
            System.out.println("请输入第一个数");
            int num1 = input.nextInt();
            System.out.println("请输入第二个数");
            int num2 = input.nextInt();
            System.out.println("加法运算:" + num1 + operator + num2 + "= " + (num1 
- num2));
       }
        if (operator.equals("*")) {
            System.out.println("请输入第一个数");
            int num1 = input.nextInt();
            System.out.println("请输入第二个数");
            int num2 = input.nextInt();
            System.out.println("加法运算:" + num1 + operator + num2 + "= " + (num1 
* num2));
       }
        if (operator.equals("/")) {
            System.out.println("请输入第一个数");
            double num1 = input.nextInt();
            System.out.println("请输入第二个数");
            double num2 = input.nextInt();
            System.out.println("加法运算:" + num1 + operator + num2 + "= " + (num1 
/ num2));
       }
   }
}

  • 上面的代码可以解决问题。但是我们需要考虑有没有其他的解决方案。
  • 同时,同样是除法,如果我们输入的除数为0会出现什么情况,需要对除数做出判断
if (num2 == 0) {
 System.out.println("除数不能为0");
} else {
 System.out.println("加法运算:" + num1 + operator + num2 + "= " + (num1 / 
num2));
}

二、深入方法的使用

2.1回忆此前我们学习的方法

public class MethodDemo {
	public static void juicer(){
 	System.out.println("这里是一杯果汁");
 	return;
}
public static void main(String[] args) {
	juicer();
}
}

2.2方法的参数和带参方法

package day1;
import java.util.Scanner;
public class demo04 {       
	public static void juicer(String fruits,int num){        
		System.out.println("这里是"+num+"杯"+fruits+"汁");       
		return;    
	}        
	public static void main(String[] args) {
		juicer("西瓜",1);        
		juicer("苹果",2);       
		juicer("橘子",3);   
	}
}

是的,方法就是封装了一些功能。我们需要的时候调用即可,我们可以定义多个参数

  • 这里我们需要说一下java的print的语句
public static void main(String[] args) {
    //输出不换行
    System.out.print("蒸羊羔");
    //添加换行符
    System.out.print("蒸熊掌\n");        
    System.out.print("蒸鹿尾儿");    
    //此前C语言的语法,java1.5引入java,但老java程序员用的较少,因为没有快捷键    
    System.out.printf("今天吃了%d根油条",1);  
    System.out.printf("价格为%.2f元\n",1.567);        
    System.out.printf("还喝了%d晚豆浆",1);   
}

2.3 了解并学会使用方法的返回值

public class MethodDemo {
    
    //加法方法
 public static int addition(int num1,int num2){
 return num1 + num2;
 }
 //减法方法
 public static int substract(int num1,int num2){
 return num1 - num2;
 }
 //乘法方法
 public static int multiplication(int num1,int num2){
 return num1 * num2;
 }
 //除法方法
 public static double division(double num1,int num2){
 if (num2 == 0){
 System.out.println("被除数不能为0");
 return 0;
 } else {
 return num1 / num2;
 }
 }
   
 public static void main(String[] args) {
 Scanner input = new Scanner(System.in);
 System.out.println("请输入第一个数字");
 int num1 = input.nextInt();
 System.out.println("请输入第二个数字");
 int num2 = input.nextInt();
 System.out.println("请输入你要做的运算 +、-、*、/");
 String operator = input.next();
 double result = 0;
 if(operator.equals("+")){
 result = addition(num1,num2);
 }else if(operator.equals("-")){
 result = substract(num1,num2);
 }else if(operator.equals("*")){
 result = multiplication(num1,num2);
 }else if(operator.equals("/")){
 result = division(num1,num2);
 }
 System.out.println("计算完成");
 System.out.println(num1+operator+num2+"="+result);
 }
}

此时我们的程序有了相当的规模。当然,还有很多的欠缺。

三、选择结构 switch

3.1 switch()语句的结构

switch (表达式) {
    case 常量 1:
 语句;
 break;
    case 常量 2:
 语句;
 break;default:
 语句;
 }

3.2 switch语句中常见错误

1.要注意,case后的每一条语句不能忘记break语句
2.case后面的值不能重复

  • switch与多重if的相同点
    • 都是用来处理多分支条件的结构
  • switch与多重if的不同点
    • switch只能处理等值条件判断的情况
    • if结构判断语句顺序不能发生改变
    • switch语句的顺序可以随意

3.3 switch语句实现超级无敌计算器

package day1;
import java.util.Scanner;
public class demo02 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("输入第一个数:");
		int num1 = sc.nextInt();
		System.out.println("输入第二个数:");
		int num2 = sc.nextInt();
		System.out.println("输入第三个数:");
		int num3 = sc.nextInt();
		System.out.println("输入运算符:");
		char ch = sc.next().charAt(0);
		int result = 0;//保存运算结果
		switch (ch) {
		case '+':
			result = num1 + num2 + num3;
			System.out.println(num1+" + "+num2+" + "+num3+" = "+result);
			break;
		case '-':
			result = num1 - num2 - num3;
			System.out.println(num1+" - "+num2+" - "+num3+" = "+result);
			break;
		case '*':
			result = num1 * num2 * num3;
			System.out.println(num1+" * "+num2+" * "+num3+" = "+result);
			break;
		case '/':
			if(0 == num1 || 0 == num2 || 0 == num3){
				System.out.println("不可以有0,请重新输入");
				break;
			}
			else {
				result = num1 / num2 / num3;
				System.out.println(num1+" / "+num2+" / "+num3+" = "+result);
				break;				
			}

		default:
			System.out.println("请重新输入");
			break;
			}

}
}

总结

  • if选择结构,包括以下形式
    • 基本if选择结构:可以处理单一或组合条件的情况
    • if-else选择结构:可以处理简单的条件分支情况
    • 多重if选择结构:可以处理分段的条件分支情况
    • 嵌套if选择结构:可以处理复杂的条件分支情况
  • switch选择结构
    • 多重分支并且条件判断是等值判断的情况
  • 方法的使用
    • 我们完全可以理解方法就是封装一组功能提供给我们重复使用
    • 方法的返回值我们可以理解为工具为我们创造的产品
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值