目录
进制🚪
System.out.println() 都是以十进制形式输出 | |||
---|---|---|---|
二进制 | 以 0b 开头 | 0b10 | 2 |
八进制 | 以 0 开头 | 010 | 8 |
十六进制 | 以 0x 开头 | 0x10 | 16 |
进制转换
二进制 ----> 八/十六
1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 1 |
倒着来 每三位转成10进制形式 不够三位补齐0 八进制为 1243
转十六进制也是如此 每四位转成10进制形式 不够四位补齐 十六进制为 2a3
八/十六 ----> 二
把每一位 拆成三位/四位即可
java中的函数调用
十进制 -------> 二 八 十六 进制 | |
十 ----> 2 | String b = toBinaryString() |
十 ----> 8 | String b = toHexString() |
十 ----> 16 | String b = toOctalString() |
串
串查找
indexOf(str)
//首次出现下标
String s = "Hello World";
System.out.println(s.indexOf("llo"));
lastIndexOf(str)
//最后出现下标
String s = "Hello World";
System.out.println(s.lastIndexOf("o"));
获取指定位置的字符
String s = "Hello World";
System.out.println(s.charAt(4));
串的截取
substring(start,end)
// [)
String s = "Hello World";
System.out.println(s.substring(2,4));
去除首尾空格
trim()
String s = " Hello World ";
System.out.println(s.trim());
串的替换
replace(old,new)
//替换全部的"Hello"
String s = "Hello World";
System.out.println(s.replace("Hello","你好"));
判断串的开头和结尾
startsWith()
String s = "Hello World";
System.out.println(s.startsWith("Hello"));
endsWith()
String s = "Hello World";
System.out.println(s.endsWith("World"));
串是否相等
equals()
String s = "Hello World";
String a = "Hello World";
System.out.println(a.equals(s));
equalsIgnoreCase()
//不区分大小写
String s = "Hello World";
String a = "hello world";
System.out.println(a.equalsIgnoreCase(s));
大小写转换
toLowerCase()
String s = "Hello World";
System.out.println(s.toLowerCase());
toUpperCase()
String s = "Hello World";
System.out.println(s.toUpperCase());
数字其他不被影响
串的分割
split()
String s = "H e ll o Wo l d";
String[] a;
//分割次数
//a = s.split(" ",2);
a = s.split(" ");
for(String i :a){
System.out.println(i);
}
数组🚪
定义
int []a = new int[50];
int a[] = new int[50];
int a[] = new int[]{1,5,8,7};
int a[][] = new int[5][];//√
int a[][] = new int[][5];//×
String a[] = new String[50];//二维串
for (int i = 0; i < 3; i++) {
a[i] = cin.next();
}
for (int i = 0; i < 3; i++) {
for(int j = 0; j < a[i].length(); j++){
System.out.println(a[i].charAt(j));
}
}
int a[][] = new int[50][50];//二维int
.length()//长度
数组赋值
int[] a,b;
a = new int[]{1,2,3,4,5,6};
b=a;//只是修改了数组的首地址
for (int i = 0; i < b.length; i++)
System.out.println(b[i]);
可变个数形参
这种有多个相同类型的参数 在方法中可以用 ... 代替
他们会自动进去到一个数组中
public class Main {
public static void main(String[] args) {
Main test = new Main();
test.pp(1,2,3,4,5);
}
public void pp(int... x){
for(int i=0;i<x.length;i++) System.out.println(x[i]);
}
}
常见Arrays类
java.util.Arrays |
|
boolean f = Arrays.equals(a,b) |
判断两个数组是否相等 |
Arrays.sort(b) |
对数组从小到大排序 |
Arrays.fill(c,50) |
将50填到数组中 |
String ss = Arrays.toString(a) |
输出数组信息 |
int d = Arrays.binarySearch(b,60) |
二分找60(必须有序) |
b = Arrays.copyOf(a,5) |
将数组a前5个给b |
面向对象🚪
类和对象
个人理解 这相当于C语言中的结构体
new 一个类 这个就被称为对象
public class Main {
public static void main(String[] args) {
student student1 = new student();//这里其实就是new 了一个对象
// student1就是一个对象
student1.name = "liming";
student1.doing();
student1.age = 60;
System.out.println(student1.age);
}
}
class student{
//属性
String name;
int age = 50;
//方法
public void doing () {
System.out.println(this.name + " 学会习");
}
}
此时 首先new了一个对象 然后 在这个对象上 又创建一个对象