Test3.java
1 package com; 2 3 import java.text.DecimalFormat; 4 5 public class Test3 { 6 7 public static void main(String[] args) { 8 System.out.println("This a java program!"); 9 args[0] = "1"; 10 args[1] = "2"; 11 args[2] = "3"; 12 System.out.println("arg is" + args[0] + " " + args[1] + " " + args[2]); 13 14 // NO.1 2-1 什么是java中的字符串 15 // 定义字符串 16 String hobby = "爱慕可"; 17 String url = "dd"; 18 19 // 输出字符串 20 System.out.println("hobby:" + hobby); 21 System.out.println("url:" + url); 22 23 // NO.2 2-2 java中字符串的不变性 24 String s1 = "imooc"; 25 String s2 = "imooc"; 26 27 // 定义字符串s3,保存“I love”和s1拼接后的内容 28 String s3 = "I love" + s1; 29 30 // 比较字符串s1和s2 31 // imooc为常量字符串,多次出现时会被编译器优化,只创建一个对象 32 System.out.println("s1和s2内存地址相同吗?" + (s1 == s2)); 33 System.out.println("s1和s2内容相同吗?" + (s1.equals(s2))); 34 // 比较字符串s1和s3 35 System.out.println("s1和s3内存地址相同吗?" + (s1 == s3)); 36 System.out.println("s1和s3内容相同吗?" + (s1.equals(s3))); 37 String s4 = "I love" + s1; 38 // 比较字符串s4和s3 39 // s1是变量,s4在运行时才知道具体值,所以s3和s4是不同的对象 40 System.out.println("s3和s4内存地址相同吗?" + (s4 == s3)); 41 System.out.println("s3和s4内容相同吗?" + (s4.equals(s3))); 42 43 // NO.3 2-3 java中String类的常用方法I 44 // Java文件名 45 String fileName = "HelloWorld.java"; 46 // 邮箱 47 String email = "laurenyang@imooc.com"; 48 49 // 判断.java文件名是否正确:合法的文件名应该以.java结尾 50 /* 51 * 参考步骤: 1、获取文件名中最后一次出现"."号的位置 2、根据"."号的位置,获取文件的后缀 3、判断"."号位置及文件后缀名 52 */ 53 // 获取文件名中最后一次出现"."号的位置 54 int index = fileName.lastIndexOf("."); 55 System.out.println(index); 56 57 // 获取文件的后缀 58 String prefix = fileName.substring(index + 1, fileName.length()); 59 System.out.println(prefix); 60 // 判断必须包含"."号,且不能出现在首位,同时后缀名为"java" 61 if (prefix.equals("java")) { 62 63 System.out.println("Java文件名正确"); 64 } else { 65 System.out.println(index); 66 67 System.out.println(prefix); 68 System.out.println("Java文件名无效"); 69 } 70 71 // 判断邮箱格式是否正确:合法的邮箱名中至少要包含"@", 并且"@"是在"."之前 72 /* 73 * 参考步骤: 1、获取文件名中"@"符号的位置 2、获取邮箱中"."号的位置 3、判断必须包含"@"符号,且"@"必须在"."之前 74 */ 75 // 获取邮箱中"@"符号的位置 76 int index2 = email.indexOf("@"); 77 78 // 获取邮箱中"."号的位置 79 int index3 = email.indexOf('.'); 80 81 // 判断必须包含"@"符号,且"@"必须在"."之前 82 if (index2 != -1 && index3 > index2) { 83 System.out.println("邮箱格式正确"); 84 } else { 85 System.out.println("邮箱格式无效"); 86 } 87 88 // NO.4 2-5 认识java中的StringBuilder类 89 // 创建一个StringBuilder对象,用来存储字符串 90 StringBuilder hobby1 = new StringBuilder("爱慕课"); 91 92 System.out.println(hobby1); 93 94 // NO.5 2-6 java中的StringBuilder类的常用方法 95 // 创建一个空的StringBuilder对象 96 StringBuilder str = new StringBuilder(); 97 // 追加字符串 98 str.append("jaewkjldfxmopzdm"); 99 // 从后往前每隔三位插入逗号 100 for (int i = str.length() - 3; i > 0; i = i - 3) { 101 str.insert(i, ','); 102 } 103 // 将StringBuilder对象转换为String对象并输出 104 System.out.println(str); 105 System.out.println(str.toString()); 106 107 // NO.6 3-1 java中的包装类 108 // 定义int类型变量,值为86 109 int score1 = 86; 110 111 // 创建Integer包装类对象,表示变量score1的值 112 Integer score2 = new Integer(score1); 113 114 // 将Integer包装类转换为double类型 115 double score3 = score2.doubleValue(); 116 117 // 将Integer包装类转换为float类型 118 float score4 = score2.floatValue(); 119 120 // 将Integer包装类转换为int类型 121 int score5 = score2.intValue(); 122 123 System.out.println("Integer包装类:" + score2); 124 System.out.println("double类型:" + score3); 125 System.out.println("float类型:" + score4); 126 System.out.println("int类型:" + score5); 127 128 // NO.7 3-2 java中基本类型和包装类之间的转换 129 // 定义double类型变量 130 double a = 91.5; 131 132 // 手动装箱 133 Double b = new Double(a); 134 135 // 自动装箱 136 Double c = a; 137 138 System.out.println("装箱后的结果为:" + b + "和" + c); 139 140 // 定义一个Double包装类对象,值为8 141 Double d = new Double(87.0); 142 143 // 手动拆箱 144 double e = d.doubleValue(); 145 146 // 自动拆箱 147 double f = d; 148 149 System.out.println("拆箱后的结果为:" + e + "和" + f); 150 151 // NO.8 3-4 java中基本类型和字符串之间的转换 152 double m = 78.5; 153 // 将基本类型转换为字符串 154 String str1 = Double.toString(m); 155 156 System.out.println("m 转换为String型后与整数20的求和结果为: " + (str1 + 20)); 157 158 String str2 = "180.256"; 159 // 将字符串转换为基本类型 160 Double a1 = Double.valueOf(str2); 161 162 DecimalFormat df = new DecimalFormat(".00"); 163 String a2 = df.format(a1); 164 System.out.println(a1); 165 System.out.println(a2); 166 System.out.println("str 转换为double型后与整数20的求和结果为: " + (a1 + 20)); 167 } 168 }