【Java】字符串变量和整形之间的相互转化与静态方法static

字符串变量和整形之间的相互转化在任何编程语言中都是很常见的东西,请不要与(int)String等强制类型转换混淆,这样做是不对的,(String)int,诸如这样是不能完成字符串变量和整形之间的相互转化的,强制类型转换只用于,整形int与浮点float的互转,父类转化为子类。

在Java中的字符串String转化为整形int,可以利用Integer.parseInt(),而整形int转化成String虽然很多人都知道大名鼎鼎的toString(),但不应该对此形成定式思维,其实你在对于任意一个整形,后面加上+""都可以直接转化为字符串。

比如以下的方法:

public static void parse() {
	String stringA = "1";
	String stringB = "2";
	int intA = 0, intB = 0;
	try {
		intA = Integer.parseInt(stringA);
		intB = Integer.parseInt(stringB);
		System.out.println(intA + intB);
		System.out.println((intA + "") + (intB + ""));
	} catch (Exception e) {
		System.out.println("这两东西任意一个不是数!");
	}
}

展示了字符串stringA、B转换为整形,字符串转化为整形的时候必须抛出异常,如果字符串A、B任意一个不是数的话,就必须回退try中的所有代码,也就是说try里面的代码等于没写一样,然后执行catch里面的所有代码。如果没有异常,那么catch里面的代码等于没有一样。只执行try的代码。现在虽然看不出效果,因为我在此程序中已经保证字符串A,B都是数,但是在一些涉及用户交互的程序,必须这样做以保证我们的健壮的。由于Integer.parseInt()没有规定必须写在抛出异常结构里面,所以经常会忘记。

至于静态方法static是什么呢?一般没有什么事,尤其是在这样的工具类方法里面,什么是工具类呢?也就是说,像这样执行完,这个类再也没什么用了,你就可以考虑把类里面的方法写成这样的公共静态无返回值方法。看个程序,对比一下静态方法与非静态的区别就明白了。多讲无益。我讲不透,你也听不懂:

class classA {
	public static void parse() {
		String stringA = "1";
		String stringB = "2";
		int intA = 0, intB = 0;
		try {
			intA = Integer.parseInt(stringA);
			intB = Integer.parseInt(stringB);
			System.out.println(intA + intB);
			System.out.println((intA + "") + (intB + ""));
		} catch (Exception e) {
			System.out.println("这两东西任意一个不是数!");
		}
	}

	public void notStaticMethod() {
		System.out.println("我不是静态方法");
	}
}

public class StaticTest {
	public static void main(String[] args) {
		classA.parse();
		new classA().notStaticMethod();
	}
}

上面的程序的运行结果如下图:

在主函数中,要执行classA中的两个方法,必须先有classA,但是对于静态方法parse()的调用不比先new这个classA,如果调用类成员那样简单,对于静态方法parse()用完,classA即死——也就说没用了,不必先new再用这个方法,也就不会再Java内存里面浪费空间,效率高。如果你没有定义成静态方法,首先你自己写的烦,要先new classA(),才能调用这个方法。当然如果你以后还要用到new classA()还好说,但是你以后根本就用不到这个classA()的任何东西,根本就没有必要不定义静态方法。因此编程的时候考虑一下哪些是“工具方法”,比如像我之前的《【Java】两个ArrayList之间求交并补》(点击打开链接)等“工具方法”,你就应该定义一个工具类,里面全是静态方法。这样调用起来简单。

时间: 2024-11-08 12:23:31

【Java】字符串变量和整形之间的相互转化与静态方法static的相关文章

字符串和整形数组的相互转化(JAVA程序)

1 package te; 2 public class StringConvert { 3 static int[] a = {0,1,1,0,1,1,0,2}; 4 static String s = "0011223344"; 5 public static void main(String[] args) { 6 StringConvert sc = new StringConvert(); 7 System.out.println(sc.intArray2Str(a)); 8

Python中的列表,元组,字符串之间的相互转化

Python中的列表元组和字符串之间的相互转化需要利用,tuple(),list(),str(). 示例如下: >>> the_string = "hello I'am xiaoli!" >>> #字符串转化为元组 >>> the_tuple = tuple(the_string) >>> the_tuple ('h', 'e', 'l', 'l', 'o', ' ', 'I', "'", 'a

JNI/NDK开发指南(七)——C/C++访问Java实例变量和静态变量

转载请注明出处:http://blog.csdn.net/xyang81/article/details/42836783 在上一章中我们学习到了如何在本地代码中访问任意Java类中的静态方法和实例方法,本章我们也通过一个示例来学习Java中的实例变量和静态变量,在本地代码中如何来访问和修改.静态变量也称为类变量(属性),在所有实例对象中共享同一份数据,可以直接通过[类名.变量名]来访问.实例变量也称为成员变量(属性),每个实例都拥有一份实例变量数据的拷贝,它们之间修改后的数据互不影响.下面看一

Java 之变量和常量

Java中的关键字: Java 语言中有一些具有特殊用途的词被称为关键字.关键字对 Java 的编译器有着特殊的意义,在程序中应用时一定要慎重哦!! Java 中常用关键字: 问:这么多,记不住啊......-_-|| 答:现在不需要你记住所有,混个眼熟即可,在学习的过程中,你会逐步找到感觉并记住他们 对了,差点忘了大事,Java 关键字是区分大小写的哦!所以 void 是关键字,但 Void 就不是了~~ 认识Java标识符 问:标识符是神马? 答:标识符就是用于给 Java 程序中变量.类.

Java字符串(String)

从表面上看,字符串就是双引号之间的数据,例如"微学苑"."http://www.weixueyuan.net"等.在Java中,可以使用下面的方法定义字符串:    String stringName = "string content";例如: String url = "http://www.weixueyuan.net"; String webName = "微学苑"; 字符串可以通过"+&

linux基础学习第十三天(数组、字符串变量处理)

2016-08-22 授课内容: 数组 高级字符串操作 一.数组 变量:存储单个元素的内存空间 数组:存储多个元素的连续的内存空间,相当于多个变量的集合. 数组名和索引 索引:编号从0开始,属于数值索引 bash的数组支持稀疏格式(索引不连续) 1.声明数组: declare -a ARRAY_NAME(并非强制声明,但最好按规范声明) declare -A ARRAY_NAME: 关联数组 2.数组元素的赋值: (1) 一次只赋值一个元素: ARRAY_NAME[INDEX]=VALUE [1

windows上自动设置java环境变量的脚本

转:http://www.cnblogs.com/flowwind/p/4066146.html 近期打算学习安卓开发,于是乎要准备java开发环境,安装好jdk后,就要设置java环境变量,java环境变量要设置 JAVA_HOME,Path,CLASSPATH三个值,每次配置查百度复制粘贴都很麻烦,所以想着偷懒下,用脚本直接执行就很快了,搜了下bat的命 令,写了个配置java环境变量的脚本. 这里默认设置了java jdk的安装路径为C:\Program Files\Java\jdk1.7

Java字符串转16 进制工具类Hex.java

原文:Java字符串转16 进制工具类Hex.java 源代码下载地址:http://www.zuidaima.com/share/1550463378410496.htm Java 字符串转 16 进制工具类 Hex.java 实现 16进制 0xfecd .. 和 java 字符串之间的互转换! 如果做开发,通常用户登陆密码都会 mad5(salt + pwd) 然后再将 md 之后的数据 hex 一下. 这个工具类,就是实现此效果的. /* * */ package com.zuidaim

图解Java字符串不变性

1. 声明字符串 String s = "abcd"; 这里,s存储了“abcd”在这个字符串对象的引用,如下图所示: 2. 将字符串变量s赋值给字符串变量s2 String s2 = s; 此时,s2也指向了“abcd”. 3. 字符串合并 s = s.concat("ef); 这里,明显是新创建了字符串对象“abcdef”,也就是说,在java中字符串对象一旦被创建就不会改变. 总结 在Java中,一旦一个字符串对象在内存中(通常在堆中)被创建,它就不会被改变.同时字符串