Java笔记

学了些 Java ,做个笔记

又学了点Java,记个笔记,免得以后忘了

Scanner 从键盘输入数据

可以从键盘输入的方法 Scanner,没想到这时候那个老师才讲到,是他教的方式与众不同,还是我学太慢了?
用法:

1
2
3
4
5
6
7
8
9
10
11
12
13
import java.util.Scanner;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);

int num = sc.nextInt();
System.out.println("输入的int数字是:" + num);

double bot = sc.nextDouble();
System.out.println("输入的double数字是:" + bot);

String str = sc.next();
System.out.println("输入的字符串是:" + str);
}
  • 先导包,把 Scanner 包导入
  • 先实例化一个 Scanner 对象,System.in 表示从键盘输入
  • 在接受数据时,数字数据是 next+类型这个方法,而字符串是直接用next,因为 Scanner 在接受键盘输入的时候接受的都是字符串,只不过是将数字强制转换了

匿名类

先定义一个类

1
2
3
4
5
6
7
8
9
public class Person {
String name;
public Person(String str){
this.name = str;
}
public void show(){
System.out.println("I am " + this.name);
}
}

我是这么理解匿名类的,在实例化对象的时候,如果这个类只需要用一次里面的方法,那么就没必要将它先实例化再调用方法,可以一步到位
比如

1
2
3
public static void main(String[] args) {
new Person("WJK!").show();
}

直接把熟悉传入后调用方法,使用完了就会被编译器回收内存,节省了内存的使用,也提升了代码整洁度

随机数

就是随机生成数字

1
2
3
4
5
6
import java.util.Random;
public static void main(String[] args) {
Random ran = new Random();
int num = ran.nextInt();
System.out.println("随机数是:" + num);
}

使用方法和 Scanner 差不多,先导包,然后实例化对象,就可以调用方法了,在生成随机数的时候用的yes next+类型的方法
nextInt() 方法可以带参数bound,表示[0, bound) 左闭右开的区间里去随机数,否则是在整个 int 里随机选择数字

1
ran.nextInt(10);
  • 随机生成 [0, 9) 里的数字
1
ran.nextInt(10) + 1;
  • 随机生成 [1, 10] 里的数字

虽然今天没学到多少,但还是辛苦自己了o( ̄ε ̄*)
好好学 Java ,学好后做 Android 开发,再学 kotlin ,然后 Android 逆向,走向头秃的人生巅峰n(≧▽≦)n