JAVA 的 Scanner类 、匿名对象、Random类、ArrayList类、Arrays类

1.Scanner类

    一个可以解析基本类型和字符串的文本扫描的类

  使用步骤:

       1.1 导包:import  包名.列名;

                  例:import Java.util.Scanne

 

      1.2 创建对象 : 数据类型 变量名 = new 数据类型 (参数列表);

                例:Scanner  sc = new Scanner (System.in);

       1.3 调用方法  :变量名.方法名;

                例:int i=sc.nextInt(); //接受一个键盘输入的Int类型的整数

      1.4 练习:键盘输入三个整数,获取最大值:

public class Demo01 {
    public static void main(String[] args) {
        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 temp=(a>b?a:b);
        int max=(temp>c?temp:c);
        System.out.println(max);
    }

 

2.匿名对象      

       没有变量名的对象叫做匿名对象

   2.1 匿名对象的格式:

            new 类名(参数列表);

                例:new Scanner(System.in);

 2.2 匿名对象直接调用方法:

                例: new Scanner(System.in).nextInt();

 2.3 匿名对象作为方法的参数:

public class Demo01 {
    public static void main(String[] args) {
        input(new Scanner(System.in));
    }

    private static void input(Scanner sc) {
        System.out.println(sc);
    }
}

   2.4 匿名对象作为方法的返回值:

public class Demo01 {
    public static void main(String[] args) {
        Scanner sc = getScanner();
        System.out.println(sc);
    }

    private static Scanner getScanner() {
        return new Scanner(System.in);
    }
}

3.Random类

     此类的实例用于生成伪随机数

     3.1 使用步骤;

           第一步   导包: java.util.Random;

           第二步    创建对象:Random  r =new Random();

           第三步    调用成员方法:   r.nextInt(int n);  //返回一个为随机数,范围在0-n之间(不包括n)。

     3.2 练习:猜数小游戏,随机生成一个1-100之间的数number,玩家猜一个数guessnumber,和num之间进行对不,系统会提示猜大了还是小了。猜中游戏结束。玩家最多只能猜10次,10次猜不中,游戏结束。

import java.util.Random;
import java.util.Scanner;
public class Demo01 {
    public static void main(String[] args) {
        Random random=new Random();
        int number=random.nextInt(100)+1;//0-100的随机数是0-99之间,故加1
        Scanner sc=new Scanner(System.in);
        for (int i = 0; i < 10; i++) {
            System.out.println("请输入你猜的数:");
            int guessnumber=sc.nextInt();
            if(guessnumber>number){
                System.out.println("猜的数字大了!");
            }else if(guessnumber<number){
                System.out.println("猜的数字小了!");
            }else {
                System.out.println("猜对了!");
                break;
            }
            if(i==9){
                System.out.println("10次过去了游戏结束!");
                break;
            }
        }
    }
}

4.ArrayList类

      数组的长度是固定的,无法适用于数据变化的需求,为了解决这个问题,Java提供了另一个容器lava.util.ArrayList集合类,能够让我们更加方便的存储和操作数据对象。 

     4.1 概念:ArrayList集合是大小可变的数组的实现,存储在其中的数据称为元素。ArrayList类提供了一些方法来操作其内部存储的元素。ArrayList可以不断的添加元素,其大小可以自动的增长。

     Java.util.ArrayList<E>:该类需要导包后才能使用

     <E>表示一种制定的数据类型,叫做泛型,在E出现的地方使用一种引用数据类型将其替换即可。

          例:ArrayList<String> list =new ArrayList<>();

  4.2 常用的方法  

          public boolean add(E e) :将指定的元素添加到此集合的尾部。

          public E remove(int index) :移除此集合中指定位置上的元素。返回被删除的元素。

          public E get(int index) :返回此集合中指定位置上的元素。返回获取的元素。

         public int size() :返回此集合中的元素数。遍历集合时,可以控制索引范围,防止越界。

  4.3 ArrayList集合存储基本数据类型

        ArrayList结合不能存储基本数据类型,只能存储引用类型的数据,但是可以存储基本数据类型的包装类。

        

基本类型基本类型的包装类
bytebyte
shortshort
intInteger
longlong
floatfloat
doubledouble
charcharacter
BoolenBoolen

4.4 练习:定义获取所有偶数集合的方法(ArrayList 类型作为返回值)

public class Demo01 {
    public static void main(String[] args) {
        Random r=new Random();
        ArrayList<Integer> list1=new ArrayList<>();
        for (int i = 0; i < 20; i++) {
            list1.add(r.nextInt(1000)+1);
        }
        ArrayList<Integer> arr = getArraylist(list1);
        System.out.print("[");
        for (int i = 0; i < arr.size(); i++) {
            if(i== arr.size()-1){
                System.out.println(arr.get(i)+"]");
            }else {
                System.out.print(arr.get(i)+",");
            }
        }
    }

    private static ArrayList<Integer> getArraylist(ArrayList<Integer> list1) {
        ArrayList<Integer> list2=new ArrayList<>();
        for (Integer i : list1) {
            if(i%2==0){
                list2.add(i);
            }
        }
        return list2;
    }
}

5 String类

         java.lang.String 类代表字符串。Java程序中所有的字符串文字(例如"abc" )都可以被看作是实现此类的实
例。

   5.1 string字符串的特点

           第一:字符串不变:字符串的值在创建后不可改变

String s1="abc";
s1+="d";
sout(s1);//"abcd"

       此时内存中有“abc”和“abcd”两个字符串,s1从指向    “abc”,改变了指向 “abcd”。

       第二:因为字符串是不可改变的,所以字符串可以被共享。

        String  s1="abc";

       String  s1="abc";     

       此时内存中只有个“abc”对象被创建了,同时被S1和S2共享,S1和S2指向同一个内存地址。

       第三:字符创“abc”等效于 char [ ] data={‘a’,'b','c'}。

          因为字符串String底层是靠字符数组实现的。

   

5.2 使用步骤

        构造方法:public String() :初始化新创建的 String对象,以使其表示空字符序列。

                       例:String str = new String();

                         public String(char[] value) :通过当前参数中的字符数组来构造新的String。

                       例;char chars[] = {'a', 'b', 'c'};

                             String str2 = new String(chars);

                      public String(byte[] bytes) :通过使用平台的默认字符集解码当前参数中的字节数组来构造新的String。

                       例:byte bytes[] = { 97, 98, 99 };

                             String str3 = new String(bytes);

5.3 常用方法

         public boolean equals (Object anObject) :将此字符串与指定对象进行比较。

         public boolean equalsIgnoreCase (String anotherString) :将此字符串与指定对象进行比较,忽略大小写。  

public class Demo01 {
    public static void main(String[] args) {
        String s1="abc";
        String s2="abc";
        String s3="ABC";
        System.out.println(s1.equals(s2));//true
        System.out.println(s1.equals(s3));//false
        System.out.println(s1.equalsIgnoreCase(s3));//true
        System.out.println(s1==s2);//true   S1和S2 指向同一个内存地址。

    }
}

         

         public int length () :返回此字符串的长度。

         public String concat (String str) :将指定的字符串连接到该字符串的末尾。

         public char charAt (int index) :返回指定索引处的 char值。

        public int indexOf (String str) :返回指定子字符串第一次出现在该字符串内的索引。没有出现就返回-1

        public String substring (int beginIndex) :返回一个子字符串,从beginIndex开始截取字符串到字符串结尾

        public String substring (int beginIndex, int endIndex) :返回一个子字符串,从beginIndex到endIndex截取字符串。含beginIndex,不含endIndex。

public class Demo01 {
    public static void main(String[] args) {
        String s1="abcefd";
        System.out.println(s1.length());//6
        System.out.println(s1.concat("efg"));//abcefdefg
        System.out.println(s1.charAt(2));//c
        System.out.println(s1.indexOf("a"));//0
        System.out.println(s1.substring(1));//bcefd
        System.out.println(s1.substring(0,2));//ab
    }
}

          public char[] toCharArray () :将此字符串转换为新的字符数组。

          public byte[] getBytes () :使用平台的默认字符集将该 String编码转换为新的字节数组。

          public String replace (CharSequence target, CharSequence replacement) :将与target匹配的字符串使用replacement字符串替换。

public class Demo01 {
    public static void main(String[] args) {
        String s1="abcefd";
        for (int i = 0; i < s1.toCharArray().length; i++) {
            System.out.print(s1.toCharArray()[i]+",");//a,b,c,e,f,d,
        }
        for (int i = 0; i < s1.getBytes().length; i++) {
            System.out.print(s1.getBytes()[i]+",");//97,98,99,101,102,100,
        }
        System.out.println(s1.replace("ab","AB"));//ABcefd
    }
}

           public String[] split(String regex) :将此字符串按照给定的regex(规则)拆分为字符串数组。     

          

public class Demo01 {
    public static void main(String[] args) {
        String s1="ab,cefd";
        String[] sp = s1.split(",");
        for (String s : sp) {
            System.out.println(s);//ab    cefd
        }
    }
}

 

6.Arrays类

    6.1 概念:

            Java.util.Arrays类 包含了操作数组的各种方法。Array类中的所有方法都为静态方法,调用简单

     6.2  Array中常用的方法:

         public static String toString(int[] a) :返回指定数组内容的字符串表示形式。

public class Demo01 {
    public static void main(String[] args) {
      int[] arr={1,2,35,6};
      System.out.println(arr);//[I@10f87f48   打印出来的地址值
      System.out.println(Arrays.toString(arr));//[1, 2, 35, 6]  输出数组内容的字符串表现形式
    }
}

          public static void sort(int[] a) :对指定的 int 型数组按数字升序进行排序。

public class Demo01 {
    public static void main(String[] args) {
      int[] arr={1,2,35,6};
      Arrays.sort(arr);
      System.out.println(Arrays.toString(arr));// [1, 2, 6, 35]
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值