JAVA 知识

IntelliJ IDEA

代码自动对齐快捷键:Ctrl + Alt + L

快速编译/运行:Shift + F10

Eclipse IDEA

好用的快捷方式

快速编译/运行:Ctrl + F11

JAVA 其他

JAVA的 “万能头文件”

import java.util.*;

Java数组的三种打印方式
JAVA中的STL简单使用
ArrayList和linkedList的区别(不过我感觉差不多)
Java>>与>>>的区别(对于正数而言,>>和>>>没区别)

数组

  • 数组初始化(里面不能加数字)

字符串常用操作

  • indexOf(String s) 字符串第一次出现的位置
  • lastIndexOf(String str) 字符串最后一次出现的位置
String str ="Keeping running";
int first = str.indexOf("ing");
int second = str.lastIndexOf("ing");
System.out.println(first);			// 4
System.out.println(second);			// 12
  • charAt() 字符串的某个字符
String str = "hello word";
char tmp =  str.charAt(6);
System.out.println(tmp);			// w
  • substring(int beginIndex, int endIndex) 字符串的截取
String str = "Hello word";
String tmp = str.substring(0,3);
System.out.println(tmp);			// Hel
  • trim() 字符串忽略前导空格和尾部空格
String str = "   Hello   ";
String tmp = str.trim();
System.out.println(tmp);			// Hello
  • replace(oldchar,newChar) 字符串替换字符
String str= "address";
String tmp = str.replace("d", "b");
System.out.println(tmp);			// abbress
  • startsWith(String prefix) 字符串的开始
  • endsWith(String suffix) 字符串的结尾
String str= "address";
Boolean tmp = str.startsWith("a");
Boolean stuff = str.startsWith("e");
System.out.println(tmp);			// true
System.out.println(stuff);			// true
  • equals(String otherstr) 字符串比较是否相同
  • equalsIgnoreCase(String otherstr) 字符串比较是否相同(忽略大小写)
String str= "address";
Boolean tmp = str.equals("address");
Boolean stuff = str.equalsIgnoreCase("ADDRESS");
System.out.println(tmp);			// true
System.out.println(stuff);			// true
  • compareTo() 字符串的按字典顺序比较
String tmp = "Hello1";
System.out.println(tmp.compareTo("Hello0"));	// 1
System.out.println(tmp.compareTo("Hello1"));	// 0
System.out.println(tmp.compareTo("Hello2"));	// -1
  • length() 字符串的长度
String tmp = "Hello";
System.out.println(tmp.length());	// 5
  • toCharArray() 将一个字符串变为字符数组
  • String(char[] value) 将全部的字符数组变为String
  • String(char[] value,int offset,int count) 将部分字符数组变为String
String str1 = "hello";
char str[] = str1.toCharArray();
for (int i = 0; i < str.length; i++)
	System.out.print(str[i] + "、"); // h、e、l、l、o、
}
System.out.println("");
String str2 = new String(str);
String str3 = new String(str, 0, 3);
System.out.println(str2);			 // hello
System.out.println(str3);			 // hel

字符串的七个函数(用法即字面意思)
toLowerCase、toUpperCase
isLetterOrDigit、isLowerCase
isUpperCase、isDigit、isLetter

字符串常用操作(进阶)

StringBufferStringBuilder 用法类似

前者是线程同步的,效率低,但线程安全
后者是线程不同步的,效率高,但线程不安全
两者都是字符串缓冲区,是一个容器(buffer是缓冲区的意思)
两者都可以用于对字符串进行修改(而String不可以对字符串进行修改)

特点:
1、长度可以变化
2、可以直接操作多个数据类型
3、最终会通过 toString() 方法变成字符串
容器所具备的功能:增删改查 CDUR(Create,Delete,Update,Read)

下面以 StringBuffer 演示

  • 增(存储)
StringBuffer tmp = new StringBuffer();
StringBuffer stuff = tmp.append(123);
System.out.println(tmp.toString());					// 123
System.out.println("tmp==stuff:" + (tmp == stuff));	// tmp==stuff:true 说明是同一个对象
tmp.append(456).append(true).append("abc");
System.out.println(tmp.toString());					// 123456trueabc
tmp.insert(6, 7);
System.out.println(tmp.toString());					// 1234567trueabc
  • 删(删除)
StringBuffer tmp = new StringBuffer("12345");
tmp.delete(1, 2);
System.out.println(tmp.toString());					// 1345
tmp.deleteCharAt(1);
System.out.println(tmp.toString());					// 145
  • 改(修改)
StringBuffer tmp = new StringBuffer("12345");
tmp.replace(0, 4, "java");
System.out.println(tmp);							// java5
tmp.setCharAt(4, 's');
System.out.println(tmp);							// javas
  • 查(获取)
//下列方法在字符串常用操作都有讲到
length()
charAt(int index)
indexof(String str)
lastIndexOf(String str)
substring(int start,int end)
  • 反转(其他)
StringBuffer tmp = new StringBuffer("12345");
tmp.reverse();
System.out.println(tmp);							// 54321

比赛

注:参考蓝桥杯(Java)注意事项

以下面形式为模板进行编程

public class Main {
    public static void main(String[] args) {
        
    }
}

熟练运用Java类库中最常用的API,例如:
String、StringBuilder、Integer、List、Set、Map、Deque、PriorityQueue、Arrays、Collections、BigInteger、BigDecimal、Math

浮点数的比较不能用 == 举例:

System.out.println(0.2+0.1==0.3);
//运行结果:false

处理手段:
1、扩大倍数,转化为整数。
2、任意精度的浮点数:java.math包

输入输出 – 常用技巧

格式1:Scanner sc = new Scanner (new BufferedInputStream(System.in))
格式2:Scanner sc = new Scanner (System.in);
在读入数据量大的情况下,格式1的速度会快些。
读一个整数: int n = sc.nextInt();
读一个字符串:String s = sc.next();
读一个浮点数:double t = sc.nextDouble(); 
读一整行: String s = sc.nextLine();
判断是否有下一个输入可以用sc.hasNext()或sc.hasNextInt()或sc.hasNextDouble()或sc.hasNextLine()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值