`

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入门实例 java入门实例

    【Java 入门实例:classpath 和 package 详解】 学习Java对于初学者来说,尤其是在尝试编译和运行简单程序时,可能会遇到很多困扰。错误信息往往令人困惑,导致一些初学者失去学习信心。实际上,很多问题源于对...

    Java入门123(二维码版)_java编程_

    通过《Java入门123(二维码版)》的学习,读者不仅能掌握Java语言的基本语法,还能了解到实际编程中的一些最佳实践。同时,配合二维码链接到的资源,能为学习过程提供实时的示例和进一步的解释,提升学习效果。

    java 入门教学课件

    总的来说,Java入门教学课件将引导学习者深入理解Java的基本概念、编程结构、环境配置以及与其他语言的区别,为后续的Java开发打下坚实的基础。通过学习,你可以编写简单的应用程序、小应用程序以及Web应用程序,...

    java入门课件(java初学者必备)

    以上只是Java入门的一些核心知识点,实际学习过程中,还会涉及到更多的高级主题,如反射、注解、设计模式、并发编程、JVM内存管理等。这个入门课件将逐步引导初学者掌握这些基础知识,为后续深入学习Java打下坚实的...

    Java 入门 基础 代码

    11. **字符串**:Java中的String类是不可变的,学习如何创建、操作和比较字符串。 12. **IO流**:输入/输出流用于读写文件或网络数据,理解流的概念和使用FileInputStream、FileOutputStream等类。 13. **集合框架...

    java学习从入门到精通教程(pdf)

    7. **字符串处理**:Java中的String类是经常使用的,这部分会讲解字符串的创建、操作和比较方法。 8. **输入/输出(I/O)**:学习使用Java的I/O流进行文件读写,网络通信等操作,包括FileInputStream、...

    Java入门练习50题

    "Java入门练习50题"旨在帮助新手巩固基础,通过实践加深理解。以下将对这些练习进行详细解释,以期为你的Java学习之旅提供有力的支持。 1. **基础语法** - 变量声明:了解如何声明并初始化各种类型的变量,包括...

    java入门级pdf

    Java入门级PDF文档通常会涵盖一系列基础概念,帮助初学者建立起对这门语言的理解。以下是一些关键知识点的详细介绍: 1. **Java简介**:Java是由Sun Microsystems(现已被Oracle收购)开发的一种高级编程语言,它...

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

    Java SE编程入门涉及众多基础知识,其中包括对字符串(String)的深入理解和使用。字符串在Java中扮演着重要的角色,因为它们在日常编程中几乎无处不在,无论是处理用户输入、读写文件还是进行网络通信。以下是对Java ...

    最好的java入门基础书

    "最好的Java入门基础书"无疑为新手提供了宝贵的资源,帮助他们构建坚实的编程基础。这本书可能包含了Java语言的基本概念、语法、数据类型、控制结构、类与对象等核心主题。 1. **Java语言简介**:Java是一种跨平台...

    java7入门经典完全扫描版百度网盘下载地址

    根据提供的文件信息,本文将围绕Java 7这一版本的基础知识、特性以及如何通过...通过学习这本书,不仅可以掌握Java的基础知识,还能了解到最新的编程技术和最佳实践。希望每位读者都能从中受益,开启自己的编程之旅。

    JAVA入门教程TXT

    在“JAVA入门教程TXT”中,你将学习到以下基础知识: 1. **Java环境搭建**:首先,你需要安装Java Development Kit (JDK)。JDK包含了编译Java源代码所需的Java编译器(javac)、运行Java程序的Java虚拟机(JVM)...

    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入门基础教程.zip

    Java入门基础教程是针对初学者精心编排的一套学习资源,旨在帮助新手快速掌握Java编程语言的基本概念和技能。这份教程包含的“Java基础教程.pdf”文档,将全面讲解Java的核心概念,为后续深入学习打下坚实的基础。 ...

    java入门资料(String,接口和抽象类,泛型,io流,反射,多线程)

    Java 入门资料综述 Java 是一种广泛应用于移动设备、Web 应用程序和企业软件开发的编程语言。本资源概括了 Java 的基础知识,涵盖 String、接口和抽象类、泛型、IO 流、反射和多线程等方面。 String String 是 ...

    JAVA入门很简单.pdf

    根据给定的信息,“JAVA入门很简单.pdf”这本书主要针对Java编程语言的基础教学,旨在为初学者提供一个简单易懂的学习路径。接下来,我们将基于这个标题、描述以及部分内容来深入探讨几个关键知识点。 ### Java简介...

    优质课件 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 8快速入门

    Java 8快速入门教程为有一定Java基础的读者提供了一个指南,帮助他们快速了解并应用Java 8的新特性。无论你是想通过实践学习如何使用新的日期时间API,还是想掌握函数式编程的核心概念,本文都可以作为你的起点。...

    Java入门第一季

    在"Java入门第一季"中,我们将探讨几个核心概念,包括标识符、变量、数据类型、变量的使用规则、类型转换、常量以及注释。 首先,标识符是Java中用于命名变量、类、方法等的名称。它们遵循以下规则: 1. 标识符可以...

Global site tag (gtag.js) - Google Analytics