我的Java学习记录02
经过一段时间的学习,我对Java有了一些了解。Java程序是由许多的方法组成的,就像C语言中的函数一样,main方法就如同C中的main函数。我们在写Java的代码时,如果把代码全部写在main方法里,就会显得很乱,看起来不舒服,这个时候,我们就需要自己去定义一个方法,在自己定义的方法中写代码,在main方法中只需要调用我们定义的方法就行了。如:
public class Method
{
public static void main(String[] args)
{
int result = sum( 1, 2);
System.out.println("-->" +result);
}
static int sum(int x, int y) //定义一个求和的方法
{
int add = x + y;
return add;
}
}
//输出结果为3
Java中的输入与C当中的输入有所不同,我通过书上的例子以及自己的一些类比,发现当我们需要输入一个值的时候,需要用到Scanner。简单举个例子:我们想要求两个数相加,可以写这样的代码
import java.util.Scanner; //是一个类,可以用这个类来从控制台写入数据
public class Test02
{
public static void main(String[] args)
{
double a = 0; double = 0; //需要给变量赋初始值
System.out.println("输入a, b的值");
Scanner inA = new Scanner(System.in);//创建Scanner对象
Scanner inB = new Scanner(System.in);
a = inA.nextDouble(); //输入一个值
b = inB.nextDouble();
double res = sum(a, b);
System.out.println("-->" +res);
}
static double sum( double x, double y) //自定义的两数相加的方法
{
double res = x + y;
return res;
}
}
通过这个代码,我们就可以实现简单的两数相加。在实现了两数相加后,两数之间的四则运算也就不难了,因此,我萌生了一个想法:我可不可以通过这种方法来做一个计算两数之间的四则运算的计算器呢。在多次尝试后,我发现,Scanner并不能接受char类型的变量,这导致了计算器的符号是无法使用的。经过查询得知,我们可以调用String 对象的charAt() 方法来获取第一个字符。于是,我们就可以得到这样的代码:
import java.util.Scanner;
public class Test02
{
public static void main(String[] args)
{
double a = 0, b = 0; //给变量初始值
char c = '0';
System.out.println("输入需要计算的式子(需要换行)");
Scanner inA = new Scanner(System.in);
Scanner inB = new Scanner(System.in);
Scanner inC = new Scanner(System.in); //创建Scanner对象
a = inA.nextDouble();
c = inC.next().charAt(0); //调用String 对象的charAt() 方法来获取第一个字符
b = inB.nextDouble(); //输入一个值
double res = calculate( a, c, b);
System.out.println("-->" +res);
}
static double calculate( double x, char y, double z) //计算两数间的四则运算
{
double res = 0;
switch( y )
{
case '+':
res = x + z;
break;
case '-':
res = x-z;
break;
case '*':
res = x * z;
break;
case '/':
res = x/z;
break;
default:
System.out.println("无法计算");
}
return res;
}
}
这样,我们就成功做出了一个能够进行四则运算的计算器了。