发表于: 2020-03-27 12:09:57
1 1385
JAVA的常用类
参考:https://www.runoob.com/java/
1.Character
char ch = 'a';
char uniChar = '\u039A'; // Unicode 字符表示形式
char[] charArray ={ 'a', 'b', 'c', 'd', 'e' };// 字符数组
a.创建
Character ch = new Character('a');
b.函数传递-装箱
char c = test('x');//将一个char类型参数传递给需要一个Character类型参数的方法时,编译器会自动地将char类型参数转换为Character对象。 这种特征称为装箱,反过来称为拆箱。
方法:isLetter() 是否是一个字母,isDigit()是否是一个数字字符,isWhitespace()是否是一个空白字符,isLowerCase()是否是小写字母,toUpperCase()
指定字母的大写形式,toString()返回字符的字符串形式,字符串的长度仅为1
2. String和String Buffer
参考:https://www.runoob.com/java/java-string.html
String str1 =new String(“abc”)//首先申请内存
String str2 =new String(“abc”)
str1 = “123”//只是调整了引用的关系而不是改变原来引用对象的值
System.out.println(str ==str1);//比较地址 false因为引用对象不同
System.out.println(str.equals(str1));//比较值 true
string类方法: hashcode()返回此字符串的哈希码, equals,length(),charAt(取字符串里面的一个字符),format(把字符串格式化)substring(切割字符串)indexof(找指定字符)lastindexof(返回最后一次出现在指定字符在此字符串的索引)replace(新的字符代替老的字符)trim(去除头部尾部空白)
StringBuffer sBuffer = new StringBuffer("eee:");
sBuffer.append("www");
和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。 StringBuilder 的方法不是线程安全的(不能同步访问),但有速度优势,所以多数情况下使用 StringBuilder 类。而在应用程序要求线程安全的情况下,则必须使用 StringBuffer 类。
StringBuffer:append(在字符串后面添加字符),insert(指定字符串一个位置,然后插入字符串),deleteCharAt(删除一个字符),delete(从字符串里面删除一节字符串),replace(把字符串的其中一节替换为传入新的字符串),setCharAt(找字符串里面的一个下标然后改变这个下标代表的值),reverse(字符串反向排列)
参考:https://blog.csdn.net/a314290362/article/details/81011588
3.1. 数组-[]
a.声明数组变量
double[] myList; // 首选的方法 或
double myList[]; // 效果相同,但不是首选方法
b.创建数组-使用new操作符来创建数组
double[] myList = new double[size]; or
double[] myList = {1.9, 2.9, 3.4, 3.5};
语法语句做了两件事:
- 一、使用 dataType[size] 创建了一个数组。
- 二、把新创建的数组的引用赋值给变量 myList。
数组变量的声明,和创建数组可以用一条语句完成
c.函数传递-可以直接传
printArray(new int[]{3, 1, 2, 6, 4, 2});
d.多维数组
i.动态初始化 - 直接为每一维分配空间
String str[][] = new String[3][4];
int a[][] = new int[2][3];
ii.动态初始化 - 从最高维开始,分别为每一维分配空间
String s[][] = new String[2][];
s[0] = new String[2];//为最高维分配引用空间,也就是为最高维限制其能保存数据的最长的长度
s[1] = new String[3];
s[0][0] = new String("Good");
3.2数组-java.util.Arrays
方法:给数组赋值: fill ;对数组排序: sort ,按升序。;比较数组: equals 比较数组中元素值是否相等;找数组元素: binarySearch 方法能对排序好的数组进行二分查找法操作
JAVA JDK和JRE, JVM的关系
JVM(Java Virtual Machine) Java虚拟机∈ JRE(Java Runtime Environment) (运行环境)运行时 类库 ∈ JDK(Java Development Kit)开发工具包
jdk安装目录下有jre目录,和java基础类库(java API), java的工具(java c)。jdk目录下有:
编译器(javac.exe)为主(bin)+ jre + 常用类库(lib)+ ,纯用java实现的内存数据库-derby数据库(db) + 和jvm交互用的头文件(inlude)
但Eclipse和intellij这些IDE有自己的编译器,安装时只需要选择jre路径即可。
jre目录下有两个文件夹,bin和lib,bin就是jvm: jvm(bin) + jvm工作的类库(lib)= jre,
jre只是运行环境,里面不包含开发工具。两套jre一套是在jdk同级目录给运行一般java程序,另一套是在jdk子目录给开发者使用
jvm:java实现跨平台的核心,所有的java程序首先会被编译成.class的可以在jvm上运行的类文件,由虚拟机将程序解释给本地操作系统。
参考:https://www.cnblogs.com/iskandar/p/8933340.html
今天完成的事情:了解的java的常用类及其方法,了解了jre,jvm,jdk
明天计划的事情:开始task1的java部分
遇到的问题:string类的hashcode()是啥?
评论