构造方法
当一个对象创建时,构造方法用来初始化对象,给对象的成员变量赋值。
- 方法名和类名一致
- 无返回值
无论是否自定义构造方法,所以类都有构造方法,因为java会自动提供给我们一个无参构造方法。一旦自己定义了构造方法,java自动提供无参构造方法失效。
注意:
- 如果不创建构造方法, 系统会默认生成一个无参构造方法。
- 如果自己已经创建了一个构造方法,系统将不再提供无参构造方法。
- 构造方法是可以重载的。
标准的类
JavaBean,是java语言编写类的一种规范,符合javaBean类,要求必须是具体和公开的。并且具有无参构造方法和有参构造方法,并且提供操作成员变量提供的get和set方法
public class test{
//成员变量
//无参构造方法(必须有)
//有参构造方法(根据情况创造)
//成员方法
//set和get方法
}
API
api其实就是一个应用程序的编程接口,javaAPI可以理解为我们程序员的一个字典,说明文档。
api的使用步骤:
- 打开说明文档
- 点击显示,找到索引,可以找到输入框输入关键字
- 如果是java.long类的,不需要导包
- 可以看具体类的一些说明
Scanner引用类型的一般使用步骤
-
导包
import 包路径.类名
如果需要使用的目标类和当前类位于同一个包下,则可以省略导包语句不写。
只有java.lang包下的内容不需要导包,其他的包都需要import语句。
-
创建
一个可以解析我们基本类型和字符串的一个简单文本解析器
以下代码使用户能够从System.in中读取一个数
Scanner sc = new Scanner(System.in);
-
使用
对象名.成员方法名();
获取键盘输入的一个int数字:int num = sc.nextInt();
获取键盘输入的一个字符串:String str = sc.nextLine();
import java.util.Scanner; public class test1 { public static void main(String[] args) { System.out.println("请输入字符"); Scanner sc = new Scanner(System.in); String a = sc.nextLine(); System.out.println("您输入的是:"+a); } }
public class test1 { public static void main(String[] args) { // 求输入的3个数中的最大值 Scanner sc = new Scanner(System.in); System.out.println("请输入第一个数据:"); int a = sc.nextInt(); System.out.println("请输入第二个数据:"); int b = sc.nextInt(); System.out.println("请输入第三个数据:"); int c = sc.nextInt(); int max=a>b?a:b>c?b:c; System.out.println("最大值是:"+max); } }
匿名对象
概念:创建对象时,只创建对象的语句,却没有把对象的地址赋值给某一个变量,虽然是简单的用法,但是应用场景有限。
应用场景:
- 创建匿名对象直接调用方法,没有变量
- 一旦调用两次方法,就会创建两次对象,造成浪费
创建对象的标准格式:类名 对象名 = new 类名();
匿名对象就是只有右边的对象,没有左边的名字和赋值运算符。
格式:new 类名();
注意事项:匿名对象只能使用唯一一次,下次再用不得不重新创建一个新对象。
使用建议:如果确定有一个对象只需要使用唯一的一次,就可以用匿名对象。
使用匿名对象作为方法的参数
public static void main(String[] args) {
methodParam(new Scanner(System.in));
}
public static void methodParam(Scanner sc) {
int num = sc.nextInt();
System.out.println("输入的是:" + num);
}
}
使用匿名对象作为返回值
Scanner sc = methodReturn();
int num = sc.nextInt();
System.out.println("输入的是:" + num);
}
public static void methodReturn(){
/* Scanner sc = new Scanner(System.in);原写法
return sc;*/
return new Scanner(System.in);
}
Random类用来生成随机数字
查看类:java.util.Random
构造方法:Random() 创建一个随机生成器
Random r= new Random();
int ram = r.nextInt();无参的代表取值范围为int的范围,有正有负
int ram = r.nextInt(int bound);返回一个随机数,范围[0,n)之间的int值
使用这个类,完成3个10以内的随机整数:
import java.util.Random;
public class ScannerDemo {
public static void main(String[] args) {
//使用这个类,完成3个10以内的随机整数:
Random random=new Random();
for (int i = 0; i <3 ; i++) {
//随机生成一个数据
int i1 = random.nextInt(10);
//输出我们的数据数
System.out.println("随机数:"+i1);
}
}
}
随机生成器
public class ScannerDemo {
public static void main(String[] args) {
//创建随机生成器 1‐‐50
Random random=new Random();
int i = random.nextInt(50)+1;
System.out.println(i);
}
}
猜一个1到100的数字:
public static void main(String[] args) {
// 猜测一个1到100的随机数
Random r = new Random();
int RandomNumber = r.nextInt(100)+1;
while (true){
Scanner sc = new Scanner(System.in);
System.out.println("请输入1-100之间的数字:");
int ScannerNumber =sc.nextInt();
if (ScannerNumber>RandomNumber){
System.out.println("太大了,请重试");
}else if (ScannerNumber < RandomNumber){
System.out.println("太小了,请重试");
}else {
System.out.println("恭喜你,猜对了,正确的数是"+ScannerNumber);
break;
}
}
System.out.println("游戏结束");
}
格式化快捷键代码:ctrl+alt+l
ArrayList数组
数组的长度不可以发生变化,但是ArrayList集合的长度是可以随意变化的
导包:java.util.ArrayList;
格式:ArrayList list = new ArrayList<>();
对于ArrayList来说,有一个尖括号代表泛型
泛型:就是装在集合中的所有元素,全部都是统一的什么类型。
注意:泛型只能是引用类型,不能是基本类型
注意事项:
对于ArrayList集合来说,直接打印得到的不是地址值,而是内容,如果内容是空,得到的是空的中括号:[]
ArrayList当中的常用方法有:
public boolean add(E e):向集合当中添加元素,参数的类型和泛型一致。
import java.util.ArrayList;
public class Demo {
public static void main(String[] args) {
//创建ArrayList对象
ArrayList<String> arrayList=new ArrayList<>();
String s1="小猫";
String s2="小狗";
String s3="小黄";
System.out.println(arrayList);
arrayList.add(s1);
arrayList.add(s2);
arrayList.add(s3);
//打印学生的一个集合
System.out.println(arrayList);
}
}
public E get(int index):从集合当中获取元素,参数是索引编号,返回值就是对应位置的元素。
public E remove(int index): 从集合当中删除元素,参数是索引编号,返回值就是被删除掉的元素。
public int size(): 获取集合的尺寸长度,返回值是集合中包含的元素个数。
list数组长度,list.size();
获取list里的值,list.get(i)
import java.util.ArrayList;
public class test {
public static void main(String[] args) {
ArrayList<String> List = new ArrayList<>();
String a = "song";
String b = "sang";
String c = "dance";
//add
List.add(a);
List.add(b);
List.add(c);
System.out.println(List);//[song,sang,dance]
//get
System.out.println(List.get(0));//song
System.out.println(List.get(2));//dance
System.out.println(List.get(1));//sang
//size
System.out.println(List.size());//3
//remove
System.out.println(List.remove(1));//sang
System.out.println(List);//[song,dance]
}
}