1. **

  2. * 根据传入的格式获取日期

  3. *

  4. * @param format

  5. *            如:YYYYMMDD || MM/dd/yyyy, hh:mm:ss

  6. * @return 字符串的日期

  7. */

  8. public String getSysDate(String format) {

  9. String dateStr = "";

  10. try {

  11. Format formatter;

  12. Date date = new Date();

  13. formatter = new SimpleDateFormat(format);

  14. dateStr = formatter.format(date);

  15. catch (Exception e) {

  16. System.out.println(e);

  17. }

  18. return dateStr;

  19. }

  20. /**

  21. * 根据传入的格式获取日期

  22. *

  23. * @param format

  24. *            如:YYYYMMDD || MM/dd/yyyy, hh:mm:ss

  25. * @return 字符串的日期

  26. */

  27. public String getFormatDate(Date date, String format) {

  28. String dateStr = "";

  29. try {

  30. Format formatter;

  31. formatter = new SimpleDateFormat(format);

  32. dateStr = formatter.format(date);

  33. catch (Exception e) {

  34. System.out.println(e);

  35. }

  36. return dateStr;

  37. }

  38. /**

  39. * 获取分割后的字符串数组信息

  40. *

  41. * @param Str

  42. * @param Split

  43. * @return 字符串数组

  44. */

  45. public String[] getSplit(String Str, String Split) {

  46. return Str.split(Split);

  47. }

  48. /**

  49. * 把字符串转换成指定的日期格式

  50. *

  51. * @param str

  52. * @param format

  53. * @return

  54. */

  55. public Date Convert(String str, String format) {

  56. java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat(format);

  57. try {

  58. java.util.Date d = sdf.parse(str);

  59. return d;

  60. catch (Exception ex) {

  61. ex.printStackTrace();

  62. return null;

  63. }

  64. }

  65. /**

  66. * 获取月的天数

  67. *

  68. * @param year

  69. * @param month

  70. * @return

  71. */

  72. public static int getdays(String year, String month) {

  73. int yearInt = Integer.parseInt(year);

  74. int monthInt = Integer.parseInt(month);

  75. int monthdays = 31;

  76. switch (monthInt) {

  77. case 1:

  78. case 3:

  79. case 5:

  80. case 7:

  81. case 8:

  82. case 10:

  83. case 12: {

  84. monthdays = 31;

  85. break;

  86. }

  87. case 2: {

  88. if (isLeapyear(yearInt)) {

  89. monthdays = 29;

  90. else {

  91. monthdays = 28;

  92. }

  93. break;

  94. }

  95. case 4:

  96. case 6:

  97. case 9:

  98. case 11: {

  99. monthdays = 30;

  100. break;

  101. }

  102. }

  103. return monthdays;

  104. }

  105. /**

  106. * 判断闰年

  107. *

  108. * @param year

  109. * @return

  110. */

  111. public static boolean isLeapyear(int year) {

  112. if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {

  113. return true;

  114. else {

  115. return false;

  116. }

  117. }

  118. /**

  119. * 判断某天是星期几

  120. *

  121. * @param strDate

  122. * @return 0 表示是星期天

  123. */

  124. public static int getWeekByDate(String strDate) {

  125. int dayOfWeek = 0;

  126. try {

  127. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

  128. Calendar calendar = Calendar.getInstance();

  129. Date date = new Date();

  130. date = sdf.parse(strDate);

  131. calendar.setTime(date);

  132. dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);

  133. catch (Exception e) {

  134. e.printStackTrace();

  135. }

  136. return dayOfWeek - 1;

  137. }

  138. /**

  139. * 判断字符串是不是数字

  140. *

  141. * @param str

  142. * @return

  143. */

  144. public static boolean isNumeric(String str) {

  145. Pattern pattern = Pattern.compile("[0-9]*");

  146. Matcher isNum = pattern.matcher(str);

  147. if (!isNum.matches()) {

  148. return false;

  149. }

  150. return true;

  151. }

  152. /**

  153. * 获得距给定日期countday的字符串格式

  154. *

  155. * @param date

  156. * @param countday

  157. * @param flag

  158. *            为true表示日期前,为false表示日期后

  159. * @return YYYY-MM-DD

  160. */

  161. public String getDateString(Date date, int countday, boolean flag) {

  162. String datestr = "";

  163. if (flag) {

  164. datestr = getFormatDate(new Date((new Date()).getTime() - countday

  165. * 24 * 60 * 60 * 1000l), "yyyy-MM-dd");

  166. else {

  167. datestr = getFormatDate(new Date((new Date()).getTime() + countday

  168. * 24 * 60 * 60 * 1000l), "yyyy-MM-dd");

  169. }

  170. return datestr;

  171. }

  172. /***************************************************************************

  173. * 根据两个时间判断时间差

  174. * @throws ParseException

  175. * @throws ParseException

  176. **************************************************************************/

  177. public Long getDateDifference(Date date1,Date date2) throws ParseException {

  178. //      Date date1 = new SimpleDateFormat("yyyy-mm-dd").parse("2008-3-31");

  179. //      Date date2 = new SimpleDateFormat("yyyy-mm-dd").parse("2008-3-30");

  180. // 日期相减得到相差的日期

  181. long day = (date1.getTime() - date2.getTime()) / (24 * 60 * 60 * 1000) > 0 ? (date1

  182. .getTime() - date2.getTime())

  183. / (24 * 60 * 60 * 1000)

  184. : (date2.getTime() - date1.getTime()) / (24 * 60 * 60 * 1000);

  185. return day;

  186. }

  187. /***************************************************************************

  188. * 根据两个时间来判断时间的差值

  189. * @param days

  190. * @return

  191. */

  192. public Long getDateDifference1(Date date1,Date date2) throws ParseException {

  193. // 日期相减得到相差的日期

  194. long day = (date1.getTime() - date2.getTime())/ (24 * 60 * 60 * 1000);

  195. return day;

  196. }

  197. /***************************************************************************

  198. * 返回当前时间的一个时间差时间

  199. * @param days

  200. * @return

  201. */

  202. public static String Ds(int days) {

  203. SimpleDateFormat form = new SimpleDateFormat("yyyy-MM-dd");

  204. Calendar calendar = Calendar.getInstance();

  205. int day = calendar.get(Calendar.DAY_OF_YEAR);

  206. calendar.set(Calendar.DAY_OF_YEAR, day - days);

  207. Date cc = calendar.getTime();

  208. return form.format(cc);

  209. }

  210. /*************************************************************************

  211. * 获取系统当前时间

  212. */

  213. public static Date getSystemDate(){

  214. SimpleDateFormat   sf   =   new   SimpleDateFormat("yyyy-MM-dd");

  215. Date   date   =   new   Date();

  216. try {

  217. return new SimpleDateFormat("yyyy-mm-dd").parse(sf.format(date));

  218. catch (ParseException e) {

  219. }

  220. return null;

  221. }

  222. /**

  223. * 判断是否为整数

  224. *

  225. * @param str 传入的字符串

  226. * @return 是整数返回true,否则返回false

  227. */

  228. public static boolean isInteger(String str) {

  229. Pattern pattern = Pattern.compile("^[-//+]?[//d]*$");

  230. return pattern.matcher(str).matches();

  231. }

  232. /**

  233. * 判断是否为浮点数,包括double和float

  234. *

  235. * @param str 传入的字符串

  236. * @return 是浮点数返回true,否则返回false

  237. */

  238. public static boolean isDouble(String str) {

  239. Pattern pattern = Pattern.compile("^[-//+]?[.//d]*$");

  240. return pattern.matcher(str).matches();

  241. }

  242. /**

  243. * 判断输入的字符串是否符合Email样式.

  244. *

  245. * @param str 传入的字符串

  246. * @return 是Email样式返回true,否则返回false

  247. */

  248. public static boolean isEmail(String str) {

  249. Pattern pattern = Pattern.compile("^//w+([-+.]//w+)*@//w+([-.]//w+)*//.//w+([-.]//w+)*$");

  250. return pattern.matcher(str).matches();

  251. }

  252. /**

  253. * 判断输入的字符串是否为纯汉字

  254. *

  255. * @param str 传入的字符窜

  256. * @return 如果是纯汉字返回true,否则返回false

  257. */

  258. public static boolean isChinese(String str) {

  259. Pattern pattern = Pattern.compile("[/u0391-/uFFE5]+$");

  260. return pattern.matcher(str).matches();

  261. }

  262. /**

  263. * 是否为空白,包括null和""

  264. *

  265. * @param str

  266. * @return

  267. */

  268. public static boolean isBlank(String str) {

  269. return str == null || str.trim().length() == 0;

  270. }

  271. /**

  272. * 判断是否为质数

  273. *

  274. * @param x

  275. * @return

  276. */

  277. public static boolean isPrime(int x) {

  278. if (x <= 7) {

  279. if (x == 2 || x == 3 || x == 5 || x == 7)

  280. return true;

  281. }

  282. int c = 7;

  283. if (x % 2 == 0)

  284. return false;

  285. if (x % 3 == 0)

  286. return false;

  287. if (x % 5 == 0)

  288. return false;

  289. int end = (int) Math.sqrt(x);

  290. while (c <= end) {

  291. if (x % c == 0) {

  292. return false;

  293. }

  294. c += 4;

  295. if (x % c == 0) {

  296. return false;

  297. }

  298. c += 2;

  299. if (x % c == 0) {

  300. return false;

  301. }

  302. c += 4;

  303. if (x % c == 0) {

  304. return false;

  305. }

  306. c += 2;

  307. if (x % c == 0) {

  308. return false;

  309. }

  310. c += 4;

  311. if (x % c == 0) {

  312. return false;

  313. }

  314. c += 6;

  315. if (x % c == 0) {

  316. return false;

  317. }

  318. c += 2;

  319. if (x % c == 0) {

  320. return false;

  321. }

  322. c += 6;

  323. }

  324. return true;

  325. }

  326. /**

  327. * 人民币转成大写

  328. *

  329. * @param value

  330. * @return String

  331. */

  332. public static String hangeToBig(double value)

  333. {

  334. char[] hunit = { '拾', '佰', '仟' }; // 段内位置表示

  335. char[] vunit = { '万', '亿' }; // 段名表示

  336. char[] digit = { '零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖' }; // 数字表示

  337. long midVal = (long) (value * 100); // 转化成整形

  338. String valStr = String.valueOf(midVal); // 转化成字符串

  339. String head = valStr.substring(0, valStr.length() - 2); // 取整数部分

  340. String rail = valStr.substring(valStr.length() - 2); // 取小数部分

  341. String prefix = ""; // 整数部分转化的结果

  342. String suffix = ""; // 小数部分转化的结果

  343. // 处理小数点后面的数

  344. if (rail.equals("00"))

  345. { // 如果小数部分为0

  346. suffix = "整";

  347. }

  348. else

  349. {

  350. suffix = digit[rail.charAt(0) - '0'] + "角" + digit[rail.charAt(1) - '0'] + "分"; // 否则把角分转化出来

  351. }

  352. // 处理小数点前面的数

  353. char[] chDig = head.toCharArray(); // 把整数部分转化成字符数组

  354. char zero = '0'; // 标志'0'表示出现过0

  355. byte zeroSerNum = 0; // 连续出现0的次数

  356. for (int i = 0; i < chDig.length; i++)

  357. { // 循环处理每个数字

  358. int idx = (chDig.length - i - 1) % 4; // 取段内位置

  359. int vidx = (chDig.length - i - 1) / 4; // 取段位置

  360. if (chDig[i] == '0')

  361. { // 如果当前字符是0

  362. zeroSerNum++; // 连续0次数递增

  363. if (zero == '0')

  364. { // 标志

  365. zero = digit[0];

  366. }

  367. else if (idx == 0 && vidx > 0 && zeroSerNum < 4)

  368. {

  369. prefix += vunit[vidx - 1];

  370. zero = '0';

  371. }

  372. continue;

  373. }

  374. zeroSerNum = 0; // 连续0次数清零

  375. if (zero != '0')

  376. { // 如果标志不为0,则加上,例如万,亿什么的

  377. prefix += zero;

  378. zero = '0';

  379. }

  380. prefix += digit[chDig[i] - '0']; // 转化该数字表示

  381. if (idx > 0)

  382. prefix += hunit[idx - 1];

  383. if (idx == 0 && vidx > 0)

  384. {

  385. prefix += vunit[vidx - 1]; // 段结束位置应该加上段名如万,亿

  386. }

  387. }

  388. if (prefix.length() > 0)

  389. prefix += '圆'; // 如果整数部分存在,则有圆的字样

  390. return prefix + suffix; // 返回正确表示

  391. }

  392. /**

  393. * 全角字符转半角字符

  394. *

  395. * @param QJStr

  396. * @return String

  397. */

  398. public static final String QJToBJChange(String QJStr)

  399. {

  400. char[] chr = QJStr.toCharArray();

  401. String str = "";

  402. for (int i = 0; i < chr.length; i++)

  403. {

  404. chr[i] = (char) ((int) chr[i] - 65248);

  405. str += chr[i];

  406. }

  407. return str;

  408. }

  409. /**

  410. * 去掉字符串中重复的子字符串

  411. *

  412. * @param str

  413. * @return String

  414. */

  415. private static String removeSameString(String str)

  416. {

  417. Set<String> mLinkedSet = new LinkedHashSet<String>();

  418. String[] strArray = str.split(" ");

  419. StringBuffer sb = new StringBuffer();

  420. for (int i = 0; i < strArray.length; i++)

  421. {

  422. if (!mLinkedSet.contains(strArray[i]))

  423. {

  424. mLinkedSet.add(strArray[i]);

  425. sb.append(strArray[i] + " ");

  426. }

  427. }

  428. System.out.println(mLinkedSet);

  429. return sb.toString().substring(0, sb.toString().length() - 1);

  430. }

  431. /**

  432. * 根据指定方法的参数去构造一个新的对象的拷贝并将他返回

  433. * @param obj 原始对象

  434. * @return 新对象

  435. * @throws NoSuchMethodException

  436. * @throws InvocationTargetException

  437. * @throws IllegalAccessException

  438. * @throws InstantiationException

  439. * @throws SecurityException

  440. * @throws IllegalArgumentException

  441. */

  442. @SuppressWarnings("unchecked")

  443. public static Object copy(Object obj) throws IllegalArgumentException, SecurityException, InstantiationException, IllegalAccessException,

  444. InvocationTargetException, NoSuchMethodException

  445. {

  446. //获得对象的类型

  447. Class classType = obj.getClass();

  448. //通过默认构造方法去创建一个新的对象,getConstructor的视其参数决定调用哪个构造方法

  449. Object objectCopy = classType.getConstructor(new Class[]{}).newInstance(new Object[]{});

  450. //获得对象的所有属性

  451. Field[] fields = classType.getDeclaredFields();

  452. for(int i = 0; i < fields.length; i++)

  453. {

  454. //获取数组中对应的属性

  455. Field field = fields[i];

  456. String fieldName = field.getName();

  457. String stringLetter = fieldName.substring(0, 1).toUpperCase();

  458. //获得相应属性的getXXX和setXXX方法名称

  459. String getName = "get" + stringLetter + fieldName.substring(1);

  460. String setName = "set" + stringLetter + fieldName.substring(1);

  461. //获取相应的方法

  462. Method getMethod = classType.getMethod(getName, new Class[]{});

  463. Method setMethod = classType.getMethod(setName, new Class[]{field.getType()});

  464. //调用源对象的getXXX()方法

  465. Object value = getMethod.invoke(obj, new Object[]{});

  466. //调用拷贝对象的setXXX()方法

  467. setMethod.invoke(objectCopy, new Object[]{value});

  468. }

  469. return objectCopy;

  470. }

  471. //过滤特殊字符

  472. public static String encoding(String src){

  473. if (src==null)

  474. return "";

  475. StringBuilder result=new StringBuilder();

  476. if (src!=null){

  477. src=src.trim();

  478. for (int pos=0;pos<src.length();pos++){

  479. switch(src.charAt(pos)){

  480. case '/"':result.append("&quot;");break;

  481. case '<':result.append("&lt;");break;

  482. case '>':result.append("&gt;");break;

  483. case '/'':result.append("&apos;");break;

  484. case '&':result.append("&amp;");break;

  485. case '%':result.append("&pc;");break;

  486. case '_':result.append("&ul;");break;

  487. case '#':result.append("&shap;");break;

  488. case '?':result.append("&ques;");break;

  489. default:result.append(src.charAt(pos));break;

  490. }

  491. }

  492. }

  493. return result.toString();

  494. }

  495. //反过滤特殊字符

  496. public static String decoding(String src){

  497. if (src==null)

  498. return "";

  499. String result=src;

  500. result=result.replace("&quot;", "/"").replace("&apos;", "/'");

  501. result=result.replace("&lt;", "<").replace("&gt;", ">");

  502. result=result.replace("&amp;", "&");

  503. result=result.replace("&pc;", "%").replace("&ul", "_");

  504. result=result.replace("&shap;", "#").replace("&ques", "?");

  505. return result;

  506. }

  507. // toUtf8String将文件名转成GBK后再附到ContentDisposition

  508. public static String toUtf8String(String s) {

  509. StringBuffer sb = new StringBuffer();

  510. for (int i = 0; i < s.length(); i++) {

  511. char c = s.charAt(i);

  512. if (c >= 0 && c <= 255) {

  513. sb.append(c);

  514. else {

  515. byte[] b;

  516. try {

  517. b = Character.toString(c).getBytes("utf-8");

  518. catch (Exception ex) {

  519. System.out.println(ex);

  520. b = new byte[0];

  521. }

  522. for (int j = 0; j < b.length; j++) {

  523. int k = b[j];

  524. if (k < 0)

  525. k += 256;

  526. sb.append("%" + Integer.toHexString(k).toUpperCase());

  527. }

  528. }

  529. }

  530. return sb.toString();

  531. }

  532. /**

  533. * 对字节流进行GBK解码

  534. *

  535. * @param byteBuffer

  536. * @return

  537. */

  538. public static String decode(ByteBuffer byteBuffer) {

  539. Charset charset = Charset.forName("ISO-8859-1");

  540. CharsetDecoder decoder = charset.newDecoder();

  541. try {

  542. CharBuffer charBuffer = decoder.decode(byteBuffer);

  543. return new String(charBuffer.toString().getBytes("ISO8859_1"),

  544. "GBK").trim();

  545. catch (Exception e) {

  546. return null;

  547. }

  548. }

  549. //实现百分比

  550. public String myPercent(int y, int z) {

  551. String baifenbi = "";// 接受百分比的值

  552. double baiy = y * 1.0;

  553. double baiz = z * 1.0;

  554. double fen = baiy / baiz;

  555. // NumberFormat nf = NumberFormat.getPercentInstance(); 注释掉的也是一种方法

  556. // nf.setMinimumFractionDigits( 2 ); 保留到小数点后几位

  557. DecimalFormat df1 = new DecimalFormat("##.00%"); // ##.00%

  558. // 百分比格式,后面不足2位的用0补齐

  559. // baifenbi=nf.format(fen);

  560. baifenbi = df1.format(fen);

  561. return baifenbi;

  562. }

  563. 正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。

  564. 匹配中文字符的正则表达式: [/u4e00-/u9fa5]

  565. 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了

  566. 匹配双字节字符(包括汉字在内):[^/x00-/xff]

  567. 评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)

  568. 匹配空白行的正则表达式:/n/s*/r

  569. 评注:可以用来删除空白行

  570. 匹配HTML标记的正则表达式: <(/S*?)[^>]*>.*? <//1>  <.*? />

  571. 评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力

  572. 匹配首尾空白字符的正则表达式:^/s* /s*$

  573. 评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式

  574. 匹配Email地址的正则表达式:/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*

  575. 评注:表单验证时很实用

  576. 匹配网址URL的正则表达式:[a-zA-z]+://[^/s]*

  577. 评注:网上流传的版本功能很有限,上面这个基本可以满足需求

  578. 匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$

  579. 评注:表单验证时很实用

  580. 匹配国内电话号码:/d{3}-/d{8} /d{4}-/d{7}

  581. 评注:匹配形式如 0511-4405222 或 021-87888822

  582. 匹配腾讯QQ号:[1-9][0-9]{4,}

  583. 评注:腾讯QQ号从10000开始

  584. 匹配中国邮政编码:[1-9]/d{5}(?!/d)

  585. 评注:中国邮政编码为6位数字

  586. 匹配***:/d{15} /d{18}

  587. 评注:中国的***为15位或18位

  588. 匹配ip地址:/d+/./d+/./d+/./d+

  589. 评注:提取ip地址时有用

  590. 匹配特定数字:

  591. ^[1-9]/d*$    //匹配正整数

  592. ^-[1-9]/d*$   //匹配负整数

  593. ^-?[1-9]/d*$   //匹配整数

  594. ^[1-9]/d* 0$  //匹配非负整数(正整数 + 0)

  595. ^-[1-9]/d* 0$   //匹配非正整数(负整数 + 0)

  596. ^[1-9]/d*/./d* 0/./d*[1-9]/d*$   //匹配正浮点数

  597. ^-([1-9]/d*/./d* 0/./d*[1-9]/d*)$  //匹配负浮点数

  598. ^-?([1-9]/d*/./d* 0/./d*[1-9]/d* 0?/.0+ 0)$  //匹配浮点数

  599. ^[1-9]/d*/./d* 0/./d*[1-9]/d* 0?/.0+ 0$   //匹配非负浮点数(正浮点数 + 0)

  600. ^(-([1-9]/d*/./d* 0/./d*[1-9]/d*)) 0?/.0+ 0$  //匹配非正浮点数(负浮点数 + 0)

  601. 评注:处理大量数据时有用,具体应用时注意修正

  602. 匹配特定字符串:

  603. ^[A-Za-z]+$  //匹配由26个英文字母组成的字符串

  604. ^[A-Z]+$  //匹配由26个英文字母的大写组成的字符串

  605. ^[a-z]+$  //匹配由26个英文字母的小写组成的字符串

  606. ^[A-Za-z0-9]+$  //匹配由数字和26个英文字母组成的字符串

  607. ^/w+$  //匹配由数字、26个英文字母或者下划线组成的字符串

  608. 评注:最基本也是最常用的一些表达式

  609. String.split()方法中,有时需要特殊字符,见下:

  610. /**

  611. * 点的转义:.  ==> //u002E

  612. 美元符号的转义:$  ==> //u0024

  613. 乘方符号的转义:^  ==> //u005E

  614. 左大括号的转义:{  ==> //u007B

  615. 左方括号的转义:[  ==> //u005B

  616. 左圆括号的转义:(  ==> //u0028

  617. 竖线的转义:| ==> //u007C

  618. 右圆括号的转义:) ==> //u0029

  619. 星号的转义:*  ==> //u002A

  620. 加号的转义:+  ==> //u002B

  621. 问号的转义:?  ==> //u003F

  622. 反斜杠的转义:/ ==> //u005C

  623. 竖线:    | ==>//u007C

  624. * */

转载于:https://my.oschina.net/58812/blog/726898

Java笔记17:JAVA常用函数相关推荐

  1. 【Java笔记】---Week06 常用类、正则表达式与集合

    写在前面的部分 本周主要学习了以下几个部分,一个是继续学习了常用类的相关知识,第二个学习了正则表达式,然后简单学习了集合方面的知识,扩充补充了二分查找方面的知识 一.常用类 1.System类 Sys ...

  2. 学java怎么做笔记?如何整理java笔记?java学习笔记

    许多开始学Java编程的朋友,都是跟着视频学习的,知道要记笔记,但又不知如何下手.其实笔记主要的还是记框架以及自己能感觉到不懂得地方方便巩固加深印象,笔记不要记得密密麻麻的看着就让人感觉头疼,学习编程 ...

  3. Java笔记:Java SE —— 核心类库(下)

    数据来源:拉勾教育Java就业急训营 核心类库(下) 一. 异常机制和File类 1. 异常机制(重点) 1.1 概念 1.2 异常的分类 1.3 异常的避免 1.4 异常的捕获 笔试考点 1.5 异 ...

  4. java 笔记(4) —— java I/O 流、字节流、字符流

    Java中使用流来处理程序的输入和输出操作,流是一个抽象的概念,封装了程序数据于输入输出设备交换的底层细节.JavaIO中又将流分为字节流和字符流,字节流主要用于处理诸如图像,音频视频等二进制格式数据 ...

  5. Mysql-学习笔记(==》常用函数 八)

    -- 常用函数 字符编码uft8汉字为3个字节 gbk汉字两个字节 gbk占用空间小速度快 utf8兼容性好 -- length 返回字符的字节数 SELECT LENGTH('asd王'); -- ...

  6. 《SQL高级应用和数据仓库基础(MySQL版)》学习笔记 ·008【常用函数】

    文章目录 一.常用函数 1.建议 2.MySQL函数概述 3.常用函数分类 一.常用函数 1.建议 使用函数时,建议将MySQL升级为8.0版本 2.MySQL函数概述 单行函数 语法 函数名(参数列 ...

  7. 【狂神Java笔记】Java网络编程实战详细笔记整理(附代码)

    1.1 概述 计算机网络: 计算机网络是指将地理位置不同 的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递 ...

  8. B站【狂神说Java笔记】-Java入门学习

    目录 狂神视频地址 Java特性 Java三大版本 JDK.JRE.JVM是什么? Java程序的运行机制 狂神视频地址 https://www.bilibili.com/video/BV12J411 ...

  9. 【java笔记】java中用于小数进位的BigDecimal.setScale方法

    BigDecimal.setScale主要用于对BigDecimal数据小数点后的位数进行进位.舍位.截断等操作.其进位方式主要有以下8种,依次分别对应着数字0~7,即写它们和写它们对应的数字是等价的 ...

  10. mysql iif函数_MySQL学习笔记七:常用函数

    一.字符串函数 1.1.CONCAT(str1,str2,...) 作用:将传入的字符连接成一个字符串,任何字符与null进行连接结果都是null. SELECT CONCAT(`name`,'-', ...

最新文章

  1. Spring MVC 4
  2. git中Please enter a commit message to explain why this merge is necessary.
  3. nginx实现web负载均衡
  4. cube、rollup及exec的用法实例
  5. Openwrt中ppp拨号总结
  6. js控制文件拖拽,获取拖拽内容。
  7. c++读取utf8文件_在MySQL中你是否使用过utf8,有没有遇到这样的bug那就要注意了...
  8. 【Swift】iOS UICollectionView 计算 Cell 大小的陷阱
  9. CentOS7 安装ffmpeg
  10. meshlab点云颜色偏暗
  11. 点到直线的距离公式: 一元微积分
  12. GAMS系列分享12—GAMS基础知识——模型和求解
  13. 【VMware vRealize Suite 2019 部署系列】- 「2」 – 部署 vRealize Operations 8.1
  14. Java创建文件夹及文件
  15. 试读《Java特种兵(上册)》
  16. DFT(离散傅里叶变换)
  17. OSChina 周五乱弹 —— 破手机比 2080ti 核动力煤气灶还贵
  18. Rtklib对流层改正记录
  19. TCP如何保证服务的可靠性
  20. python中difference_Python 集合 symmetric_difference() 使用方法及示例

热门文章

  1. 第十三周项目2(1)
  2. 学计算机拼音不好怎么办,孩子拼音基础差怎么办?告诉你学拼音技巧!
  3. CSDN高校俱乐部2013年秋季北京地区第一站“编程语言的应用及其发展”—北京联合大学
  4. sublime Boxy Theme安装方法
  5. matlab:正态分布的概率密度图形
  6. python 内存不足_python内存不足
  7. QuartusII9.0--项目文件的新建
  8. 土地购买(USACO 2008 March Gold)
  9. (图文教程)帝国cms7.0列表页模板调用多说评论次数
  10. Eplan P8 2.7 win7/win10 安装(附带资源链接)已更新链接_20210617