Java学习Day02

今日学习内容总结

  • 获取用户输入元素
  • 匿名对象
  • Random方法
  • 对象数组
  • ArrayList
  • String

Scanner

  • 实现键盘输入数据
  • 导入包:import java.util.Scanner;
  • 使用方法:Scanner scanner = new Scanner(System.in);
    - System.in 代表从键盘输入
    - 获得键盘输入的数字:scanner.nextInt();
    - 获得键盘输入的字符串:scanner.next();

例子

import java.util.Scanner;
public class InputSum {
    public static void main(String[] args) {
        System.out.println("输入第一个数字");
        Scanner scanner=new Scanner(System.in);
        int one=scanner.nextInt();
        System.out.println("输入第二个数字");
        int two=scanner.nextInt();
        System.out.println("二者之和为:"+(one+two));
    }

}
  • 实现文件输入与输出
  • 使用方法 :
      读取文件:Scanner in = new Scanner(Paths.get("myfile.txt"),"UTF-8");
      绝对路径:"C:\mydirectory\myfile.txt"
      写入文件可用:PrintWriter out = new PrintWriter("myfile.txt","UTF-8");

匿名对象

不需要赋值给等号左边,直接new。匿名对象只能访问一次成员变量或成员方法

System.out.println(new Scanner(System.in));

Random

  • 导入包:import java.util.Random
  • 创建:Random r = new Random();
  • 使用:r.nextInt()正负所有Int范围内随机生成
       r.nextInt(100) 表示从0-100之间随机生成数字,但不包括100
    案例:猜数游戏
import java.util.Random;
import java.util.Scanner;

public class RandomGame {
public static void main(String[] args) {
    Scanner scanner=new Scanner(System.in);
    Random random=new Random();
    int num=random.nextInt(30);
    while (true){
        System.out.println("请输入数字");
        int n=scanner.nextInt();
        if (n>num){
            System.out.println("大了");
        }
        else if(n<num){
            System.out.println("小了");
        }
        else{
            System.out.println("对了");
            break;
        }
    }
}
}

对象数组

  • 创建方法:类名[] 对象数组 = new 类名[n];
        Person[] person = new Person[3];
        Person one = new Person();
        person[0] = one;

ArrayList<E>

<E>代表泛型,泛型只能是引用类型,不可以是基本类型,可以是包装类
基本类型   包装类
byte      Byte
short     Short
int      Integer
long        Long
char       Character
float        Float
double      Double
boolean     Boolean
相对于数组来说,数组长度固定;而ArrayList长度不固定,可使用add()方法往里添加数据

  • 导包:import import java.util.ArrayList;
  • 创建:ArrayList<String> list = new ArrayList<>();
  • 常用方法:add() 向ArrayList中添加数据
       get() 从ArrayList中获取数据
       remove() 从ArrayList中删除数据
       size() 获取ArrayList的长度
        ArrayList<String> list = new ArrayList<>();
        list.add("Hello");
        list.add("World");
        list.add("Hello Java");
        System.out.println(list);
        System.out.println(list.get(1));
        list.remove(0);
        System.out.println(list);
        System.out.println(list.size());

ArrayList遍历:

for (int i = 0; i < list.size(); i++) {
    System.out.println(list.get(i));
}

String

  • 共有四种创建方法:
    • String str1 = new String();创建一个空白字符串
    • char[] charArray = {'A','B','C'};
      String str2 = new String(charArray);通过字符数组创建
    • byte[] byteArray = {97,98,99};
      String str3 = new String(byteArray);通过字节数组创建
    • String str4 = " "; 直接创建

==是用来进行对象的地址值比较,比较字符串内容用equals();


字符串==比较
  • 1、分割字符串:str.substring(0,n);代表从字符串中第0号元素到第n-1号元素中分离出来;
             str.substring(int index)代表从index开始截取一直到末尾结束;
    例子:
    String str="Hello";
    String s=str.substring(0,3);//结果为Hel
    
  • 2、检测字符串是否相等:equals方法
    方法一:两个字符串变量比较
str.equals(s);

方法二:字符串字面量与字符串变量比较

"Hello".equals(str);

方法三:不区分大小写比较:equalsIgnoreCase

"Hello".equalsIgnoreCase("hello")
  • 3、字符串长度:str.length()
  • 4、拼接字符串 str.concat(String str);
  • 5、获取指定索引位置的单个字符:str.charAt(int index);
  • 6、查找参数字符串在本字符串首次出现的索引位置:str.indexOf(String str);
  • 7、字符串中的转换方法:
       - 将字符串拆成字符数组toCharArray(); str.toCharArray();
       - 将字符串拆分成字节数组 getBytes(); str.getBytes();
       - 字符串内容替换 replace(CharSequence oldstring,CharSequence newstring);str.replace("","");
  • 8、分割字符串:split(String regex); str.split("");
       注意:split方法的参数是一个正则表达式
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 都说时光如梭,光阴似箭!本周我却有不一样的感受,总感觉过得好慢,或许有时候我们就是通过不断做事情来让自己的...
    贵州119杨秀丽阅读 554评论 2 1
  • 作者 琴心 水是岸的新娘拥着吻着碰在一起就开出浪漫的花朵 2019.5.28写于海滨大道等绿灯
    琴心若琴阅读 231评论 1 8
  • 月亮很有意思,它有时是圆圆的,有时是半圆,有时是弯弯的小月牙儿。 我问妈妈为什么会这样呢?妈妈说这...
    科幻LZY阅读 266评论 0 0
  • 看着书柜上的书,不由得感叹一番,这是我3个月买书的总量,一共40本书。还有三本正在路上。虽然对于真正读书人来说这个...
    梓菲栩阅读 1,289评论 24 40