- 浏览: 72801 次
- 性别:
- 来自: 大连
文章分类
最新评论
-
须等待:
强烈同意。。。。这个编辑器简直太不好用了!
对于在Ubuntu下的Eclipse上安装SVN客户端插件Subclipse的补充 -
nudtgk2000:
flysnail 写道 思路挺好,
谢谢鼓励,还是初学者,不 ...
重写CountDownLatch以实现线程状态监视 -
flysnail:
思路挺好,:)
重写CountDownLatch以实现线程状态监视
常用类
- 字符串相关类(String, StringBuffer)
- 基本数据类型包装类
- Math类
- File类
- 枚举类
更多参考API文档
常用类——String
java.lang.String类代表不可变的字符序列。
"xxxxx"是String类的一个对象常量。
String类常见的构造方法
- String(String original)
创建一个String对象为original的拷贝
- String(char[] value)
用一个字符数组创建String对象
- String(char[] value, int offset, int count)
用一个字符数组中从第offset项开始的count个字符序列创建String对象
String a = "hello"; // 因为"hello"在 data segment 中只有唯一的字符串常量, String b = "hello"; // 也就是说a和b的确引用的是同一个地址 System.out.println(a == b); String c = new String("hello"); // 但是,这样写就是new出来了两个对象, String d = new String("hello"); // 两个地址不会一样 System.out.println(c == d); // 输出: true // false
常用方法
int length() Note: 跟数组类型的成员属性length区别
char charAt(int index), int indexOf(String str) / int indexOf(String str, int fromIndex)
boolean equalsIgnoreCase(String another)
String replace(char oldChar, char newChar)
boolean startsWith(String prefix), boolean endsWith(String suffix)
String toUpperCase(), String toLowerCase()
String substring(int beginIndex) / String substring(int beginIndex, int endIndex)
String trim() // 去掉开头和结尾的空白字符
- 静态重载方法——public static String valueOf(...)
- 用来将基本类型数据转换成字符串,反向转换的方法如
public static int Integer.parseInt(String value) throws NumberFormatException
等(回忆一下)
-
- 用多种类型参数重载(boolean, char, char[], double, float, int, long, Object)。
- 特别地,String valueOf(Object obj) 实际上返回了obj.toString(),因为以根基类引用obj,这里存在了多态机制(回忆一下)。
- public String[] split(String regex)
- 将本字符串按指定的分隔符拆分成子串的数组。
... int j = 1234567; String sNumber = String.valueOf(j); System.out.println("j 是 " + sNumber.length() + " 位数"); String s = "Mary, F, 1976", String[] sPlit = s.split(", "); for(int i=0; i<sPlit.length; i++) { System.out.println(sPlit[i]); } ... /** * 输出: * j 是 7 位数 * Mary * F * 1976 */
常用类——StringBuffer
- java.lang.StringBuffer 代表可变的字符序列,对比String;
- “可变”的意义在于:如 string1 += string2,真实执行过程是,内存中新建一个String对象,拷贝了string1及string2的内容,string1的引用指向新对象。同样,对原字符串的内容插入、删节,String类都要创建新的对象实现。而StringBuffer在原地址空间上就可以操作,时间和空间效率都大大提高。
- 因此,在频繁修改字符序列内容的场合,StringBuffer显然更加合适。
常见方法
构造方法:StringBuffer() / StringBuffer(String str);
public StringBuffer append(...) -- 结尾添加内容,是重载的方法;
public StringBuffer insert(int offset, ...) -- 在指定位置插入内容,是重载的方法;
public StringBuffer delete(int start, int end) -- 删去start到end-1位置的内容;
public StringBuffer reverse() -- 逆序;
public class Test { public static void main(String[] args) { String s = "Microsoft"; char[] a = {'a', 'b', 'c'}; StringBuffer sb1 = new StringBuffer(s); sb1.append('/').append("IBM").append('/').append("Sun"); System.out.println(sb1); StringBuffer sb2 = new StringBuffer("数字"); for(int i=0; i<=9; i++) {sb2.append(i);} System.out.println(sb2); sb2.delete(8, sb2.length()).insert(0,a); System.out.println(sb2); System.out.println(sb2.reverse()); } } /** * 输出: * Microsoft/IBM/Sun * 数字0123456789 * abc数字012345 * 543210字数cba */
常用类——基本数据类型包装类
Byte,Short,Integer,Long,Double,Float,Character,Boolean
封装了一个相应的基本数据类型数值,并为其提供了一系列操作。
常用属性/方法
以java.lang.Integer为例
上下限 -- static int MAX_VALUE, MIN_VALUE;
转换成字符串形式 -- String toString() / static String toString(int), toBinaryString(int), toHexString(int), toOctalString(int); 作用和String.valueOf(int)一样;
相应值转换成包装类 -- static Integer valueOf(...) 重载int或String型参数的方法,作用和构造方法一样;
返回基本数据类型值 -- int intValue(), byte byteValue(), short shortValue(), long longValue(), double doubleValue(), float floatValue(); 视频里说强制转换语句(long) xx 内部实际执行的是这些方法,不知对不对。
String转化成int值 -- public static int parseInt(String s) throws NumberFormatException;
... Integer i = new Integer(100); // 从数值构造 Double d = new Double("123.556"); // 从字符串形式构造 int j = i.intValue() + d.intValue(); // !Double类转换成int,直接把小数点后截去,而非四舍五入!四舍五入用 long Math.round(double a) float f = i.floatValue() + d.floatValue(); System.out.println(j); System.out.println(f); double pi = Double.parseDouble("3.1415926"); double r = Double.valueOf("2.0").doubleValue(); // 可以看出,这两行的作用是一样的:把字符串形式的小数专程double型 double s = pi * r * r; System.out.println(s); try { int k = Integer.parseInt("1.25"); // 字符串内容不是整数,小数也不会强制转换 } catch (NumberFormatException e) { System.out.println("数据格式不对!"); } System.out.println(Integer.toBinaryString(123) + "B"); System.out.println(Integer.toHexString(123) + "H"); System.out.println(Integer.toOctalString(123) + "O"); ... /** * 输出 * 223 * 223.566 * 12.5663704 * 数据格式不对! * 1111011B * 7bH * 173O */
常用类——Math类
提供了一系列静态方法用于科学计算;其方法参数和返回值一般都是double型。
- abs —— 绝对值
- acos, asin, atan, cos, sin, tan;
- sqrt —— 开平方
- pow(double a, double b) —— a的b次幂
- log —— 自然对数(e为底)
- exp —— e为底的指数
- max(double a, double b) / min(doule a, double b)
- random() —— 返回0.0到1.0间随机数
- long round(double a) —— 四舍五入转换成long型
- toDegrees(double angrad) —— 弧度->角度 / toRadians(double angdeg) —— 角度->弧度
- 静态常量:E, PI
常用类——File类
java.io.File 类代表文件和目录路径名的抽象表示形式。(路径和文件名)。
常见构造方法
- public File(String pathname)
- 若pathname是相对路径,则默认的上级路径在系统属性 user.dir ?
- public File(String parent, String child) 父路径和子路径
静态属性 String File.separator 存储了当前系统的路径分隔符(Windows“\”, UNIX“/”), 在写路径的时候应当用它代替斜杠,确保跨平台的健壮。
常用方法
访问属性
boolean canRead(), canExecute(), canWrite(), exists(), isDirectory(), isFile(), isHidden();
long lastModified() —— 为自1970/1/1起的毫秒数;
String getName(), getPath(); URI toURI();
boolean isAbsolute(), String getAbsolutePath(), getCanonicalPath(), File getAbsoluteFile(), getCanonicalFile();
String getParent(), File getParentFile();
long length() —— 单位byte,若是目录返回值不确定;
getTotalSpace(), getUsableSpace(); static File[] listRoots();
list(...), listFiles(...); // 过滤器的用法
设置属性
boolean setExecutable(...), setLastModified(...), setReadable(...), setReadOnly(), setWritable(...),
新建/删除 文件或目录
boolean createNewFile() throws IOException, static File createTempFile(...);
mkdirs() // 创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。
boolean delete(), void deleteOnExit()
import java.io.File; import java.io.IOException; ... String fileName = "myfile.file"; String directory = "mydir1" + File.separator + "mydir2"; File f = new File(directory, fileName); if (f.exists()) { System.out.println("文件名:" + f.getCanonicalPath()); System.out.println("文件大小:" + f.length()); } else { // 不存在则新建 f.getParentFile().mkdirs(); try { f.createNewFile(); } catch(IOException e) { e.printStackTrace(); } } ...
常用类——java.lang.Enum枚举类型
- 只能取特定值中的一个;
- 关键字enum;
... enum MyColor {red, green, blue}; // 定义一个枚举类型,和C/C++的差别 MyColor m = MyColor.red; // 与C/C++不同,java的枚举类型变量只能用这种形式赋值。 switch(m) { case red: ... break; case green: ... break; default: ... } ...
- 统计字符串中大写字母、小写字母和非字母的个数.zip (674 Bytes)
- 下载次数: 3
- 统计字符串中某子串出现的次数_忽略大小写_.zip (507 Bytes)
- 下载次数: 3
- 从字符串读入二维数组.zip (757 Bytes)
- 下载次数: 3
- ListFilesTree.zip (2 KB)
- 下载次数: 5
发表评论
-
Weka 3.6.9 加载libsvm类包的正解
2014-05-24 10:59 5928Weka 3.6.9本身不带libsvm的类包,百度网上铺天 ... -
【转】常用的系统属性
2012-11-21 17:02 785获取类文件所在的绝对路径 写道 "Jav ... -
用Log4j实现线程独立日志
2012-11-04 22:53 8204需求: 在一个项目里,我使用Log4j生成日志, ... -
重写CountDownLatch以实现线程状态监视
2012-11-04 20:25 1511需求:管理线程需要及时知道工作线程全部处于等待状态,并满足等待 ... -
byte型检查
2012-09-09 21:14 803byte b; //... ... // 范围检查,确保只 ... -
【转】Dom4j的使用(全而好的文章)
2012-08-07 15:09 942java解析xml汇总, 结论就是Dom4j比其他几种好 ... -
【转】正则表达式的一些资料
2012-08-07 15:07 849JAVA 正则表达式 (超详细)http://blog.csd ... -
【转摘】Exception in thread "main" java.lang.OutOfMemoryError: Java heap space解决方法
2012-08-04 18:02 14931摘自http://hi.baidu.com/61919 ... -
【转】java解析xml汇总
2012-07-31 20:53 16java解析xml汇总 -
java.io.InputStream.mark(int readlimit) 方法的个人理解
2012-05-16 16:04 0在马士兵java课程的IO这一章[1]中遇到 java.io ... -
马士兵课程笔记(续7) —— 流
2012-03-20 18:51 0Java 流式输入/输出原理 ... -
马士兵课程笔记(续6)
2012-03-18 18:31 1258容器 概念 Java API 所提供的用于在程序中 ... -
走了一段值得的弯路
2012-03-16 21:27 1047class C { int i; S ... -
马士兵课程笔记(续4)
2012-02-28 21:58 1129数组 数组可以看成是多个相同类型数据组合,对这些数据的统一 ... -
马士兵课程笔记(续3)
2012-02-22 16:47 1513抽象类 关键字abstract 含有抽象方法的类必须声明 ... -
马士兵课程笔记(续2)
2012-01-03 15:50 1140J2SDK中主要的包介绍 位置%JAVAHOME%\jr ... -
马士兵课程笔记
2011-11-14 07:47 1264J2EE框架 EJB (Enterprise Ja ... -
Porter Stemmer 波特词干算法
2011-10-26 08:17 6768/* Porter ... -
Linux命令收集罐
2011-10-23 16:54 920查看系统进程——ps 要对 ... -
JAVA中 @Override 的作用(转)
2011-10-22 22:44 2566<!-- @pa ...
相关推荐
【标题】"马士兵课程笔记(续4)"主要聚焦于编程知识,特别是通过代码实例来深化理解。马士兵是一位知名的IT教育专家,他的课程通常涵盖了广泛的编程主题,旨在帮助学员深入掌握技术。在这个部分,他可能继续讲解了...
### 马士兵JVM调优笔记知识点梳理 #### 一、Java内存结构 Java程序运行时,其内存被划分为几个不同的区域,包括堆内存(Heap)、方法区(Method Area)、栈(Stack)、程序计数器(Program Counter Register)以及...
马士兵JAVA笔记(全) 本资源是马士兵的JAVA笔记,涵盖了JAVA语言的基础知识,包括标识符、常量、变量、数据类型、运算符、控制流语句等。 标识符是JAVA中的一种符号,用于命名变量、方法、类等。标识符由字母、...
马士兵oracle笔记,浅显易懂。
jvm java虚拟机 调优 马士兵 笔记 让你对java虚拟机调优有初步的认识
Spring学习笔记(马士兵spring视频笔记).docSpring学习笔记(马士兵spring视频笔记).docSpring学习笔记(马士兵spring视频笔记).docSpring学习笔记(马士兵spring视频笔记).doc
马士兵老师是知名的Java教育专家,他的Spring框架学习笔记深入浅出,对于初学者和进阶者来说都是一份宝贵的资源。这份笔记涵盖了Spring的核心概念、配置、AOP(面向切面编程)、DI(依赖注入)等关键知识点。 1. **...
马士兵老师的MyBatis学习笔记主要涵盖了以下几个核心知识点: 1. **MyBatis安装与环境搭建**:首先,你需要配置Java开发环境,并了解Maven或Gradle构建工具,因为MyBatis通常与这些工具结合使用来管理依赖。然后,...
马士兵课程源码11111111111111111111
马士兵Spring课堂笔记(超级详细版) 本资源主要讲解了Spring框架的基础概念和应用,涵盖了面向接口编程、IOC/DI、AOP、Spring应用IOC/DI、Spring应用AOP、Struts2.1.6 + Spring2.5.6 + Hibernate3.3.2整合、Spring...
以下是对马士兵多线程笔记的详细解析。 1. **多线程基础**:多线程是指一个应用程序中同时执行多个线程(即任务)的能力。这种并发执行可以提高系统资源的利用率,提升程序的响应速度和执行效率,特别是在多核...
马士兵Spring课堂笔记(详细版) 马士兵spring视频笔记
### 马士兵Hibernate学习笔记知识点总结 #### 一、课程内容概览 - **HelloWorld**:通过简单的示例程序介绍如何启动一个基于Hibernate的Java项目。 - **Hibernate原理模拟**:解释O/R Mapping的概念及其重要性。 -...
JAVA就业班笔记【马士兵说】.nyf
《马士兵Hibernate学习笔记》是一份详尽的教程,涵盖了Hibernate框架的核心概念和技术要点。Hibernate作为Java领域中广泛使用的对象关系映射(ORM)框架,它有效地解决了Java应用程序与数据库之间的数据交互问题,...
### Java SE - 马士兵笔记精要 #### 第1章 Java概述 - **Java语言的特点**: - **面向对象**:Java是一种完全支持面向对象编程的语言。 - **平台无关性**:通过Java虚拟机(JVM),Java可以在任何安装了JVM的...
马士兵Springboot课堂笔记