目录

一.与用户互动

  1.main方法形参

  2.使用Scanner类获取输入

  3.使用BufferedReader类获取输入

二.常用类

  1.System类和Runtime类

  2.String, StringBuilder和StringBuffer类

  3.Math类

  4.Random和ThreadLocalRandom类

  5.BigDecimal类

  6.Calendar类

三.正则表达式

  1.正则表达式使用查询表

  2.使用正则表达式

  3.程序实例

正文

一.与用户互动

1.main方法的形参

main方法中包括一个字符串数组形参,根据方法调用的规则:谁调用方法,谁负责为形参赋值。也就是说,main方法由JVM调用,即args形参应该由JVM负责赋值。

  1. public class ArgsTest {
  2. public static void main(String[] args) {
  3. System.out.println(args.length);
  4. for(String arg : args) {
  5. System.out.println(arg);
  6. }
  7. }
  8. }

因程序放在本地的E:\myJavaCode下,所以运行命令和运行结果如下:

2.使用Scanner类获取输入

  1. import java.util.*;
  2. public class ScannerKeyBoardTest {
  3. public static void main(String[] args) {
  4. //System.in代表标准输入
  5. Scanner sc=new Scanner(System.in);
  6. //以回车作为分隔符
  7. sc.useDelimiter("\n");
  8.  
  9. //判断是否还有下个输入项
  10. while(sc.hasNext()) {
  11. //输出
  12. System.out.println("键盘输入的内容是: "+sc.next());
  13. }
  14. }
  15. }

运行结果:

Java
键盘输入的内容是: Java

C++
键盘输入的内容是: C++

PHP
键盘输入的内容是: PHP

注:如果将sc.useDelimiter("\n")这行注释,则默认以空格、Tab空白等作为分隔符。

Scanner不仅能读取用户键盘输入,还可以读取文件输入。

  1. import java.io.*;
  2. import java.util.*;
  3. public class ScannerFileTest{
  4. public static void main(String[] args) throws Exception{
  5. //将一个File对象作为Scanner的构造参数,Scanner读取文件内容
  6. Scanner sc=new Scanner(new File("ScannerFileTest.java"));
  7. System.out.println("ScannerFileTest.java的文件内容为:");
  8.  
  9. //判断是否还有下一行
  10. while(sc.hasNextLine()) {
  11. //输出下一行
  12. System.out.println(sc.nextLine());
  13. }
  14. }
  15. }

运行结果:

3.使用BufferedReader类获取输入

  1. import java.io.*;
  2. public class KeyboardInTest {
  3. public static void main(String[] args) throws Exception {
  4. //创建BufferedReader对象
  5. BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
  6.  
  7. //输出
  8. String line=null;
  9. while( (line=br.readLine()) !=null ) {
  10. System.out.println("用户从键盘输入的是: "+line);
  11. }
  12. }
  13. }

运行结果:

Java
用户从键盘输入的是: Java
C++
用户从键盘输入的是: C++
PHP
用户从键盘输入的是: PHP

二.常用类

1.System类和Runtime类

Java程序在不同操作系统上运行时,可能需要取得平台相关的属性,或者调用平台命令来完成特定的功能。Java提供了System类和Runtime类来与程序的运行平台进行交互。

(1).System类

  1. import java.io.*;
  2. import java.util.*;
  3. public class SystemTest {
  4. public static void main(String[] args) throws Exception{
  5. //获取系统所有的环境变量
  6. Map<String, String> env=System.getenv();
  7. for(String key : env.keySet() ) {
  8. System.out.println(key + "------>" + env.get(key));
  9. }
  10.  
  11. //获取指定的环境变量
  12. System.out.println(env.get("JAVA_HOME"));
  13.  
  14. //获取系统的所有属性,并将属性保存到文件props.txt文件中
  15. Properties props=System.getProperties();
  16. props.store(new FileOutputStream("props.txt"), "System Properties");
  17.  
  18. //输出系统指定属性
  19. System.out.println(System.getProperty("os.name"));
  20. }
  21. }

System类还提供了identityHashCode(Object x)方法,来判断两个对象是不是同一个对象。

  1. public class IdentityHashCodeTest {
  2. public static void main(String[] args) {
  3. String s1=new String("Hello");
  4. String s2=new String("Hello");
  5. //String重写了hashCode()方法——改为根据字符序列计算hashCode值
  6. //因为s1和s2的字符序列相同,所以它们的hashCode()方法返回值相同
  7. System.out.println(s1.hashCode() + "---" + s2.hashCode());
  8.  
  9. //s1和s2是不同的字符串对象,所以它们的identityHashCode值不同
  10. System.out.println(System.identityHashCode(s1)+"---"+
  11. System.identityHashCode(s2)
  12. );
  13.  
  14. String s3="Java";
  15. String s4="Java";
  16. //s3和s4是相同的字符串对象,所以它们的hashCode()方法返回值和identityHashCode值相同
  17. System.out.println(s3.hashCode() + "---" + s4.hashCode());
  18. System.out.println(System.identityHashCode(s3)+"---"+
  19. System.identityHashCode(s4)
  20. );
  21. }
  22. }

运行结果:

69609650---69609650
12258573---5629279
2301506---2301506
21350489---21350489

(2).Runtime类

每个Java程序都有一个与之对应的Runtime实例,应用程序通过该对象与其运行时环境相连。应用程序不能创建自己的Runtime实例,但可以通过getRuntime()方法获取与之关联的Runtime对象。

Runtime类代表Java程序的运行时环境,可以访问JVM的相关信息,如处理器数量、内存信息等。另外,Runtime类还可以直接单独启动一个进程来运行操作系统的命令。

  1. public class RuntimeTest {
  2. public static void main(String[] args) throws Exception {
  3. //获取Java程序关联的运行时对象
  4. Runtime rt=Runtime.getRuntime();
  5. //访问JVM的相关信息
  6. System.out.println("处理器数量: "+rt.availableProcessors());
  7. System.out.println("空闲内存数: "+rt.freeMemory());
  8. System.out.println("可用最大内存数: "+rt.maxMemory());
  9.  
  10. //运行记事本程序
  11. rt.exec("notepad.exe");
  12. }
  13. }

2.String, StringBuilder和StringBuffer类

String, StringBuilder和StringBuffer类的具体方法见Java API文档。

  1. public class StringBuilderTest {
  2. public static void main(String[] args) {
  3. StringBuilder sb=new StringBuilder();
  4. //追加字符串
  5. sb.append("java");
  6. System.out.println(sb);
  7.  
  8. //插入
  9. sb.insert(0, "hello ");
  10. System.out.println(sb);
  11.  
  12. //替换
  13. sb.replace(5, 6, ",");
  14. System.out.println(sb);
  15.  
  16. //删除
  17. sb.delete(5, 6);
  18. System.out.println(sb);
  19.  
  20. //反转
  21. sb.reverse();
  22. System.out.println(sb);
  23.  
  24. //length
  25. System.out.println(sb.length());
  26. //capacity
  27. System.out.println(sb.capacity());
  28.  
  29. //改变StringBuilder的长度
  30. sb.setLength(5);
  31. System.out.println(sb);
  32. }
  33. }

运行结果:

java
hello java
hello,java
hellojava
avajolleh
9
16
avajo

3.Math类

Math类的具体方法见Java API文档。

  1. public class MathTest {
  2. public static void main(String[] args) {
  3. /*----------下面是三角运算----------*/
  4. //将弧度转换成角度
  5. System.out.println("Math.toDegrees(1.57): "+Math.toDegrees(1.57));
  6. //将角度转换为弧度
  7. System.out.println("Math.toRadians(90): "+Math.toRadians(90));
  8.  
  9. /*----------下面是取整运算----------*/
  10. //向下取整
  11. System.out.println("Math.floor(1.2): "+Math.floor(1.2));
  12. //向上取整
  13. System.out.println("Math.ceil(1.2): "+Math.ceil(1.2));
  14. //四舍五入
  15. System.out.println("Math.round(2.3): "+Math.round(2.3));
  16.  
  17. /*----------下面是乘方、开方、指数运算----------*/
  18. //计算平方根
  19. System.out.println("Math.sqrt(2.3): "+Math.sqrt(2.3));
  20. //计算立方根
  21. System.out.println("Math.cbrt(9): "+Math.cbrt(9));
  22. //返回欧拉数e的n次幂
  23. System.out.println("Math.exp(2): "+Math.exp(2));
  24. //计算乘方
  25. System.out.println("Math.pow(3,2): "+Math.pow(3,2));
  26. }
  27. }

运行结果:

Math.toDegrees(1.57): 89.95437383553926
Math.toRadians(90): 1.5707963267948966
Math.floor(1.2): 1.0
Math.ceil(1.2): 2.0
Math.round(2.3): 2
Math.sqrt(2.3): 1.51657508881031
Math.cbrt(9): 2.080083823051904
Math.exp(2): 7.38905609893065
Math.pow(3,2): 9.0

4.Random和ThreadLocalRandom类

ThreadLocalRandom类的用法与Random基本一致,只是ThreadLocalRandom用于并发访问的环境。

  1. import java.util.Arrays;
  2. import java.util.Random;
  3.  
  4. public class RandomTest {
  5. public static void main(String[] args) {
  6. Random rand=new Random();
  7.  
  8. //生成随机布尔值
  9. System.out.println("rand.nextBoolean(): "+rand.nextBoolean());
  10.  
  11. //生成随机byte
  12. byte[] buffer=new byte[16];
  13. rand.nextBytes(buffer);
  14. System.out.println(Arrays.toString(buffer));
  15.  
  16. //生成0.0~1.0之间的伪随机double数
  17. System.out.println("rand.nextDouble(): "+rand.nextDouble());
  18.  
  19. //生成平均值是0.0,标准差是1.0的伪高斯数
  20. System.out.println("rand.nextGaussian(): "+rand.nextGaussian());
  21.  
  22. //生成一个处于int整数取值范围的伪随机数
  23. System.out.println("rand.nextInt(): "+rand.nextInt());
  24.  
  25. //生成0~26之间的伪随机整数(包含0,但不包含26)
  26. System.out.println("rand.nextInt(26): "+rand.nextInt(26));
  27.  
  28. //生成指定区间的随机数[min,max]
  29. //int rand=rand.nextInt(max-min+1)+min;
  30. //生成[120,230]之间的随机数
  31. System.out.println("[120,230]之间的随机数: "+(rand.nextInt(230-120+1)+120));
  32.  
  33. //生成一个处于long整数值范围的伪随机数
  34. System.out.println("rand.nextLong(): "+rand.nextLong());
  35. }
  36. }

运行结果:

rand.nextBoolean(): true
[47, -75, -97, -94, 63, 93, -22, -40, -79, -91, -4, -41, -90, 116, -73, 121]
rand.nextDouble(): 0.1644444197510042
rand.nextGaussian(): 0.8657605571241994
rand.nextInt(): -488956561
rand.nextInt(26): 13
[120,230]之间的随机数: 199
rand.nextLong(): 7184787237768710562

5.BigDecimal类

float,double两种基本类型容易引起精度的丢失,为此Java提供了BigDecimal类。

  1. import java.math.BigDecimal;
  2.  
  3. public class BigDecimalTest {
  4. public static void main(String[] args) {
  5. BigDecimal f1=new BigDecimal("0.05");
  6. BigDecimal f2=BigDecimal.valueOf(0.01);
  7. BigDecimal f3=new BigDecimal(0.05);
  8.  
  9. System.out.println("使用String作为BigDecimal构造器参数: ");
  10. System.out.println("0.05+0.01="+f1.add(f2));
  11. System.out.println("0.05-0.01="+f1.subtract(f2));
  12. System.out.println("0.05*0.01="+f1.multiply(f2));
  13. System.out.println("0.05/0.01="+f1.divide(f2));
  14.  
  15. System.out.println("使用double作为BigDecimal构造器参数: ");
  16. System.out.println("0.05+0.01="+f3.add(f2));
  17. System.out.println("0.05-0.01="+f3.subtract(f2));
  18. System.out.println("0.05*0.01="+f3.multiply(f2));
  19. System.out.println("0.05/0.01="+f3.divide(f2));
  20. }
  21. }

运行结果:

使用String作为BigDecimal构造器参数:
0.05+0.01=0.06
0.05-0.01=0.04
0.05*0.01=0.0005
0.05/0.01=5
使用double作为BigDecimal构造器参数:
0.05+0.01=0.06000000000000000277555756156289135105907917022705078125
0.05-0.01=0.04000000000000000277555756156289135105907917022705078125
0.05*0.01=0.0005000000000000000277555756156289135105907917022705078125
0.05/0.01=5.000000000000000277555756156289135105907917022705078125

注:从程序运行结果我们可以看出,创建BigDecimal对象时,不要直接使用double浮点数作为参数调用BigDecimal构造器,否则同样会发生精度丢失的问题。

如果程序中要求对double浮点数进行加、减、乘、除基本运算,则需要先将double类型数值包装成BigDecimal对象,调用BigDecimal对象的方法执行运算后再将结果转换成double类型变量。这是比较烦琐的过程,可以考虑以BigDecimal为基础定义一个Arith工具类。

  1. import java.math.BigDecimal;
  2.  
  3. /**
  4. * Created by Administrator on 13-12-26.
  5. * Description: 如果程序中要求对double浮点数进行加、减、乘、除基本运算,则需要先将double类型数值
  6. * 包装成BigDecimal对象,调用BigDecimal对象的方法执行运算后再将结果转换成double类型
  7. * 变量。这是比较烦琐的过程,可以考虑以BigDecimal为基础定义一个Arith工具类.
  8. */
  9. public class Arith {
  10.  
  11. //默认除法运算精度
  12. private static final int DEF_DIV_SCALE=10;
  13.  
  14. //构造器私有,让这个类不能实例化
  15. private Arith() {}
  16.  
  17. /**
  18. * 提供精确的加法运算
  19. * @param v1 被加数
  20. * @param v2 加数
  21. * @return 两个参数的和
  22. */
  23. public static double add(double v1, double v2) {
  24. BigDecimal b1=BigDecimal.valueOf(v1);
  25. BigDecimal b2=BigDecimal.valueOf(v2);
  26. return b1.add(b2).doubleValue();
  27. }
  28.  
  29. /**
  30. * 提供精确的减法运算
  31. * @param v1 被减数
  32. * @param v2 减数
  33. * @return 两个参数的差
  34. */
  35. public static double sub(double v1, double v2) {
  36. BigDecimal b1=BigDecimal.valueOf(v1);
  37. BigDecimal b2=BigDecimal.valueOf(v2);
  38. return b1.subtract(b2).doubleValue();
  39. }
  40.  
  41. /**
  42. * 提供精确的乘法运算
  43. * @param v1 被乘数
  44. * @param v2 乘数
  45. * @return 两个参数的积
  46. */
  47. public static double mul(double v1, double v2) {
  48. BigDecimal b1=BigDecimal.valueOf(v1);
  49. BigDecimal b2=BigDecimal.valueOf(v2);
  50. return b1.multiply(b2).doubleValue();
  51. }
  52.  
  53. /**
  54. * 提供相对精确的除法运算,当发生除不尽的情况时,精确到小数点以后10位的数字四舍五入
  55. * @param v1 被除数
  56. * @param v2 除数
  57. * @return 两个参数的商
  58. */
  59. public static double div(double v1, double v2) {
  60. BigDecimal b1=BigDecimal.valueOf(v1);
  61. BigDecimal b2=BigDecimal.valueOf(v2);
  62. return b1.divide(b2, DEF_DIV_SCALE, BigDecimal.ROUND_HALF_UP).doubleValue();
  63. }
  64.  
  65. //主函数,测试
  66. public static void main(String[] args) {
  67. System.out.println("0.05+0.01=" +Arith.add(0.05, 0.01));
  68. System.out.println("1.0-0.42=" +Arith.sub(1.0, 0.42));
  69. System.out.println("4.05*1.03=" +Arith.mul(4.05, 1.03));
  70. System.out.println("12.0/7.0=" +Arith.div(12.0, 7.0));
  71. }
  72. }

6.Calendar类

  1. import java.util.Calendar;
  2.  
  3. public class CalendarTest {
  4. public static void main(String[] args) {
  5. Calendar c=Calendar.getInstance();
  6. //取出年
  7. System.out.println(c.get(Calendar.YEAR));
  8. //取出月(月份的起始值是0)
  9. System.out.println(c.get(Calendar.MONTH));
  10. //取出日
  11. System.out.println(c.get(Calendar.DATE));
  12. //分别设置年月日时分秒
  13. c.set(2003, 10, 23, 12, 32, 33);
  14. System.out.println(c.getTime());
  15. //将Calendar的年推前一年
  16. c.add(Calendar.YEAR, -1);
  17. System.out.println(c.getTime());
  18. //将Calendar的月推前8个月
  19. c.roll(Calendar.MONTH, -8);
  20. System.out.println(c.getTime());
  21. }
  22. }

运行结果:

2013
11
27
Sun Nov 23 12:32:33 CST 2003
Sat Nov 23 12:32:33 CST 2002
Sat Mar 23 12:32:33 CST 2002

7.TimeZone类

  1. import java.util.Arrays;
  2. import java.util.TimeZone;
  3.  
  4. public class TimeZoneTest {
  5. public static void main(String[] args) {
  6. //取得Java所支持的所有时区ID
  7. String[] ids= TimeZone.getAvailableIDs();
  8. System.out.println(Arrays.toString(ids));
  9. TimeZone my=TimeZone.getDefault();
  10. //获取系统默认时区的ID
  11. System.out.println(my.getID()); //Asia/Shanghai
  12. //获取系统默认时区的名称
  13. System.out.println(my.getDisplayName()); //中国标准时间
  14. //获取指定ID的时区名称
  15. System.out.println(TimeZone.getTimeZone("CNT").getDisplayName()); //纽芬兰标准时间
  16. }
  17. }

三.正则表达式

1.正则表达式使用查询表

贪婪模式:数量表示符默认采用贪婪模式,除非另有表示。贪婪模式的表达式会一直匹配下去,直到无法匹配为止。

勉强模式:它只会匹配最少的字符,也称为最小匹配模式。

占有模式:目前只有Java支持,很少用。

2.使用正则表达式

①String类提供的操作正则表达式的方法

②Pattern和Matcher类

Matcher类提供了如下几个常用方法

Pattern和Matcher类使用正则表达式的典型调用顺序如下

3.程序实例

  1. import java.util.regex.Matcher;
  2. import java.util.regex.Pattern;
  3.  
  4. public class FindGroup {
  5. public static void main(String[] args) {
  6. Matcher m= Pattern.compile("\\w+").matcher("Java is very easy!");
  7. while(m.find()) {
  8. System.out.println(m.group()+ "子串的起始位置: "+m.start()
  9. + "子串的结束位置: "+m.end());
  10. }
  11. }
  12. }

运行结果:

Java子串的起始位置: 0子串的结束位置: 4
is子串的起始位置: 5子串的结束位置: 7
very子串的起始位置: 8子串的结束位置: 12
easy子串的起始位置: 13子串的结束位置: 17

  1. import java.util.regex.Matcher;
  2. import java.util.regex.Pattern;
  3.  
  4. public class ReplaceTest {
  5. public static void main(String[] args) {
  6. String[] msgs={
  7. "Java has regular expressions in 1.4",
  8. "regular expressions now expressing in Java",
  9. "Java represses oracular expressions"
  10. };
  11. Pattern p=Pattern.compile("re\\w*");
  12. Matcher matcher=null;
  13. for(String msg : msgs) {
  14. if(matcher==null) {
  15. matcher=p.matcher(msg);
  16. }else {
  17. matcher.reset(msg);
  18. }
  19. System.out.println(matcher.replaceAll("哈哈:)"));
  20. }
  21. }
  22. }

运行结果:

Java has 哈哈:) exp哈哈:) in 1.4
哈哈:) exp哈哈:) now exp哈哈:) in Java
Java 哈哈:) oracular exp哈哈:)

  1. import java.util.regex.Matcher;
  2. import java.util.regex.Pattern;
  3.  
  4. public class MatchesTest {
  5. public static void main(String[] args) {
  6. String[] mails={
  7. "kongyeeku@163.com",
  8. "kongyeeku@gmail.com",
  9. "ligang@crazyit.org",
  10. "wawa@abc.xx"
  11. };
  12. String mailRegEx="\\w{3,20}@\\w+\\.(com|org|cn|net|gov)";
  13. Pattern mailPattern=Pattern.compile(mailRegEx);
  14. Matcher matcher=null;
  15. for(String mail : mails) {
  16. if(matcher==null) {
  17. matcher=mailPattern.matcher(mail);
  18. }
  19. else {
  20. matcher.reset(mail);
  21. }
  22. String result=mail + (matcher.matches() ? "是" : "不是")
  23. + "一个有效的邮件地址!";
  24. System.out.println(result);
  25. }
  26. }
  27. }

运行结果:

kongyeeku@163.com是一个有效的邮件地址!
kongyeeku@gmail.com是一个有效的邮件地址!
ligang@crazyit.org是一个有效的邮件地址!
wawa@abc.xx不是一个有效的邮件地址!

Java学习第七篇:与运行环境交互的更多相关文章

  1. 从.Net到Java学习第七篇——SpringBoot Redis 缓存穿透

    从.Net到Java学习系列目录 场景描述:我们在项目中使用缓存通常都是先检查缓存中是否存在,如果存在直接返回缓存内容,如果不存在就直接查询数据库然后再缓存查询结果返回.这个时候如果我们查询的某一个数 ...

  2. Java学习之反射篇

    Java学习之反射篇 0x00 前言 今天简单来记录一下,反射与注解的一些东西,反射这个机制对于后面的java反序列化漏洞研究和代码审计也是比较重要. 0x01 反射机制概述 Java反射是Java非 ...

  3. Java学习之注解篇

    Java学习之注解篇 0x00 前言 续上篇文章,这篇文章就来写一下注解的相关内容. 0x01 注解概述 Java注解(Annotation)又称Java标注,是JDK5.0约会的一种注释机制. 和J ...

  4. 从.Net到Java学习第十一篇——SpringBoot登录实现

    从.Net到Java学习系列目录 通过前面10篇文章的学习,相信我们对SpringBoot已经有了一些了解,那么如何来验证我们的学习成果呢?当然是通过做项目来证明啦!所以从这一篇开始我将会对之前自己做 ...

  5. PHP应用的CI/CD流程实践与学习:一、PHP运行环境的准备

    前言:一直以来想学习与实践一下敏捷开发,之前项目虽说口口声声我们项目是敏捷开发,其实很扯. 敏捷开发如果有持续集成.持续部署的支持,那样开发.测试.运维将节省不少精力. 此系列博客只为记录CI/CD的 ...

  6. Java学习之jackson篇

    Java学习之jackson篇 0x00 前言 本篇内容比较简单,简单记录. 0x01 Json 概述 概述:JSON(JavaScript Object Notation, JS 对象简谱) 是一种 ...

  7. Java学习之旅开篇:运行机制及环境搭建

    在写这篇博客之前,我想对自己进行简单概括:我从事软件开发工作已经三年多了,并且一直在从事.NET相关项目的开发.为什么突然间想学习Java呢?有以下几个原因: 1. 开发程序三年多来,已经对.NET相 ...

  8. Android(java)学习笔记161:Framework运行环境之启动SystemServer进程

          SystemServer进程是zygote孵化出的第一个进程,该进程是从ZygoteInit.java的main函数中调用startSystemServer()开始的.与启动普通进程的差别 ...

  9. Android(java)学习笔记104:Framework运行环境之启动SystemServer进程

    1. SystemServer进程      SystemServer进程是zygote孵化出的第一个进程,该进程是从ZygoteInit.java的main函数中调用startSystemServe ...

随机推荐

  1. eclipse如何修改dynamic web module version;——eclipse操作备忘

    1.eclipse如何修改dynamic web module version 一.修改工程属性: 右键eclipse的工程,选择属性,再选择Project Facets里面中选择Dynamic We ...

  2. JS学习第三课

    写表格时最好自己写上<tbody>,因为在JS里面要用,要不然html里没有,但是我们在JS里面用得飞起,也说不过去啊. 获取表格元素时,tBodis[0]一定要加上,本人试过不加,然后就 ...

  3. Shell指令

    Shell指令 1.Shell原理图 2.Shell指令的基本语法 Shell指令 Shell –选项 参数 Shell –选项 Shell参数 3.常用的Shell指令 1)ls指令:显示文件信息 ...

  4. [Guava学习笔记]Strings: 字符串处理

    我的技术博客经常被流氓网站恶意爬取转载.请移步原文:http://www.cnblogs.com/hamhog/p/3861502.html,享受整齐的排版.有效的链接.正确的代码缩进.更好的阅读体验 ...

  5. 3_1 wp8应用生命周期与导航事件[wp8特色开发与编程技巧]

    3_1生命周期 大家好,我是徐文康,今天我们来讨论一下应用程序的生命周期,首先打开app.xaml.cs文件我们可以看到这里有几个已经为我们写好的事件.   Launching 应用程序启动 Acti ...

  6. TextEdit验证

    using System;using System.Collections.Generic;using System.ComponentModel;using System.Drawing;using ...

  7. 求一个String 类型数组是不是都是回文,是返回1,否则返回-1

    package 回文; public class yhisHuiWen { public static void ishuiwen(String arr[]){ boolean flag=true;/ ...

  8. VmodCAM图像采集 VGA显示

    先上图 总体框图 效果图 效果不是很好,因为暂时用的是zedboard自带的VGA,其只能RGB只有3*3*3的彩色度 VmodCAM原理图 VmodCAM的zedboard管脚约束见:http:// ...

  9. Ubuntu14.04 安装 PHP cURL

    今天遇到 Fatal error: Call to undefined function curl_init() in /xxx/xxxx/www/application/library/Ku/Htt ...

  10. this.IsMounted() is not a function

    I'm trying to build a simple React App. It retrieves data from an ajax call and renders it to the pa ...