常见数据类型:
byte //字节
int //整数
float //单精度浮点数
double //双精度浮点数
char //字符
boolean //布尔值
long //长整型
short //短整型
String //字符串
final int N = 100;
int x = (int)'a';
+ //加
- //减
* //乘
/ //除
++ //自加
-- //自减
+= //第一个数加上第二个数
-= //第一个数减第二个数
*= //第一个数乘以第二个数
/= //第一个数除以第二个数
%= //第一个数对第二个数取余
import java.util.Scanner;
public class Small {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.next(); //输入
System.out.println(str); //输出
}
}
String str1 = sc.next(); //遇到空格或者回车停下
String str2 = sc.nextLine(); //读入一整行
int n = sc.nextInt();
double x = sc.nextDouble();
char c = sc.next().charAt(0);
System.out.println("Hello World");
System.out.print("Hello World");
System.out.printf("\n Hello World \n");
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Large {
public static void main(String[] args) throws Exception{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int x = Integer.parseInt(br.readLine());//输入
bw.write(x + " "); //输出
bw.flush(); //清除缓冲区
}
}
int f[] = new int[50];
double[] f = new double[50];
float[] f = new float[50];
String[] strs = new String[50];
数组不可变长
import java.util.Arrays
f.length
Arrays.sort();
Arrays.fill(int[] a, int val);
Arrays.toString();
Arrays.deepToString();
String不能被修改。
如果需要修改字符串,可以使用StringBuilder和StringBuffer。
StringBuffer线程安全,速度较慢;
StringBuilder线程不安全,速度较快。
StringBuilder sb = new StringBuilder("Hello "); // 初始化
sb.append("World"); // 拼接字符串
reverse():翻转字符串
str.length();
String[] strs = sc.nextLine().split(" ");
找不到返回-1
//从前往后找
str.indexOf(char c);
str.indexOf(String str);
//从后往前找
str.lastIndexOf(char c);
str.lastIndexOf(String str);
str1.equals(str2);
负数表示小于;
0表示相等;
正数表示大于;
str1.compareTo(str2);
str1.startsWith(str2);
str1.endsWith(str2);
str.trim();
toLowerCase();//全部用小写字符
toUpperCase();//全部用大写字符
replace(char oldChar, char newChar);//替换字符
replace(String oldRegex, String newRegex);//替换字符串
返回[beginIndex, endIndex)中的子串
substring(int beginIndex, int endIndex);
toCharArray();
java.util.List<>
java.util.ArrayList<>//变长数组
java.util.LinkedList<>//双链表
import java.util.ArrayList;
import java.util.LinkedList;
public class List {
public static void main(String[] args) {
LinkedList q = new LinkedList();
ArrayList p = new ArrayList();
q.add(2);
q.add(3);
q.add(4);
p.add(5);
p.add(6);
p.add(7);
System.out.println(q);
System.out.println(p);
}
}
add() //在末尾添加一个元素
clear() //清空
size() //返回长度
isEmpty() //是否为空
get(i) //获取第i个元素
set(i, val)//将第i个元素设置为val
java.util.Stack<>
import java.util.Scanner;
import java.util.Stack;
public class stack {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Stack stk = new Stack<>();
int m = sc.nextInt();
while (m -- > 0) {
String str = sc.next();
if ("push".equals(str)) {
int x = sc.nextInt();
stk.push(x);
}
else if ("pop".equals(str)) {
stk.pop();
}
else if ("empty".equals(str)) {
if (stk.empty()) System.out.println("YES");
else System.out.println("NO");
}
else {
System.out.println(stk.peek());
}
}
}
}
push(); //压入元素
pop(); //弹出栈顶元素,并返回栈顶元素
peek(); //返回栈顶元素
size(); //返回长度
empty();//栈是否为空
clear();//清空
java.util.Queue<>
java.util.LinkedList<> //双链表
java.util.PriorityQueue<> //优先队列
//默认是小根堆
new PriorityQueue<>(Collections.reverseOrder()) //大根堆
import java.util.PriorityQueue;
public class queue {
public static void main(String[] args) {
PriorityQueue hap = new PriorityQueue();
hap.add(1);
hap.add(2);
hap.add(3);
System.out.println(hap);
}
}
add(); //在队尾添加元素
remove();;//删除并返回队头
isEmpty();//是否为空
size(); //返回长度
peek(); //返回队头
clear(); //清空
java.util.Set
- java.util.HashSet;//哈希表
- java.util.TreeSet;//平衡树
import java.util.HashSet;
import java.util.TreeSet;
public class set {
public static void main(String[] args) {
TreeSet ts = new TreeSet();
HashSet hs = new HashSet();
ts.add(1);
ts.add(2);
ts.add(3);
hs.add(4);
hs.add(5);
hs.add(6);
System.out.println(ts);
System.out.println(hs);
}
}
add(); //添加元素
contains();//是否包含某个元素
remove();//删除元素
size();//返回元素数
isEmpty();//是否为空
clear();//清空
/*java.util.TreeSet额外还有的函数:*/
ceiling(key);//返回大于等于key的最小元素,不存在则返回null
floor(key);//返回小于等于key的最大元素,不存在则返回null
java.util.Map
java.util.HashMap;//哈希表
java.util.TreeMap;//平衡树
import java.util.HashMap;
import java.util.TreeMap;
public class map {
public static void main(String[] args) {
HashMap hm = new HashMap();
TreeMap tm = new TreeMap();
hm.put(1, 1);
hm.put(2, 2);
hm.put(3, 3);
tm.put(4, 4);
tm.put(5, 5);
tm.put(6, 6);
System.out.println(hm);
System.out.println(tm);
}
}
put(key, value); //添加关键字和其对应的值
get(key); //返回关键字对应的值
containsKey(key);//是否包含关键字
remove(key); //删除关键字
size(); //返回元素数
isEmpty(); //是否为空
clear(); //清空
entrySet(); //获取Map中的所有对象的集合
Map.Entry; //Map中的对象类型
getKey(); //获取关键字
getValue(); //获取值
/* java.util.TreeMap额外的函数:*/
ceilingEntry(key);//返回大于等于key的最小元素,不存在则返回null
floorEntry(key); //返回小于等于key的最大元素,不存在则返回null