Scanner:用于获取键盘录入的数据。(基本数据类型,字符串数据)
* public String nextLine():获取键盘录入的字符串数据
String:字符串类
* 由多个字符组成的一串数据
* 字符串其本质是一个字符数组
*
* 构造方法:
* String(String original):把字符串数据封装成字符串对象
* String(char[] value):把字符数组的数据封装成字符串对象
* String(char[] value, int index, int count):把字符数组中的一部分数据封装成字符串对象
*
* 注意:字符串是一种比较特殊的引用数据类型,直接输出字符串对象输出的是该对象中的数据。
通过构造方法创建的字符串对象和直接赋值方式创建的字符串对象有什么区别呢?
* 通过构造方法创建字符串对象是在堆内存。
* 直接赋值方式创建对象是在方法区的常量池。
*
* ==:
* 基本数据类型:比较的是基本数据类型的值是否相同
* 引用数据类型:比较的是引用数据类型的地址值是否相同
基本数据类型:比较的是基本数据类型的值是否相同
引用数据类型:比较的是引用数据类型的地址值是否相同
Object:是类层次结构中的根类,所有的类都直接或者间接的继承自该类。
* 如果一个方法的形式参数是Object,那么这里我们就可以传递它的任意的子类对象。
*
* String类的判断功能:
* boolean equals(Object obj):比较字符串的内容是否相同
* boolean equalsIgnoreCase(String str):比较字符串的内容是否相同,忽略大小写
* boolean startsWith(String str):判断字符串对象是否以指定的str开头
* boolean endsWith(String str):判断字符串对象是否以指定的str结尾
String类的获取功能:
* int length():获取字符串的长度,其实也就是字符个数
* char charAt(int index):获取指定索引处的字符
* int indexOf(String str):获取str在字符串对象中第一次出现的索引
* String substring(int start):从start开始截取字符串
* String substring(int start,int end):从start开始,到end结束截取字符串。包括start,不包括end
String类的转换功能:
* char[] toCharArray():把字符串转换为字符数组
* String toLowerCase():把字符串转换为小写字符串
* String toUpperCase():把字符串转换为大写字符串
*
* 字符串的遍历:
* A:length()加上charAt()
* B:把字符串转换为字符数组,然后遍历数组
* 去除字符串两端空格
* String trim()
* 按照指定符号分割字符串
* String[] split(String str)
*/
* StringBuilder:是一个可变的字符串。字符串缓冲区类。
*
* String和StringBuilder的区别:
* String的内容是固定的。
* StringBuilder的内容是可变的。
*
* 构造方法:
* StringBuilder()
成员方法:
* public int capacity():返回当前容量
* public int length():返回长度(字符数)
添加功能
* public StringBuilder append(任意类型):添加数据,并返回自身对象
* 反转功能
* public StringBuilder reverse()
String(String original):
String(char[] value):
String(char[] value, int index, int count):
equals(Object obj):
equalsIgnoreCase(String str):
startsWith(String str):
endsWith(String str):
length():
charAt(int index):
indexOf(String str):
String substring(int start):
String substring(int start,int end):
char[] toCharArray():
String toLowerCase():
String toUpperCase():
String trim()
String[] split(String str)
StringBuilder()
StringBuilder(str)
capacity()
length()
append(任意类型)
reverse()
2.1 eclipse
src文件夹内保存.java文件;
bin文件夹内保存.class文件(自动生成)。
2.1.1 内容辅助键
A:main方法 main--Alt+/--Enter
B:输出语句 syso--Alt+/--Enter
2.1.2 快捷键
A:单行注释 选中内容--Ctrl+/--再来一次取消
B:多行注释 注释:选中内容--Ctrl+Shift+/
取消:选中内容--Ctrl+Shift+\
C:格式化 选中内容--Ctrl+Shift+F
选中内容--右键--Source--Format
2.2 运算符和表达式
2.2.1 运算符分类
算术运算符: +,-,*,/,%,++,--
赋值运算符: =,+=,-=,*=,/=,%= 扩展的赋值运算符隐含强制转换
关系运算符: ==,!=,>,>=,<,<=
逻辑运算符: &,|,!,^,&&,||
三元运算符: (关系表达式)?表达式1:表达式2
2.3 键盘录入
步骤: 导包 import java.util.Scanner;
创建对象 Scanner sc=new.Scanner(System.in);
录入方法 int i=sc.next.Int();
1.1 Scanner
导包 import java.util.Scanner;
创建对象 Scanner sc=new Scanner(System.in);
录入方法 int i=sc.next.Int();
String str=sc.nextLine();
1.2 Random
导包 import java.util.Random;
创建对象 Random r=new Random();
录入方法 int i=r.nextInt(int x);//[0-x)
1.3 选择结构
1.3.1 if(关系表达式1){
语句体1;
}else if(关系表达式2){
语句体2;
}...else{
语句体3;
}
1.3.2 switch(表达式){
case 值1:语句体1;break;
...
default:语句体n+1;break;
}
1.4 循环结构
1.4.1 for (int i = 0; i < arr.length; i++) {
循环体语句;
}
1.4.2 while (循环条件) {
循环体语句;
}
1.4.3 do {
循环体语句;
} while (循环条件);
1.5 break 用于结束整个循环
continue 结束一次循环,继续下一次循环
1.6 数组
动态初始化: int[] arr = new int[x]//指定长度x
静态初始化: int[] arr = new int[]{元素1,元素2,...}
int[] arr = {元素1,元素2,...}
1.7 方法
1.7.1 方法的定义格式
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2,...){
方法体;
return 返回值;
}
1.7.2 方法调用
有明确返回值: 单独调用:没有意义
输出调用:输出返回值
赋值调用:推荐方式
没有明确返回值: 只能单独调用
1.7.3 方法重载
方法名相同,参数列表不同(参数个数||参数类型),与返回值无关
1.8 类
1.8.1 创建类
public class 类名 {
成员变量
构造方法
成员方法
}
1.8.2 创建对象
格式: 类名 对象名 = new 类名();
1.8.3 访问成员
成员变量: 对象名.变量名;
成员方法: 对象名.方法名();
1.8.4 构造方法
给对象的数据进行初始化
格式: 方法名和类名相同
没有返回值类型,连void都不能写
没有具体的返回值
调用格式: 类名 对象名 = new 构造方法();
1.9 String 字符串类
1.9.1 构造方法
String(String str):把字符串数据封装成字符串对象
String(char[] chrs):把字符数组的数据封装成字符串对象
String(char[] chrs,int index,int count):把字符数组的一部分数据
封装成字符串对象
1.9.2 判断功能
boolean equals(Object obj):比较字符串的内容是否相同
boolean equalsIgnoreCase(String str):比较字符串的内容是否相同 (忽略大小写)
boolean startsWith(String str):判断字符串对象是否以指定str开头
boolean endsWith(String str):判断字符串对象是否以指定str结尾
1.9.3 获取功能
int length():获取字符串的长度
char charAt(int index):获取指定索引处的字符
int indexOf(String str):获取str在字符串对象中第一次出现的索引
String substring(int start):[start,length())
String substring(int start,int end):[start,end)
1.9.4 其他功能
String trim():去掉字符串两端的空格
String[] split(String str):按照指定的符号分割字符串
1.10 StringBuilder
1.10.1 构造方法
StringBuilder()
1.10.2 成员方法
public int capacity(): 返回当前容量
public int length(): 返回当前长度(字符数)
public StringBuilder append(任意类型):添加数据并返回自身对象
public StringBuilder reverse():反转数据并返回自身对象
1.11 ArrayList<E>
1.11.1 构造方法
ArrayList<E>()
1.11.2 添加元素
public boolean add(E)
public void add(Index,E)
1.11.3 获取元素
public E get(Index)
1.11.4 获取长度
public int size()
1.11.5 删除元素
public boolean remove(E)
public E remove(Index)
1.11.6 修改元素
public E set(Index,E) //返回被修的元素
FileWriter:
void write(String str) 向文件中写str
void flush() 将内存中的数据刷新到文件中
void close() 关流释放系统底层资源
void write(String str):写一个字符串数据
void write(String str,int index,int len):写一个字符串中的一部分数据
void write(int ch):写一个字符数据,这里写int类型的好处是既可以写char类型的数据,也可以写char对应的int类型的值。'a',97
void write(char[] chs):写一个字符数组数据
void write(char[] chs,int index,int len):写一个字符数组的一部分数据
FileReader:
int read();一次读取一个字符
int read(char[] cbuf) 一次读取一个字符数组
BufferedWriter
void newLine():写一个换行符,这个换行符由系统决定,不同的操作系统newLine()方法使用的换行符不同
windows:\r\n
linux:\n
mac:\r
BufferedReader
String readLine():一次读取一行数据,但是不读取换行符
|
|