Java入门,第二周总结回顾
学习内容:
1、 函数的使用,导入数据以及返回数据
2、 数组,数组的构造、数组填充、排序、二分查找等
3、 StringBuffer和StringBuilder
4、系统时间的获取
5、数据类型的转换
一、函数的使用
可以新建两个不同的类,一个放主函数,另一个放我们所用到的方法,也就是用到的函数。
第一种,用public修饰的函数
所有人都可以直接拿来用,把访问权限修饰符设置成public,在其他包就能实例化你这个类,也就是所有包都能实例化这个类。例如:
public class Works {
public static int add(int a,int b){
int x=a+b;
return x;
} }
我在新建一个工作类,在里面加了一个加法函数
public class Main {
public static void main(String[] args) {
Scanner cs = new Scanner(System.in);
System.out.println("请输入第一个数:");
int a = cs.nextInt();
System.out.println("请输入第二个数:");
int b = cs.nextInt();
int y = Works.add(a, b);
System.out.println("加法的结果为:" + y);
}}
再建立一个主类,把主函数放在里面,只需要使用主函数调用工作类里面的函数即可,让主函数看起来更简洁,也提升了代码的复用性,以后用到加法还可以使用
2,private修饰的函数
表示私有化,提升代码的安全性,也就是代码的封装
如果想要调用就会用到set()方法与get方法或者构造函数方法。
例如:
创造一个学生对象,学生的各种信息都算是隐私,所以我们用private来保护隐私,只能通过特殊方法来获取,插入信息。
class Stutent1{
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public void show(){
System.out.println("学生叫做"+name+",年龄"+age);
}
}
public class Stutent1Test {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
Stutent1 stutent1=new Stutent1();
System.out.println("请输入姓名");
stutent1.setName(input.next());
System.out.println("请输入年龄");
stutent1.setAge(input.nextInt());
stutent1.show();
}
}
还有其他两种修饰,用得少,就不写了。
二、数组
这周只学了一维数组,建立数组的方法:
int[] 数组名=new int[数组长度];
不同类型的数组,使用也一样,把int换成所需类型即可
如果有了一个数组,我想替换里面的部分内容怎么办?
第一个方法可以用for循环来依此替换不同位置的内容;
第二个方法就是使用Arrays,例如:
Arrays.fill(数组名,起始位,结束位,填充物)
我们常常会遇到一个需要排序的数组,常常是用两个for循环来进行排序,那么有没有更简单的方法来排序呢?
可以使用
Arrays.sort();
直接就可以完成排序,当然默认是升序
一种高效率的查找方法:二分查找
二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。
Arrays.binarySearch();
虽然高效率,但是有一定的要求:
1.必须采用顺序存储结构。
2.必须按关键字大小有序排列。
三、StringBuffer和StringBuilder
当对字符串进行修改时,需要使用StringBuffer和StringBuilder。与String不同的是StringBuffer和StringBuilder类的对象可以被多次修改,并且不产生新的未使用对象。
但是,StringBuffer和StringBuilder之间的最大不同在于 StringBuilder 的方法不是线程安全的(不能同步访问)。虽然StringBuilder运行速度快,但是为了线程安全,就会使用StringBuffer类。
四、获取系统时间
Date date=new Date();
/*也可以设置时间的格式,如:
*/
String.format("%tF",date);
输出结果如:2020-09-17
五、数据类型的转换
①int转String
int i==3;
String.valueOf(i);
//转回去:
int i=Integer.parseLnt("3");
②boolean转String
b=Boolean.parseBoolean("true");
//转回去:
boolean b=false;
String.valueOf(b);
③double转String
double d=Double.parseDouble("3.7");
//转回去:
double d=3.7;
String.valueOf(d);
学习时间:
1、 周一至周五 9 点—22点
3、 周日 10 点- 22 点
学习产出:
1、 技术笔记 3页
2、自学HTML到图像标签属性设置