1、Scanner类
--Scanner类可以理解为:一个cmd交互解释器,从控制台获取输入数据
--基本实例如下:当然可以next很多类型,不仅有nextInt,如果希望接受字符串可以使用nextLine()
Scanner sc = new Scanner(System.in);
int i = sc.nextInt();
--备注:System.in 系统输入指的是通过键盘录入数据。
--java.lang包下的所有类无需导入,但是Scanner在java.util.Scanner;这里,需要导入
import java.util.Scanner;
--实例:
package com.test;
import java.util.Scanner;
public class ScannerTest {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
String i = sc.nextLine();
System.out.println(i);
}
}
2、配置idea中输入system 和 main简写方式
--01、选择setting设置-->Editor--->Live Templates
--02、点击+,先创建Template Group
--03、再点击+,创建Live Template
--04、在下面的Abbreviation中输入简写方式,Description中最好和Abbreviation保持一致,在Template text中输入要替换的代码
--05、最下面哪一行有个下拉框点开,选择这个模板应用在哪一种语言编程中
实例:
main
public static void main(String[] args){
$start$
}
$start$表示生成模板后光标位置
print 这里是我python的书写习惯,我觉得java到最后都应该变成python那样简洁才对
System.out.println($start$);
3、匿名对象
--说白了就是,只创造出来了,没人接手这个变量或者对象
--应用场景很局限,因为没有人接受,所以无法像变量那样重复调用
--可以作为方法的返回值和参数
--具体格式:new 类名(参数列表);
示例如下:
参数:
class Test {
public static void main(String[] args) {
// 普通方式
Scanner sc = new Scanner(System.in);
input(sc);
//匿名对象作为方法接收的参数
input(new Scanner(System.in));
}
public static void input(Scanner sc){
System.out.println(sc);
}
}
返回值:
class Test2 {
public static void main(String[] args) {
// 普通方式
Scanner sc = getScanner();
}
public static Scanner getScanner(){
//普通方式
//Scanner sc = new Scanner(System.in);
//return sc;
//匿名对象作为方法返回值
return new Scanner(System.in);
}
}
4、Random类
--Random类的实例用于生成伪随机数。
--Random r = new Random();
--int i = r.nextInt();
--实例:这里获取的是一个高斯值
import java.util.Random;
public class RandomTest {
public static void main(String[] args){
Random rm = new Random();
double i = rm.nextGaussian();
System.out.println(i);
}
}
--random.nextInt(100) 生成的是 0~100 之间的数包括0 不包括 100,即0~99整数中的任何一个
5、ArrayList类
--在此之前我们学习使用的容器只有数组一个List,数组长度是固定的。为了解决这个问题需要使用Java提供的另一个容器 java.util.ArrayList 集合类
--ArrayList:导入包
--import java.util.ArrayList;
--是大小可变的数组的实现,存储在内的数据称为元素。
--此类提供一些方法来操作内部存储的元素。 ArrayList 中可不断添加元素,其大小也自动增长。
--java.util.ArrayList <E> 该类需要 import导入使后使用。
--<E>表示一种指定的数据类型,叫做泛型。 E取自Element(元素)的首字母。在出现E的地方,我们使用一种引用数据类型将其替换即可,表示我们将存储哪种引用类型的元素。
--基本格式:
ArrayList<String> list = new ArrayList<String>();
jdk7之后书写格式变化为:
ArrayList<String> list = new ArrayList<>();
import java.util.ArrayList;
public class ArrayListTest{
public static void main(String[] args){
ArrayList<String> arrstr = new ArrayList<>();
arrstr.add("liming");
arrstr.add("wangxin");
arrstr.add("chuchengcheng");
System.out.println(arrstr);
System.out.println(arrstr.size());
}
}
--对于元素的操作,基本体现在——增、删、查。常用的方法有:
public boolean add(E e) :将指定的元素添加到此集合的尾部。
public E remove(int index) :移除此集合中指定位置上的元素。返回被删除的元素。
public E get(int index) :返回此集合中指定位置上的元素。返回获取的元素。
public int size() :返回此集合中的元素数。遍历集合时,可以控制索引范围,防止越界。
package com.test;
import java.util.ArrayList;
public class ArrayListTest{
public static void main(String[] args){
ArrayList<String> arrstr = new ArrayList<>();
arrstr.add("liming");
arrstr.add("wangxin");
arrstr.add("chuchengcheng");
System.out.println(arrstr);
System.out.println(arrstr.size());
//遍历 数组
for(int i = 0; i < arrstr.size(); i++){
System.out.println(arrstr.get(i));
}
//加一个元素
arrstr.add("daitou");
//获取最后一个元素
System.out.println(arrstr.get(arrstr.size() - 1));
//移除最后一个元素
arrstr.remove(arrstr.size() -1);
System.out.println(arrstr.get(arrstr.size() - 1));
}
}
6、ArrayList的包装类型
--ArrayList对象不能存储基本类型,只能存储引用类型的数据。类似 <int> 不能写,但是存储基本数据类型对应的包装类型是可以的。所以,想要存储基本类型数据, <> 中的数据类型,必须转换后才能编写,转换写法如下:
基本类型 基本类型包装类
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean
--基本上 包装类型就是基本类型首字母大写,int char还需要补全英文单词
--接下来实例表示:包装类及其对应的基本类型可以互相赋值
package com.test;
public class ArrayListTestBase {
public static void main(String[] args){
Integer i = 15;
int a = i;
System.out.println(a);
char ca = 'A';
Character c = ca;
System.out.println(c);
}
}
--只要是一个类就可以作为参数传入和返回值传递出去
public static void main(String[] args) {
// 创建Random 对象
Random random = new Random();
// 创建ArrayList 对象
ArrayList<Integer> list = new ArrayList<>();
// 添加随机数到集合
for (int i = 0; i < 20; i++) {
int r = random.nextInt(1000) + 1;
list.add(r);
}
// 调用偶数集合的方法
ArrayList<Integer> arrayList = getArrayList(list);
System.out.println(arrayList);
}
public static ArrayList<Integer> getArrayList(ArrayList<Integer> list) {
// 创建小集合,来保存偶数
ArrayList<Integer> smallList = new ArrayList<>();
// 遍历list
for (int i = 0; i < list.size(); i++) {
// 获取元素
Integer num = list.get(i);
// 判断为偶数,添加到小集合中
if (num % 2 == 0){
smallList.add(num);
}
}
// 返回小集合
return smallList;
}