Java学习记录02
在学习中,博客的书写不可缺少,相应的markdown基本语法也要掌握,下面是自己在CSDN上查找并学习的链接:Markdown语法
2.6项目实训:基于控制台设计简易打折与累加计算
import java.util.Scanner;
public class Counter
{
public static void main(String[] args)
{
System.out.println("欢迎使用计算器");
while(keep()==1)//计算器的循环
{
input_output();
}
}
static int count_data(int data1,int data2,char sign)//数据符号的判断及计算
{
int data=0;
switch(sign)
{
case '+':data=data1+data2;break;
case '-':data=data1-data2;break;
case '*':data=data1*data2;break;
case '/':data=data1/data2;break;
}
return data;
}
static int input_output()//输入与输出
{
System.out.println("请输入第一个整数:");
Scanner in1=new Scanner(System.in);
int data1=in1.nextInt();
System.out.println("请输入运算符号:");
Scanner in2=new Scanner(System.in);
char sign=in2.next().charAt(0);//注释一
System.out.println("请输入第二个整数:");
Scanner in3=new Scanner(System.in);
int data2=in3.nextInt();
int data=count_data(data1,data2,sign);
System.out.println("请输入运算符号:"+data);
return 0;
}
static int keep()//循环的判断方法
{
System.out.println("是否继续Y/N:");
Scanner in4=new Scanner(System.in);
String think=in4.nextLine();//注释二
if("Y".equals(think)||"y".equals(think))//注释三:equals函数
{
return 1;
}
else
{
System.out.println("谢谢使用计算器OVER");
return 0;
}
}
}
知识总结:
-
标识符的定义区分大小写,见名知意,使用驼峰命名法
-
注释一:char类型的输入
Scanner in = new Scanner(System.in);
char a = in.next().charAt(i);
把str的第i个char值赋值给a,类似于数组的查找。
-
注释二:Scanner类
nextlnt():只读取int值,nextFloat()、nextDouble()这些也是以此类推
next() 对于录入的字符串碰到空格就会停止录入
nextLine()会把整行字符串全部录入
-
注释三:equals函数
此处表示比较输入的字符与Y/y,两个对象是否相同
-
System.out.println(输出项);
输出结果后换行,输出项可以是变量名、常量、表达式
System.out.print(输出项);
在当前位置输出结果
equals函数、hashcode()和toString()
-
equals
-
是Object类里面的方法,所有类都包括equals函数,只能适用于引用数据类型。
-
“==”操作符的作用:对于对象,==表示两个引用指向同一个对象。
equals的作用:是比较两个对象是否相同。
在通常情况下,对象内容相同的条件:1)对象的类型相同。 2)两个对象的成员变量的值完全相同。
-
使用方法:x与y的比较,x.equals(y),相等返回true,否则返回false。
-
-
hashcode()
- 如果两个对象用equals相比,是相等的,那么它们用hashCode()计算出来的哈希码也是一样的。
- hashcode方法返回该对象的哈希码值。
-
toString()
作用:把一个无论什么类型的对象,转换成一个String字符串,使程序有更好的可读性。便于开发者调试。