Java中,关于字符串类型、随机验证码、 时间类型

一、字符串类型:String类型

定义一个字符串

String a="Hello World";

String b= new String ("Hello World");

字符串之间的拼接:

String a=abcd;

String b=abcd;

String  c=a+b;

System.out.println(c);

//输出的值 为 "abcdabcd"      //string类型同样可以和int类型拼接,假设 int d= 555, 那么     String e=a+d ;  那么输出e,得到的值为 "abcd555";

关于字符串常用的一些操作:

String  sc="ABCDEFG";

sc.length();       //取字符串的长度

sc.indexOf( c );    //获取第一次出现某字符的位置,返回的值为int类型   c表示查找的字符  。  需要注意的是获取的值需要+1,才是该字符的位置,在计算机中,String的索引是从0开始

sc.lastindexOf( c )  //获取最后一次出现某字符的位置

sc.substring( a,b )     //截取字符串,从 a 到 b

sc.trim()         // 只去掉字符串的前后空格,不去掉中间的

sc.replace(a,b )      //替换所有 ,由a替换成b

sc.replaceFirst(a,b)   //同样是替换,但是只替换一次

sc.equals(b)            //字符串之间相互比较  sc是否等于b  返回的值为true或者false

sc.split(,)      //将字符串按照一定的规则拆分  "," 每遇见一个逗号,进行一次拆分

  

通过sc.indexOf()获取数据示例:

String s="<student><xm>张三</xm><xb>男</xb></student>";

		int a=s.indexOf("<xm>");             //找到第一次出现该字符串的位置 并赋值给a
		int b=s.indexOf("</xm>");
		int c=s.indexOf("<xb>");
		int d=s.indexOf("</xb>");
		String xm = s.substring(a+4, b);    //因为我们要取字符后面的值,所以要跳过4个字符  故而+4  截取从 a+4到b;
		String xb = s.substring(c+4,d);       //原因同上, 截取从 c+4到d;

		 System.out.print("姓名为"+xm+",性别为"+xb);      //输出

 

随机数字或字母或字母+数字混合验证码

		String a= new String("1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ");   //首先规定字符串

		String yzm="";

		 for(int i=1;i<=4;i++)
		 {
			int sj=(int)((Math.random()*100)%a.length());       //在for循环中的随机数,对字符串的长度取余,则随机数位是字符串中的某个位置
			String c=a.substring(sj, sj+1);                       //截取字符串中某一个位置的字符,到字符+1
			yzm=yzm+c;                            //将字符拼接

		 }

		 System.out.print(yzm);                 //最后输出

  

二、时间类型:Date型

获取时间:

两种方法:1.单独获取,最后拼接

//创建Calenar对象

Calendar a=Calendar.getInstance();

//分别给 年月日赋值	

	int b= a.get(Calendar.YEAR);

	int c= a.get(Calendar.MONTH)+1;     //在计算机中月份是从0开始的,因此要+1

	int d= a.get(Calendar.DAY_OF_MONTH);

//输出
	System.out.print(a+"年"+c+"月"+d+"日");

  2、对Calenar格式化

//创建Calenar对象
Calendar a= Calendar.getInstance();
//格式化时间
	SimpleDateFormat b=new SimpleDateFormat(yyyy-MM-dd hh:mm:ss);
// 对Calender格式化
	String c= b.format(a.getTime());
//输出
	System.out.print(c);

  

     

时间: 2024-10-24 11:52:22

Java中,关于字符串类型、随机验证码、 时间类型的相关文章

Android学习笔记----Java中的字符串比较

用习惯了C#.C++,在做字符串比较时想当然地使用如下语句: 1 string str1 = "abcd", str2 = "abcd"; 2 if(str1==str2) 3 { 4 return true; 5 } 6 else 7 { 8 return false; 9 } 殊不知在Java中,两个String类型的变量,尽管字符相同,使用”==“进行比较,也会返回false. Java中进行字符串比较需采用String类型的equals方法: 1 Strin

Java中的字符串常量池

最近做到一个题目: 问题:String str = new String("abc"),"abc"在内存中是怎么分配的?    答案是:堆,字符串常量区. 题目考查的为Java中的字符串常量池和JVM运行时数据区的相关概念."abc"为字面量对象,其存储在堆内存中.而字符串常量池则存储的是字符串对象的一个引用. Java中的字符串常量池 Java中字符串对象创建有两种形式,一种为字面量形式,如String str = "droid&qu

protobuf在java中的字符串化

最近由于项目需要,大致研究了一下protobuf的java使用.说实话,习惯了C++的protobuf,java用起来真别扭. 由于需要将protobuf序列化后,存入redis,而且redis没法直接存储非字符串的数据,所以我只能想办法将protobuf序列化成字符串. protobuf的java实现里,并没有直接序列化成String类型变量的方法,但是提供了toByteArray()方法,可以序列化成byte[]. 于是乎很容易想到可以这么做: byte[] raw_bytes = prot

JAVA中创建字符串的两种方式的区别

我们知道,通常在Java中创建一个字符串会有两种方式,通过双引号直接赋值和通过构造器来创建. String x = "abcd"; String y = new String("abcd"); 然而,这两种方式之间的区别是什么?分别应用于哪些情况,之前还不是很懂. 1.双引号的方式 String x = "abcd"; String y = "abcd"; System.out.println(x==y);//true Sys

转载:Java中的字符串常量池详细介绍

引用自:http://blog.csdn.net/langhong8/article/details/50938041 这篇文章主要介绍了Java中的字符串常量池详细介绍,JVM为了减少字符串对象的重复创建,其维护了一个特殊的内存,这段内存被成为字符串常量池或者字符串字面量池,需要的朋友可以参考下 Java中字符串对象创建有两种形式,一种为字面量形式,如String str = "droid";,另一种就是使用new这种标准的构造对象的方法,如String str = new Stri

SpringMVC表单或Json中日期字符串与JavaBean的Date类型的转换

SpringMVC表单或Json中日期字符串与JavaBean的Date类型的转换 场景一:表单中的日期字符串和JavaBean的Date类型的转换 在使用SpringMVC的时候,经常会遇到表单中的日期字符串和JavaBean的Date类型的转换, 例如,如下代码S_ROLE_QO这个bean中包含有Date类型属性,不处理就拿不到值. /** * 分页取角色列表 * @param s_ROLE_QO 角色查询条件 * @return */ @RequestMapping(value = "/

2.1号Java复习题目——Java中的字符串(基础知识整理)

Java中的字符串基础知识 作为程序开发当中,使用最频繁的类型之一,字符串有着与基础类型相同的地位,甚至在 JVM(Java 虚拟机)编译的时候会对字符串做特殊的处理,比如拼加操作可能会被 JVM 直接合成为一个最终的字符串,从而到达高效运行的目的. 1 String 特性 String 是标准的不可变类(immutable),对它的任何改动,其实就是创建了一个新对象,再把引用指向该对象: String 对象赋值之后就会在常量池中缓存,如果下次创建会判定常量池是否已经有缓存对象,如果有的话直接返

Java中的字符串比较,按照使用习惯进行比较

java中的字符串比较一般可以采用compareTo函数,如果a.compareTo(b)返回的是小于0的数,那么说明a的unicode编码值小于b的unicode编码值. 但是很多情况下,我们开发一款app需要结合“国情”,比如在电话本中,我们希望“李四”排在“zhangsan”的前面,但是如果采用普通的compareTo函数的字符串比较的方式,那么“zhangsan”小于“李四”,由此造成了“zhangsan”的排序先于“李四”. 解决方式是采用java提供的 Collator类. 一.原理

java中判断字符串是否为数字的方法的几种方法

Java中判断字符串是否为数字的方法: 1.用JAVA自带的函数 public static boolean isNumeric(String str){ for (int i = 0; i < str.length(); i++){ System.out.println(str.charAt(i)); if (!Character.isDigit(str.charAt(i))){ return false; } } return true; } 2.用正则表达式 首先要import java.

将字符串CString类型转换成时间类型

将字符串CString类型转换成时间类型: //转换时间,替代CStringToDateTime(temp); int nYear, nMonth, nDate, nHour, nMin; float nSec; sscanf(temp, "%d-%d-%d %d:%d:%f", &nYear, &nMonth, &nDate, &nHour, &nMin, &nSec); CBHDateTime sTime(nYear, nMonth,