`

Java入门 了解String

阅读更多

package hello;

/*
 * 在Eclipse中生成可执行jar文件,只需要通过
 * File->Export->选择Runable jar file然后一步一步导出即可
 * 对于控制台程序,直接双击执行是看不到执行结果的
 * cmd打开控制台,然后执行java -jar jarfilepath
 * 就可以看到控制台的执行结果了
 * */

public class World {
	
	public static void main(String[] args) {
		System.out.println("Hello java");

		// String的基本操作
		String str = "Hello world";
		int worIndex = str.indexOf("wor");
		System.out.println(String.format("worIndex is %1d", worIndex));
		String world = str.substring(worIndex);
		System.out.println(world);
		// 包括startIndex,但是不包括endIndex
		String wor = str.substring(worIndex, worIndex + 3);
		System.out.println(wor);

		String plus = "Hello " + "world";
		System.out.println(plus);

		// 大写转换
		String upperCase = plus.toUpperCase();
		System.out.println(upperCase);

		// 使用concat
		String a = "A";
		a = a.concat("bc");
		System.out.println(a);

		// char
		for (int i = 0; i < a.length(); i++) {
			System.out.print(a.charAt(i));
		}

		for (char c : a.toCharArray()) {
			System.out.print(c);
		}
		System.out.println();
		// split
		String toSplit = "Hello James Bond";
		String[] words = toSplit.split(" ");
		for (String word : words) {
			System.out.println(word);
		}

		// compare
		String str1 = "abc";
		String str2 = "def";
		int compareResult = str1.compareTo(str2);
		System.out.println(compareResult);

		// startsWith,endsWith
		boolean isStartsWitha = str1.startsWith("a");
		System.out.println(isStartsWitha);
		System.out.println(isStartsWitha);

		// StringBuffer考虑了线程同步,而StringBuilder没有考虑
		// StringBuffer性能稍微差与StringBuilder在单线程情况下要使用StringBuilder
		StringBuffer sb = new StringBuffer();
		sb.append("Hello");
		sb.append(" ");
		sb.append("World");
		String strValue = sb.toString();
		System.out.println(strValue);

		StringBuilder sbr = new StringBuilder();
		sbr.append("Hello ");
		sbr.append("Java");
		System.out.println(sbr.toString());

		// 数字格式化处理
		studyFormatInteger();

		// 格式浮点数
		studyFormatFloat();

		// 格式化中如果需要输入%,需要用两个来做转义
		String formated = String.format("今日涨跌%1$.2f%%", 3.145);
		System.out.println(formated);

	}

	static void studyFormatFloat() {
		// 浮点数格式化
		// %[index$][标识][最少宽度][.精度]转换方式
		// 和整数的格式化基本相同,精度和转换方式不同
		String[] formats = {
				// - 在最小宽度内左对齐,不可以与“用0填充”同时使用,保留两位小数
				"%1$-6.2f",
				// +标识表示总是有一个符号,不省略+
				"%1$+6.3f",
				// 标识表示正数前加空格,负数前加-号
				"%1$ 6.3f",
				// 科学计数法表示数字
				"%1$ 6.3e",
				// g或者G表示根据实际情况自动选择科学计数法还是普通方式
				// 这个从输出结果看忽略了最少宽度为6和保留3位小数.3的设置
				"%1$ 6.3g", "%1$g",
				// 'a', 'A' -- 结果被格式化为带有效位数和指数的十六进制浮点数
				"%1$a" };

		for (String format : formats) {
			float num = 3.14159f;
			String formated = String.format(format, num);
			System.out.println(formated);
		}
	}

	static void studyFormatInteger() {
		// 字符串的格式化
		// java的字符串格式化更像c的printf,而不像c#的string.Format
		// 下面的博客很全面
		// http://blog.csdn.net/andycpp/article/details/1749700
		// 整形数字的格式化
		// 对整数进行格式化:%[index$][标识][最小宽度]转换方式
		// index下标从1开始
		String strFormatInteger = String.format("%1$+5d;%2$ 5d", 99, 888);
		System.out.println(strFormatInteger);

		String[] formats = { "%1$-9d", "%1$#5X", "%1$+9d", "%1$09d", "%1$,9d",
				"%1$(9d" };

		// java中没有foreach关键字,但可以用for (type varname : iterable)实现foreach
		for (String format : formats) {
			int num = -9999999;
			String formated = String.format(format, num);
			// System.out.println(formated);
			String output = String.format(
					"String.format(\"%1$s\",%2$d) == \"%3$s\"", format, num,
					formated);
			System.out.println(output);
		}
	}
}
 
分享到:
评论

相关推荐

    Java SE编程入门教程 String字符串(共27页).pptx

    Java SE编程入门教程 java入门以及变量debug(共63页).pptx Java SE编程入门教程 java设计模式(共17页).pptx Java SE编程入门教程 java数组(共33页).pptx Java SE编程入门教程 java网络编程(共29页).pptx ...

    Java SE编程入门教程 java入门以及变量debug(共63页).pptx

    Java SE编程入门教程 java入门以及变量debug(共63页).pptx Java SE编程入门教程 java设计模式(共17页).pptx Java SE编程入门教程 java数组(共33页).pptx Java SE编程入门教程 java网络编程(共29页).pptx ...

    Java SE编程入门教程 java泛型(共11页).pptx

    Java SE编程入门教程 java入门以及变量debug(共63页).pptx Java SE编程入门教程 java设计模式(共17页).pptx Java SE编程入门教程 java数组(共33页).pptx Java SE编程入门教程 java网络编程(共29页).pptx ...

    Java SE编程入门教程 java判断循环(共79页).ppt

    Java SE编程入门教程 java入门以及变量debug(共63页).pptx Java SE编程入门教程 java设计模式(共17页).pptx Java SE编程入门教程 java数组(共33页).pptx Java SE编程入门教程 java网络编程(共29页).pptx ...

    Java SE编程入门教程 java序列化(共14页).pptx

    Java SE编程入门教程 java入门以及变量debug(共63页).pptx Java SE编程入门教程 java设计模式(共17页).pptx Java SE编程入门教程 java数组(共33页).pptx Java SE编程入门教程 java网络编程(共29页).pptx ...

    优质课件 java基础入门必学 Java SE编程入门教程 全套PPT课件 共30个文件 含辅助资料.rar

    Java SE编程入门教程 java入门以及变量debug(共63页).pptx Java SE编程入门教程 java设计模式(共17页).pptx Java SE编程入门教程 java数组(共33页).pptx Java SE编程入门教程 java网络编程(共29页).pptx ...

    Java SE编程入门教程 javaGUI编程快速入门(1)(共82页).pptx

    Java SE编程入门教程 java入门以及变量debug(共63页).pptx Java SE编程入门教程 java设计模式(共17页).pptx Java SE编程入门教程 java数组(共33页).pptx Java SE编程入门教程 java网络编程(共29页).pptx ...

    JAVA入门1.2.3:一个老鸟的JAVA学习心得 PART1(共3个)

    一一击破Java入门可能会遇到的难点和疑惑 抽丝剥茧,层层推进,让知识环环相扣,降低了学习的难度 通过大量的比喻、类比、对比和图示等多种讲解方式,学习效果好 对Java语言的每个语法都提供了一个或多个例程讲解 ...

    Java SE编程入门教程 java instanceof(共3页).pptx

    Java SE编程入门教程 java入门以及变量debug(共63页).pptx Java SE编程入门教程 java设计模式(共17页).pptx Java SE编程入门教程 java数组(共33页).pptx Java SE编程入门教程 java网络编程(共29页).pptx ...

    Java SE编程入门教程 java object(共9页).pptx

    Java SE编程入门教程 java入门以及变量debug(共63页).pptx Java SE编程入门教程 java设计模式(共17页).pptx Java SE编程入门教程 java数组(共33页).pptx Java SE编程入门教程 java网络编程(共29页).pptx ...

    Java SE编程入门教程 java异常(共57页).pptx

    Java SE编程入门教程 java入门以及变量debug(共63页).pptx Java SE编程入门教程 java设计模式(共17页).pptx Java SE编程入门教程 java数组(共33页).pptx Java SE编程入门教程 java网络编程(共29页).pptx ...

    Java SE编程入门教程 java GC(共6页).pptx

    Java SE编程入门教程 java入门以及变量debug(共63页).pptx Java SE编程入门教程 java设计模式(共17页).pptx Java SE编程入门教程 java数组(共33页).pptx Java SE编程入门教程 java网络编程(共29页).pptx ...

    Java SE编程入门教程 java正则(共8页).pptx

    Java SE编程入门教程 java入门以及变量debug(共63页).pptx Java SE编程入门教程 java设计模式(共17页).pptx Java SE编程入门教程 java数组(共33页).pptx Java SE编程入门教程 java网络编程(共29页).pptx ...

    Java SE编程入门教程 java集合(共38页).pptx

    Java SE编程入门教程 java入门以及变量debug(共63页).pptx Java SE编程入门教程 java设计模式(共17页).pptx Java SE编程入门教程 java数组(共33页).pptx Java SE编程入门教程 java网络编程(共29页).pptx ...

    Java SE编程入门教程 java IO(共28页).pptx

    Java SE编程入门教程 java入门以及变量debug(共63页).pptx Java SE编程入门教程 java设计模式(共17页).pptx Java SE编程入门教程 java数组(共33页).pptx Java SE编程入门教程 java网络编程(共29页).pptx ...

    Java SE编程入门教程 java数组(共33页).pptx

    Java SE编程入门教程 java入门以及变量debug(共63页).pptx Java SE编程入门教程 java设计模式(共17页).pptx Java SE编程入门教程 java数组(共33页).pptx Java SE编程入门教程 java网络编程(共29页).pptx ...

    Java SE编程入门教程 java线程(共61页).pptx

    Java SE编程入门教程 java入门以及变量debug(共63页).pptx Java SE编程入门教程 java设计模式(共17页).pptx Java SE编程入门教程 java数组(共33页).pptx Java SE编程入门教程 java网络编程(共29页).pptx ...

    Java SE编程入门教程 java Math(共11页).pptx

    Java SE编程入门教程 java入门以及变量debug(共63页).pptx Java SE编程入门教程 java设计模式(共17页).pptx Java SE编程入门教程 java数组(共33页).pptx Java SE编程入门教程 java网络编程(共29页).pptx ...

    Java SE编程入门教程 java接口(共21页).pptx

    Java SE编程入门教程 java入门以及变量debug(共63页).pptx Java SE编程入门教程 java设计模式(共17页).pptx Java SE编程入门教程 java数组(共33页).pptx Java SE编程入门教程 java网络编程(共29页).pptx ...

    Java SE编程入门教程 java网络编程(共29页).pptx

    Java SE编程入门教程 java入门以及变量debug(共63页).pptx Java SE编程入门教程 java设计模式(共17页).pptx Java SE编程入门教程 java数组(共33页).pptx Java SE编程入门教程 java网络编程(共29页).pptx ...

Global site tag (gtag.js) - Google Analytics