java字符基础入门.docx
- 文档编号:30235223
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:29
- 大小:22.81KB
java字符基础入门.docx
《java字符基础入门.docx》由会员分享,可在线阅读,更多相关《java字符基础入门.docx(29页珍藏版)》请在冰豆网上搜索。
java字符基础入门
1Character类
packagecn.itcast_01;
/*
*Character类在对象中包装一个基本类型char的值
*此外,该类提供了几种方法,以确定字符的类别(小写字母,数字,等等),并将字符从大写转换成小写,反之亦然
*
*构造方法:
*Character(charvalue)
*/
publicclassCharacterDemo{
publicstaticvoidmain(String[]args){
//创建对象
//Characterch=newCharacter((char)97);
Characterch=newCharacter('a');
System.out.println("ch:
"+ch);
}
}
2大小写
packagecn.itcast_02;
/*
*publicstaticbooleanisUpperCase(charch):
判断给定的字符是否是大写字符
*publicstaticbooleanisLowerCase(charch):
判断给定的字符是否是小写字符
*publicstaticbooleanisDigit(charch):
判断给定的字符是否是数字字符
*publicstaticchartoUpperCase(charch):
把给定的字符转换为大写字符
*publicstaticchartoLowerCase(charch):
把给定的字符转换为小写字符
*/
publicclassCharacterDemo{
publicstaticvoidmain(String[]args){
//publicstaticbooleanisUpperCase(charch):
判断给定的字符是否是大写字符
System.out.println("isUpperCase:
"+Character.isUpperCase('A'));
System.out.println("isUpperCase:
"+Character.isUpperCase('a'));
System.out.println("isUpperCase:
"+Character.isUpperCase('0'));
System.out.println("-----------------------------------------");
//publicstaticbooleanisLowerCase(charch):
判断给定的字符是否是小写字符
System.out.println("isLowerCase:
"+Character.isLowerCase('A'));
System.out.println("isLowerCase:
"+Character.isLowerCase('a'));
System.out.println("isLowerCase:
"+Character.isLowerCase('0'));
System.out.println("-----------------------------------------");
//publicstaticbooleanisDigit(charch):
判断给定的字符是否是数字字符
System.out.println("isDigit:
"+Character.isDigit('A'));
System.out.println("isDigit:
"+Character.isDigit('a'));
System.out.println("isDigit:
"+Character.isDigit('0'));
System.out.println("-----------------------------------------");
//publicstaticchartoUpperCase(charch):
把给定的字符转换为大写字符
System.out.println("toUpperCase:
"+Character.toUpperCase('A'));
System.out.println("toUpperCase:
"+Character.toUpperCase('a'));
System.out.println("-----------------------------------------");
//publicstaticchartoLowerCase(charch):
把给定的字符转换为小写字符
System.out.println("toLowerCase:
"+Character.toLowerCase('A'));
System.out.println("toLowerCase:
"+Character.toLowerCase('a'));
}
}
3统计字符串中大小写出现的次数
packagecn.itcast_03;
importjava.util.Scanner;
/*
*统计一个字符串中大写字母字符,小写字母字符,数字字符出现的次数。
(不考虑其他字符)
*
*分析:
*A:
定义三个统计变量。
*intbigCont=0;
*intsmalCount=0;
*intnumberCount=0;
*B:
键盘录入一个字符串。
*C:
把字符串转换为字符数组。
*D:
遍历字符数组获取到每一个字符
*E:
判断该字符是
*大写bigCount++;
*小写smalCount++;
*数字numberCount++;
*F:
输出结果即可
*/
publicclassCharacterTest{
publicstaticvoidmain(String[]args){
//定义三个统计变量。
intbigCount=0;
intsmallCount=0;
intnumberCount=0;
//键盘录入一个字符串。
Scannersc=newScanner(System.in);
System.out.println("请输入一个字符串:
");
Stringline=sc.nextLine();
//把字符串转换为字符数组。
char[]chs=line.toCharArray();
//历字符数组获取到每一个字符
for(intx=0;x charch=chs[x]; //判断该字符 if(Character.isUpperCase(ch)){ bigCount++; }elseif(Character.isLowerCase(ch)){ smallCount++; }elseif(Character.isDigit(ch)){ numberCount++; } } //输出结果即可 System.out.println("大写字母: "+bigCount+"个"); System.out.println("小写字母: "+smallCount+"个"); System.out.println("数字字符: "+numberCount+"个"); } } 4基本数据类型和字符串之间的转换 packagecn.itcast_01; /* *需求1: 我要求大家把100这个数据的二进制,八进制,十六进制计算出来 *需求2: 我要求大家判断一个数据是否是int范围内的。 *首先你的知道int的范围是多大? * *为了对基本数据类型进行更多的操作,更方便的操作,Java就针对每一种基本数据类型提供了对应的类类型。 包装类类型。 *byteByte *shortShort *intInteger *longLong *floatFloat *doubleDouble *charCharacter *booleanBoolean * *用于基本数据类型与字符串之间的转换。 */ publicclassIntegerDemo{ publicstaticvoidmain(String[]args){ //不麻烦的就来了 //publicstaticStringtoBinaryString(inti) System.out.println(Integer.toBinaryString(100)); //publicstaticStringtoOctalString(inti) System.out.println(Integer.toOctalString(100)); //publicstaticStringtoHexString(inti) System.out.println(Integer.toHexString(100)); //publicstaticfinalintMAX_VALUE System.out.println(Integer.MAX_VALUE); //publicstaticfinalintMIN_VALUE System.out.println(Integer.MIN_VALUE); } } 5Integer构造方法 packagecn.itcast_02; /* *Integer的构造方法: *publicInteger(intvalue) *publicInteger(Strings) *注意: 这个字符串必须是由数字字符组成 */ publicclassIntegerDemo{ publicstaticvoidmain(String[]args){ //方式1 inti=100; Integerii=newInteger(i); System.out.println("ii: "+ii); //方式2 Strings="100"; //NumberFormatException //Strings="abc"; Integeriii=newInteger(s); System.out.println("iii: "+iii); } } 6int和string的相互转换 packagecn.itcast_03; /* *int类型和String类型的相互转换 * *int--String *String.valueOf(number) * *String--int *Integer.parseInt(s) */ publicclassIntegerDemo{ publicstaticvoidmain(String[]args){ //int--String intnumber=100; //方式1 Strings1=""+number; System.out.println("s1: "+s1); //方式2 Strings2=String.valueOf(number); System.out.println("s2: "+s2); //方式3 //int--Integer--String Integeri=newInteger(number); Strings3=i.toString(); System.out.println("s3: "+s3); //方式4 //publicstaticStringtoString(inti) Strings4=Integer.toString(number); System.out.println("s4: "+s4); System.out.println("-----------------"); //String--int Strings="100"; //方式1 //String--Integer--int Integerii=newInteger(s); //publicintintValue() intx=ii.intValue(); System.out.println("x: "+x); //方式2 //publicstaticintparseInt(Strings) inty=Integer.parseInt(s); System.out.println("y: "+y); } } 7常用基本进制转换 packagecn.itcast_04; /* *常用的基本进制转换 *publicstaticStringtoBinaryString(inti) *publicstaticStringtoOctalString(inti) *publicstaticStringtoHexString(inti) * *十进制到其他进制 *publicstaticStringtoString(inti,intradix) *由这个我们也看到了进制的范围: 2-36 *为什么呢? 0,...9,a...z * *其他进制到十进制 *publicstaticintparseInt(Strings,intradix) */ publicclassIntegerDemo{ publicstaticvoidmain(String[]args){ //十进制到二进制,八进制,十六进制 System.out.println(Integer.toBinaryString(100)); System.out.println(Integer.toOctalString(100)); System.out.println(Integer.toHexString(100)); System.out.println("-------------------------"); //十进制到其他进制 System.out.println(Integer.toString(100,10)); System.out.println(Integer.toString(100,2)); System.out.println(Integer.toString(100,8)); System.out.println(Integer.toString(100,16)); System.out.println(Integer.toString(100,5)); System.out.println(Integer.toString(100,7)); System.out.println(Integer.toString(100,-7)); System.out.println(Integer.toString(100,70)); System.out.println(Integer.toString(100,1)); System.out.println(Integer.toString(100,17)); System.out.println(Integer.toString(100,32)); System.out.println(Integer.toString(100,37)); System.out.println(Integer.toString(100,36)); System.out.println("-------------------------"); //其他进制到十进制 System.out.println(Integer.parseInt("100",10)); System.out.println(Integer.parseInt("100",2)); System.out.println(Integer.parseInt("100",8)); System.out.println(Integer.parseInt("100",16)); System.out.println(Integer.parseInt("100",23)); //NumberFormatException //System.out.println(Integer.parseInt("123",2)); } } 8JDK5新特性 packagecn.itcast_05; /* *JDK5的新特性 *自动装箱: 把基本类型转换为包装类类型 *自动拆箱: 把包装类类型转换为基本类型 * *注意一个小问题: *在使用时,Integerx=null;代码就会出现NullPointerException。 *建议先判断是否为null,然后再使用。 */ publicclassIntegerDemo{ publicstaticvoidmain(String[]args){ //定义了一个int类型的包装类类型变量i //Integeri=newInteger(100); Integerii=100; ii+=200; System.out.println("ii: "+ii); //通过反编译后的代码 //Integerii=Integer.valueOf(100);//自动装箱 //ii=Integer.valueOf(ii.intValue()+200);//自动拆箱,再自动装箱 //System.out.println((newStringBuilder("ii: ")).append(ii).toString()); Integeriii=null; //NullPointerException if(iii! =null){ iii+=1000; System.out.println(iii); } } } 9测试 packagecn.itcast_06; /* *看程序写结果 * *注意: Integer的数据直接赋值,如果在-128到127之间,会直接从缓冲池里获取数据 */ publicclassIntegerDemo{ publicstaticvoidmain(String[]args){ Integeri1=newInteger(127); Integeri2=newInteger(127); System.out.println(i1==i2); System.out.println(i1.equals(i2)); System.out.println("-----------"); Integeri3=newInteger(128); Integeri4=newInteger(128); System.out.println(i3==i4); System.out.println(i3.equals(i4)); System.out.println("-----------"); Integeri5=128; Integeri6=128; System.out.println(i5==i6); System.out.println(i5.equals(i6)); System.out.println("-----------"); Integeri7=127; Integeri8=127; System.out.println(i7==i8); System.out.println(i7.equals(i8)); //通过查看源码,我们就知道了,针对-128到127之间的数据,做了一个数据缓冲池,如果数据是该范围内的,每次并不创建新的空间 //Integerii=Integer.valueOf(127); } } 10线程安全 packagecn.itcast_01; /* *线程安全(多线程讲解) *安全--同步--数据是安全的 *不安全--不同步--效率高一些 *安全和效率问题是永远困扰我们的问题。 *安全: 医院的网站,银行网站 *效率: 新闻网站,论坛之类的 * *StringBuffer: *线程安全的可变字符串。 * *StringBuffer和String的区别? *前者长度和内容可变,后者不可变。 *如果使用前者做字符串的拼接,不会浪费太多的资源。 * *StringBuffer的构造方法: *publicStringBuffer(): 无参构造方法 *publicStringBuffer(intcapacity): 指定容量的字符串缓冲区对象 *publicStringBuffer(Stringstr): 指定字符串内容的字符串缓冲区对象 * *StringBuffer的方法: *publicintcapacity(): 返回当前容量。 理论值 *publicintlength(): 返回长度(字符数)。 实际值 */ publicclassStringBufferDemo{ publicstaticvoidmain(String[]args){ //publicStringBuffer()
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 字符 基础 入门