Java从键盘输入n行字符串_Java学习笔记day04

Java从键盘输入n行字符串_Java学习笔记day04_第1张图片

API概述和使用步骤

API(Application Programming Interface),应用程序编程接口
Java API是一本程序员的字典.
简单记: 学习API就是学习Java已经写好的类.
如何创建这个类的对象.
如何使用这个类中的方法, 帮我们完成具体的功能.
1. 打开帮助文档。
2. 点击显示,找到索引,看到输入框。
3. 你要找谁?在输入框里输入,然后回车。
4. 看包。java.lang下的类不需要导包,其他需要。
5. 看类的解释和说明。
6. 学习构造方法。
7. 使用成员方法。

Scanner

/*

匿名对象

创建对象的标准格式: 类名称 对象名 = new 类名称();

匿名对象就是只有右边的对象,没有左边的名字和赋值运算符 new 类名称();

注意事项:匿名对象只能使用唯一的一次,下次再用不得不在创建一个新对象

使用建议:如果确定一个对象只需使用唯一的一次,可以用匿名对象

/*

匿名对象作为方法参数

class 

匿名对象作为方法返回值

class 

Random

/*

ArrayList

数组有个缺点,一旦创建,程序运行期间长度不可改变

但是ArrayList的长度可以随意变化
对于ArrayList来说,有一个尖括号代表泛型
泛型:也就是装在集合中的所有元素,全是统一的什么类型
注意:泛型只能是引用类型,不能是基本类型注意事项
对于ArrayList集合来说,直接打印的不是地址值,而是内容
如果内容为空,得到的是空的括号:[]

ArrayList当中的常用方法
public boolean add(E e):向集合当中添加元素,参数类型和泛型一致
public E get(int index):从集合当中获取元素,参数是索引编号,返回值就是对应位置的元素
public E remove(int index):从集合当中删除元素,参数是索引编号,返回值是被删除的元素
public int size():获取集合的尺寸长度,返回值是集合中包含的元素个数

public 

ArrayList集合存储基本类型数据

如果希望向集合ArrayList当中存储基本类型数据,必须使用基本类型对应的“包装类”

基本类型 包装类 (应用类型,包装类都位于java.lang包下)

byte        Byte 
short       Short 
int         Integer 
long        Long 
float       Float 
double      Double 
char        Character 
boolean     Boolean  

从jdk 1.5+ 开始,支持自动装箱,拆箱

自动装箱: 基本类型 --> 包装类型

自动拆箱: 包装类型 --> 基本类型

public 

String

java.lang.String类代表字符串。
API当中说:java程序中的所有字符串字符字面值(如:“abc”)都作为此类的实例实现
其实就是,程序当中的所有双引号字符串,都是String类的对象(就算没有new,也是)字符串的特点
1.字符串的内容永不可变。【重点】
2.所有字符串可以共享使用,因为上一条
3.字符串的效果相当于是cha[]字符数组,但是底层原理是byte[]字节数组
创建字符串的常见3+1种方式
三种构造方法:
public String():创建一个空白字符串,不含任何内容
public String(char[] array): 更具字符数组的内容,来创建对应的字符串
public String(byte[] array): 根据字节数组的内容,来创建对应的字符串
一种直接创建:
String str = "Hello";

public 

字符串常量池

程序中直接写上的双引号字符串,就在字符串常量池中

对于基本类型来说 ==是进行数值的比较
对于引用类型来说 ==是进行【地址值】的比较
 */
public class Demo02StringPool {

    public static void main(String[] args) {
        String str1 = "abc";
        String str2 = "abc";

        char[] charArray = {'a', 'b', 'c'};
        String str3 = new String(charArray);

        System.out.println(str1 == str2);//true
        System.out.println(str1 == str3);//false
        System.out.println(str2 == str3);//false
    }
}

字符串的比较方法(equals)

/*

String 当中获取相关的常用方法有
public int length(); 获取字符串当中含有的字符个数,拿到字符串长度
public String concat(String str);将当前字符串和参数字符串拼接成为返回值新的字符串
public char charAt(int index);获取指定索引位置的单个字符。(索引从0开始)
public int indexOf(String str);查找参数字符串在本字符串当中首次出现的索引位置

public 

字符串截取方法:

public String substring(int index);截取从参数位置一直到字符串末尾,返回新字符串
public String substring(int begin, int end):截取从begin开始,一直到end结束,中间的字符串
备注:[begin,end):包含左边,不含右边

public 

String当中的转换相关的常用方法:
public char[] toCharArray();将当前字符串拆分为字符数组作为返回值
public byte[] getBytes();获得当前字符串底层的字节数组
public String Replace(CharSequence oldString,CharSequence newString);
将所有出现的老字符串替换为新的字符产,返回替换之后的结果新字符串

public 

分割字符串的方法
public String[] split(String regex):按照参数的规则,将字符出啊你切分为若干部分
注意事项:
split方法的参数其实是一个“正则表达式”
对英文句点“.”切分,必须写“.”(两个反斜杠)

public 

静态static关键字

  1. 修饰成员变量和成员方法
  2. 静态代码块
  3. //修饰类(只能修饰内部类)
  4. //静态导包(用来导入类中的静态资源,1.5之后的新特性)

修饰成员变量和成员方法

被 static 修饰的成员属于类,不属于单个这个类的某个对象,被类中所有对象共享,可以并且建议通过类名调用。被static 声明的成员变量属于静态成员变量,静态变量 存放在 Java 内存区域的方法区。

调用格式:

  • 类名.静态变量名
  • 类名.静态方法名()

如果变量或者方法被 private 则代表该属性或者该方法只能在类的内部被访问而不能在类的外部被方法。

学生类:

public 

使用学生类

/*

静态代码块

public class 类名称 {
static {
//静态代码块的内容
}
}
特点:

当第一次用到本类时,静态代码块执行的唯一的一次
静态内容优先与非静态,静态代码块比构造方法先执行

静态代码块对于定义在它之后的静态变量,可以赋值,但是不能访问
静态代码块的典型用途:
用来一次性对静态成员变量进行赋值

人的类

public 

使用人的类

public 

static修饰成员方法

/*

MyClass类

public 

Arrays工具类

java.util.Arrays是一个数组相关的工具类,里面提供了大量的静态方法,用来实现数组常见的操作
public static String toString(数组):将参数数组变成字符串
(按照默认格式:[元素1,元素2,元素3,...])
public static void sort(数组):按照默认升序对数组进行排序
备注:
1.如果是数值,sort默认按照升序
2.如果是字符串,sort按照字母升序
3.如果是自定义类型,那么这个定义的类需要有Comparable或者Comparator接口的支持

public 

Math工具类

java.util.Math类是数学相关的工具类。里面提供了大量的静态方法

public static double abs(double num):获取绝对值 public static double ceil(double num):向上取整 public static double floor(double num):向下取整 public static long round(double num):四舍五入

Math.PI代表近似的圆周率

public class Demo03Math {
    public static void main(String[] args) {
        //获取绝对值
        System.out.println(Math.abs(3.12));
        System.out.println(Math.abs(0));
        System.out.println(Math.abs(-23));
        System.out.println("===============");
        //向上取整
        System.out.println(Math.ceil(3.9));
        System.out.println(Math.ceil(3.1));
        System.out.println(Math.ceil(3.0));

        //向下取整
        System.out.println(Math.floor(3.9));
        System.out.println(Math.floor(3.1));
        System.out.println(Math.floor(3.0));

        //四舍五入
        System.out.println(Math.round(3.4));
        System.out.println(Math.round(3.5));
    }
}

你可能感兴趣的:(Java从键盘输入n行字符串)