- Scanner
package com.itheima.CommonAPI;
//1. 导包
import java.util.Scanner;
//实现键盘输入数据到程序当中
//引用类型的基本使用步骤
/*
* 1.导包
* 包路径.类名称
* 如果使用的目标类和当前类位于同一个包下,则可以省略导包语句不用写
* 只有java.lang下的包不用导包比如说String,其他下的包都需要import语句。
* 2.创建
* 类名称 对象名 = new 类名称();
* 3.使用
* 对象名.成员方法名
* 比如说要获取键盘输入的一个int型数字,int num = sc.nextInt();这个是有返回值的,需要num去接收它
* 比如说要获取键盘输入的一个字符串, String str = sc.next();
* */
public class ScannerTest {
public static void main(String[] args) {
//2. 创建
//System.in代表从键盘输入
Scanner sc = new Scanner(System.in);
//3.使用,获取键盘输入的一个int型数字
int num = sc.nextInt();
System.out.println(num);
String str = sc.next();
System.out.println("输入的字符串是" + str);
}
}
- 匿名对象
匿名对象就只有右边的对象没有左边的赋值,比如说new Person();
注意事项:匿名对象只能使用唯一的一次,下次再用不得不创建一个新的对象
使用建议,如果确定一个对象只使用一次那么可以用匿名对象 - Random
package com.itheima.CommonAPI;
import java.util.Scanner;
import java.util.Random;
import java.util.Scanner;
/*
* Random用来生成随机数字
* 1.导包
* 2.创建
* 3.使用
* */
public class RandomText {
public static void main(String[] args) {
2 创建
// Random r = new Random();
3.使用 获取随机的一个整型数字
// int num = r.nextInt();
// System.out.println(num);
// //3.获取一个指定范围大小的数字,是nextInt(int num)函数的重载,左闭右开,永远不会出现右边的边界数字
// int num1 = r.nextInt(3);
// System.out.println(num1);
// //如果给定范围是0-9,我想要1-10的数字,那么整体加上10就可以了
// int num2 = r.nextInt(9) + 1;
// System.out.println(num2);
//数字小游戏,用户随机输入一个数字,然后利用随机数产生一个数字,判断用户输入的和随机产生的大小
System.out.println("请输入一个数字");
while(true){
Scanner sc = new Scanner(System.in);
int userInput = sc.nextInt();
Random r = new Random();
int randomNumber = r.nextInt(100) + 1;
System.out.println("随机产生的数字是" + randomNumber);
if(userInput < randomNumber){
System.out.println("小了");
}else if(userInput == randomNumber){
System.out.println("游戏结束");
break;
}else{
System.out.println("大了");
}
}
}
}
- ArrayList
package com.itheima.CommonAPI;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Random;
/*
* 数组的长度不可以改变
* ArrayList的长度是可以随意改变的
*对于ArrayList来说,有一个尖括号<E>代表泛型,
* 泛型:也就是装在集合当中的所有元素,全都是统一的什么类型
* 只能是引用类型,不能是基本类型
* 对于ArrayList集合来说,直接打印集合名,打印出来的不是地址值,而是内容
* 如果内容为空,得到的是空的中括号[]
* */
public class ArrayListTest {
public static void main(String[] args) {
// Person[] array = new Person[3];
// Person one = new Person("古力娜扎",22);
// Person two = new Person("马尔扎哈",23);
// Person three = new Person("嘻嘻哈哈",24);
// array[0] = one;
// array[1] = two;
// array[2] = three;
// System.out.println(array[0]);
// System.out.println(array[1]);
// System.out.println(array[2]);
// System.out.println(array[0].getName());
//创建泛型,添加打印出来 add(添加的元素)方法,添加的元素和泛型保持一致
//返回值代表添加是否成功
ArrayList<String> list1 = new ArrayList<>();
//对于ArrayList来说,add动作添加一定是成功的,但是其他的泛型就不一定了(今后学习)
boolean success = list1.add("小头爸爸");
System.out.println("添加动作是否成功" + success);
list1.add("荣小琪是只^(* ̄(oo) ̄)^");
list1.add("荣小琪");
list1.add("荣小琪100斤了");
System.out.println(list1);
//创建泛型,get(索引编号),返回值就是对应位置的元素,索引值从0开始
ArrayList<String> list2 = new ArrayList<>();
list2.add("荣小琪");
list2.add("荣小琪···");
list2.add("荣小琪100斤了");
String name = list2.get(1);
System.out.println(name);
//创建泛型,移除其中的某一项,索引值从0开始
ArrayList<String> list3 = new ArrayList<>();
list3.add("荣小琪");
list3.add("荣小琪···");
list3.add("荣小琪100斤了");
String name3 = list3.remove(2);
System.out.println("被删除的人是谁:" + name3);
System.out.println(list3);
System.out.println(list3.size());
for (int i = 0; i < list3.size(); i++) {
System.out.println(list3.get(i));
}
//生成6个1~33之间的随机整数,添加到集合,并遍历
Random r = new Random();
ArrayList<Integer> list4 = new ArrayList<>();
for(int i = 0;i<6;i++){
int number = r.nextInt(33) + 1;
list4.add(number);
}
for (int i = 0; i < list4.size(); i++) {
System.out.println(list4.get(i));
}
//自定义4个学生对象,添加到集合,并遍历
ArrayList<Person> list5 = new ArrayList<>();
Person one = new Person("马尔扎哈1",23);
Person two = new Person("马尔扎哈2",24);
Person three = new Person("马尔扎哈3",25);
list5.add(one);
list5.add(two);
list5.add(three);
for (int i = 0; i < list5.size(); i++) {
System.out.println("姓名是" + list5.get(i).getName() + ",年龄是 " + list5.get(i).getAge());
}
//定义以指定格式打印集合的方法(ArrayList类型作为参数),使用{}扩起集合,使用@分隔每个元素。格式参照 {元素
// @元素@元素}
ArrayList<String> list6 = new ArrayList<>();
list6.add("adsdasd");
list6.add("lkjhkhj");
list6.add("qweqweq");
printArrayList(list6);
//大集合中有20个随机数字,定义获取所有偶数元素集合的方法(ArrayList类型作为返回值)
ArrayList<Integer> list7 = new ArrayList<>();
for(int i = 0;i<20;i++){
int number = r.nextInt(100) + 1;
list7.add(number);
}
ArrayList<Integer> list9 = isOdd(list7);
System.out.println(list9);
}
public static void printArrayList(ArrayList<String> list){
System.out.print("{");
for (int i = 0; i < list.size(); i++) {
String s = list.get(i);
if(i != list.size()-1){
System.out.print(s + "@");
}else{
System.out.print(s + "}");
}
}
}
public static ArrayList<Integer> isOdd(ArrayList<Integer> list){
Random r = new Random();
ArrayList<Integer> list8 = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
int number1 = list.get(i);
if(number1%2==0){
list8.add(number1);
}
}
System.out.println("长度为:" + list8.size());
return list8;
}
}