文章目录
前言
今日内容
- 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选择结构
- 多重分支并且条件判断是等值判断的情况
- 方法的使用
- 我们完全可以理解方法就是封装一组功能提供给我们重复使用
- 方法的返回值我们可以理解为工具为我们创造的产品