目录
[1 String类](#1 String类)
[3 .字符串的比较](#3 .字符串的比较)
[1 equals](#1 equals)
[2 equalsIgnorecase](#2 equalsIgnorecase)
[2.sort 升序排序](#2.sort 升序排序)
[6 ArrayList类](#6 ArrayList类)
[1 创建对象list](#1 创建对象list)
[2 添加add](#2 添加add)
[3 删除remove](#3 删除remove)
[4 输出](#4 输出)
[5 长度size](#5 长度size)
[6 提取get](#6 提取get)
[7 排序sort](#7 排序sort)
[8 倒序输出](#8 倒序输出)
[9 更改元素](#9 更改元素)
[10 将一个数组变成一个ArrayList类创建的对象](#10 将一个数组变成一个ArrayList类创建的对象)
[11 截取部分元素](#11 截取部分元素)
[7 StringBuffer类与String类结合使用](#7 StringBuffer类与String类结合使用)
[1 使用StringBuffer创建对象](#1 使用StringBuffer创建对象)
[2 append添加](#2 append添加)
[3 delete删除](#3 delete删除)
[4 reverse倒置](#4 reverse倒置)
[5 charAt提取字符](#5 charAt提取字符)
[6 replace区间字符替换](#6 replace区间字符替换)
[7 substring提取字符串](#7 substring提取字符串)
[8 insert插入字符串](#8 insert插入字符串)
[9 toString 变成字符串](#9 toString 变成字符串)
几个特殊类;(String,Arrays,math,Scanner,Random,ArrayList,StringBuffer)
1 String类
1字符串的构造方法:
java
public class an2{
public static void main(String[] args){
//直接构造
String stringArray = "anxian";
System.out.println(stringArray);
//使用空参构造
String stringArray2 = new String();
stringArray2="anxian";
System.out.println(stringArray2);
//使用字符数组创建
char [] stringArray3 = {'a','b','c'};
String stringArray4 = new String(stringArray3);
System.out.println(stringArray4);
//使用字节数组创建
byte [] stringArray5 = {97,98,99};
String stringarray6 =new String(stringArray5);
System.out.println(stringarray6);
运行结果:
2.常量池
Java基本类型和引用类型的区别_java基本类型和引用类型区别-CSDN博客
3 .字符串的比较
(这种情况不受构造方法的影响)
(常量尽量写在前面,以免出现null值报错)
1 equals
java
public class an2{
public static void main(String[] args){
String Str = "anxian";
String Str2="anxian1";
System.out.println(Str.equals(Str2));
运行结果:
2 equalsIgnorecase
(这种方法忽略大小写)
java
import java.util.*;
public class an2{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
String axStr = input.nextLine();
String Str = "anxian";
System.out.println(axStr.equalsIgnoreCase(Str));
运行结果:
3.字符串长度:
java
import java.util.*;
public class an2{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
String axStr = input.nextLine();
int axLength = axStr.length();
System.out.println(axLength);
运行结果:
4.拼接字符串
java
import java.util.*;
public class an2{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
String axStr = input.nextLine();
String axStr2 = axStr.concat(" World");
System.out.println(axStr2);
运行结果:
5.获取单个字符:
可选择指定索引(下标)位置。
java
import java.util.*;
public class an2{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
String axStr = input.nextLine();
char axChar = axStr.charAt(2);
System.out.println(axChar);
运行结果:
6.子字符串的索引(首个)
java
import java.util.*;
public class an2{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
String axStr = input.nextLine();
int numAX = axStr.indexOf("an");
System.out.println(numAX);
运行结果:
7.截取字符串
java
import java.util.*;
public class an2{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
String axStr = input.nextLine();
String ax = axStr.substring(2);//截取2:-1
String axXian = axStr.substring(1,3);//截取1:3
System.out.println(ax+" "+axXian);
运行结果:
8.将String的转换为数组:
字符char数组
字节byte数组
java
public class an4 {
public static void main(String[] args){
String aXian = "Hello World";
char [] charaXian = aXian.toCharArray();
byte [] byteaXian = aXian.getBytes();
for (char ch : charaXian){
System.out.print(ch+" ");
}
System.out.println();
for (byte b : byteaXian){
System.out.print(b+" ");
}
}
}
运行结果:
9.replace用法
java
public class an4 {
public static void main(String[] args){
String aXian = "Hello World My friends";
String language = "会不会玩,你个大傻逼";
String MaXian = aXian.replace(" ","|");
String Mlanguage =language.replace("傻逼","**");
System.out.println(MaXian);
System.out.println(Mlanguage);
}
}
运行结果:
10.split()用法
split()的参数实际上是一个正则表达式
java
public class an4 {
public static void main(String[] args) {
String aXian = "Hello World My friends";
String[] ax = aXian.split(" ");//String数组
for (String i :ax){
System.out.print(i+"\t");
}
}
}
运行结果:
11.String的具体练习:
输入一个字符串然后统计这个字符串中大写小写数字以及其他出现的次数。
java
import java.util.*;
public class an5 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String axStr = input.nextLine();
char [] axChar = axStr.toCharArray();
int aStr = 0;
int AStr = 0;
int IStr = 0;
int OStr = 0;
for (int i = 0; i < axChar.length; i++) {
char ch = axChar[i];
if (ch >= 'A' && ch <= 'Z') {
AStr += 1;
}else if (ch >= 'a' && ch <= 'z') {
aStr += 1;
}else if (ch >= '0' && ch <= '9') {
IStr += 1;
}else{
OStr += 1;
}
}
System.out.println("大写"+AStr);
System.out.println("小写"+aStr);
System.out.println("数字"+IStr);
System.out.println("其他"+OStr);
}
}
运行结果:
2.Arrays类
java.util.Arrays;是一个与数组相关的工具类,里面提供了大量的静态方法,用来实现数组常见操作,
1.将数组变成字符串
将参数数组变成字符串,按照默认格式【元素1,元素2,元素3~~~】
java
import java.util.Arrays;
public class an6 {
public static void main(String[] args) {
int[] axInt = {1,2,3,4};
String axStr = Arrays.toString(axInt);
System.out.println(axStr);
}
}
运行结果:
2.sort 升序排序
java
import java.util.Arrays;
public class an6 {
public static void main(String[] args) {
int[] axInt = {1,2,3,4,8,5,7,99,88,77,55,444,3333};
Arrays.sort(axInt);
String axStr = Arrays.toString(axInt);
System.out.println(axStr);
}
}
运行结果:
3.Math类
java.util.math;里面有大量的静态方法,完成与数学相关的方法。
1.abs绝对值
java
public class an7 {
public static void main(String[] args) {
int axNum = -23;
int axNUM = Math.abs(axNum);
System.out.println(axNUM + " " + axNum);
}
}
运行结果:
2.ceil向上取整
java
public class an7 {
public static void main(String[] args) {
double axNum = -23.2;
double ayNum = 23.2;
double axNUM = Math.ceil(axNum);
double ayNUM = Math.ceil(ayNum);
System.out.println(axNUM + " " + axNum);
System.out.println(ayNUM + " " + ayNum);
}
}
运行结果:
3.floor向下取整
java
public class an7 {
public static void main(String[] args) {
double axNum = -23.2;
double ayNum = 23.2;
double axNUM = Math.floor(axNum);
double ayNUM = Math.floor(ayNum);
System.out.println(axNUM + " " + axNum);
System.out.println(ayNUM + " " + ayNum);
}
}
运行结果:
4.round四舍五入
java
public class an7 {
public static void main(String[] args) {
double axNum = 23.5;
double ayNum = 23.2;
double axNUM = Math.round(axNum);
double ayNUM = Math.round(ayNum);
System.out.println(axNUM + " " + axNum);
System.out.println(ayNUM + " " + ayNum);
}
}
运行结果:
5.max/min最大最小
java
int aum=10;
int bum = 100;
int Maxum = Math.max(aum,bum);
int Minum = Math.min(aum,bum);
System.out.println(Maxum+"\n"+Minum);
执行结果:
4.Scanner类
1.导入包:
java.util 包中的Scanner
java
import java.util.Scanner;
2.创建对象:eg:myObj
Scanner 变量名 = new Scanner(System.in);
如下:创建一个myObj 对象。
java
Scanner myObj = new Scanner(System.in);
3.调用对象:
基本数据类型 标识符 = 变量名.next基本数据类型();
eg1.传入应该byte类型的参数---anxian1
java
import java.util.Scanner;
public class an3 {
public static void main(String[] args) {
System.out.println("输入应该数字:");
Scanner myObj = new Scanner(System.in);
//传入byte数据类型类型----anXian1
byte anXian1 = myObj.nextByte();
System.out.println("anXian1 \n" + anXian1);
}
}
完整代码如下:
java
import java.util.Scanner;
public class an3 {
public static void main(String[] args) {
System.out.println("输入应该数字:");
Scanner myObj = new Scanner(System.in);
byte anXian1 = myObj.nextByte();
short anXian2 = myObj.nextShort();
int anXian3 = myObj.nextInt();
long anXian4 = myObj.nextLong();
float anXian5 = myObj.nextFloat();
double anXian6 = myObj.nextDouble();
String anXian7 = myObj.next();
System.out.println("anXian1\t" + anXian1 +"\t"+ "anXian2\t"
+ anXian2+"\t"+"anXian3\t" + anXian3+"\t"+"anXian4\t" + anXian4+"\t"+"anXian5\t"
+ anXian5+"\t"+"anXian6\t" + anXian6+"\t"+"anXian7\t" + anXian7);
}
}
执行结果:
补充:
5.Random类
含参/不含参
java
import java.util.Random;
public class ax1 {
public static void main(String[] args){
Random rand = new Random();
int x = rand.nextInt(100);//范围0-99
int y = rand.nextInt();//范围-21亿-21左右
}
}
猜数字游戏
java
import java.util.Random;
import java.util.Scanner;
public class an1{
public static void main(String[] args){
//经典-猜数字游戏
System.out.println("输入一个数字");
Random rand = new Random();
int num =rand.nextInt(5);
Scanner input = new Scanner(System.in);
for (int i = 1; i <= 5; i++){
int nums = input.nextInt();
if (nums == num)
{
System.out.println("猜对了");
break;
}
else
if (i!=5)
continue;
else
System.out.println("游戏结束");
}
}
}
6 ArrayList类
数组的长度不可发生改变
但是ArraryList集合的长度可以发生改变
对于ArrayList 有一个<E>这个里面放的东西只能是引用数据类型(String,Integer,Short....),不能是基本数据类型(byte,short,char,int,long,float,double,boolean)
包装类与String
java
ArrayList<Integer> list1 = new ArrayList<>();
ArrayList<Short> list2 = new ArrayList<>();
ArrayList<Byte> list3 = new ArrayList<>();
ArrayList<Character> list4 = new ArrayList<>();
ArrayList<Long> list5 = new ArrayList<>();
ArrayList<Float> list6 = new ArrayList<>();
ArrayList<Double> list7 = new ArrayList<>();
ArrayList<Boolean> list8 = new ArrayList<>();
ArrayList<String> list9 = new ArrayList<>();
1 创建对象list
java
ArrayList <String> list = new ArrayList<>();
2 添加add
java
//添加
list.add("A");
list.add("B");
list.add("C");
3 删除remove
java
//删除
list.remove(1);
4 输出
java
//输出
list.forEach(System.out::println);
System.out.println(list);
5 长度size
java
//长度
int len = list.size();
6 提取get
java
//提取
String aa = list.get(1);
7 排序sort
java
import java.util.ArrayList;
public class ax4 {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<>();
list.add(11);
list.add(21);
list.add(13);
list.add(41);
list.forEach(System.out::println);
System.out.println(list);
list.sort(Integer::compareTo);
System.out.println(list);
}
}
执行结果:
8 倒序输出
使用collections
java
Collections.sort(list, Collections.reverseOrder());
9 更改元素
第一个空是索引,第二个是要改成的元素。
java
list.set(2,6);
10 将一个数组变成一个ArrayList类创建的对象
11 截取部分元素
java
ArrayList<Integer> list2 = new ArrayList<>(list.subList(0,2));
System.out.println(list2);
7 StringBuffer类与String类结合使用
具体的方法
构造方法
- StringBuffer():构造一个没有字符的字符串缓冲区,初始容量为16字符;
- StringBuffer(String str):构造一个初始化为指定内容的字符串缓冲区;
- StringBuffer(int capacity):构造一个没有字符的字符串缓冲区和指定的初始容量;
1 使用StringBuffer创建对象
java
StringBuffer ist = new StringBuffer();
2 append添加
java
ist.append(1);
ist.append(2);
ist.append(3);
ist.append(44);
ist.append(4);
ist.append(51);
ist.append(6);
3 delete删除
java
ist.delete(0,4);//删除索引区间左闭右开
ist.deleteCharAt(ist.length()-1);//删除某个字符_索引位置
4 reverse倒置
java
ist.reverse();//倒置
5 charAt提取字符
java
char c = ist.charAt(1);//提取字符_索引位置
6 replace区间字符替换
java
ist.replace(0,1,"*");//某个区间内的字符进行替换
7 substring提取字符串
java
String s = ist.substring(1,4);
String s_ = ist.substring(2);//提取字符串如果单个索引是将末索引省去(2--1)
8 insert插入字符串
java
ist.insert(2,"an");//索引位置插入字符串
9 toString 变成字符串
java
String str = ist.toString();