how2j.cn

本视频是解读性视频,所以希望您已经看过了本知识点的内容,并且编写了相应的代码之后,带着疑问来观看,这样收获才多。 不建议一开始就观看视频



5分18秒
本视频采用html5方式播放,如无法正常播放,请将浏览器升级至最新版本,推荐火狐,chrome,360浏览器 如果装有迅雷,播放视频呈现直接下载状态,请调整 迅雷系统设置-基本设置-启动-监视全部浏览器 (去掉这个选项)



示例 1 : 保存一个字符的时候使用char   
示例 2 : char对应的封装类   
示例 3 : Character常见方法   
示例 4 : 常见转义   
示例 5 : 练习-Character   
示例 6 : 答案-Character   

示例 1 :

保存一个字符的时候使用char

package character; public class TestChar { public static void main(String[] args) { char c1 = 'a'; char c2 = '1';//字符1,而非数字1 char c3 = '中';//汉字字符 char c4 = 'ab'; //只能放一个字符 } }
package character;

public class TestChar {

	public static void main(String[] args) {
		char c1 = 'a';
		char c2 = '1';//字符1,而非数字1
		char c3 = '中';//汉字字符
		char c4 = 'ab'; //只能放一个字符
		
	}
}
示例 2 :

char对应的封装类

char对应的封装类是Character
装箱拆箱概念,参考 拆箱装箱
package character; public class TestChar { public static void main(String[] args) { char c1 = 'a'; Character c = c1; //自动装箱 c1 = c;//自动拆箱 } }
package character;

public class TestChar {

	public static void main(String[] args) {
		char c1 = 'a';
		Character c = c1; //自动装箱
		c1 = c;//自动拆箱
		
	}
}
示例 3 :

Character常见方法

package character; public class TestChar { public static void main(String[] args) { System.out.println(Character.isLetter('a'));//判断是否为字母 System.out.println(Character.isDigit('a')); //判断是否为数字 System.out.println(Character.isWhitespace(' ')); //是否是空白 System.out.println(Character.isUpperCase('a')); //是否是大写 System.out.println(Character.isLowerCase('a')); //是否是小写 System.out.println(Character.toUpperCase('a')); //转换为大写 System.out.println(Character.toLowerCase('A')); //转换为小写 String a = 'a'; //不能够直接把一个字符转换成字符串 String a2 = Character.toString('a'); //转换为字符串 } }
package character;

public class TestChar {

	public static void main(String[] args) {
		
		System.out.println(Character.isLetter('a'));//判断是否为字母
		System.out.println(Character.isDigit('a')); //判断是否为数字
		System.out.println(Character.isWhitespace(' ')); //是否是空白
		System.out.println(Character.isUpperCase('a')); //是否是大写
		System.out.println(Character.isLowerCase('a')); //是否是小写
		
		System.out.println(Character.toUpperCase('a')); //转换为大写
		System.out.println(Character.toLowerCase('A')); //转换为小写

		String a = 'a'; //不能够直接把一个字符转换成字符串
		String a2 = Character.toString('a'); //转换为字符串
		
	}
}
示例 4 :

常见转义

常见转义
package character; public class TestChar { public static void main(String[] args) { System.out.println("使用空格无法达到对齐的效果"); System.out.println("abc def"); System.out.println("ab def"); System.out.println("a def"); System.out.println("使用\\t制表符可以达到对齐的效果"); System.out.println("abc\tdef"); System.out.println("ab\tdef"); System.out.println("a\tdef"); System.out.println("一个\\t制表符长度是8"); System.out.println("12345678def"); System.out.println("换行符 \\n"); System.out.println("abc\ndef"); System.out.println("单引号 \\'"); System.out.println("abc\'def"); System.out.println("双引号 \\\""); System.out.println("abc\"def"); System.out.println("反斜杠本身 \\"); System.out.println("abc\\def"); } }
示例 5 :

练习-Character

Or  姿势不对,事倍功半! 点击查看做练习的正确姿势
通过Scanner从控制台读取字符串,然后把字符串转换为字符数组
参考的转换方式:

String str = "abc123";
char[] cs = str.toCharArray();


转换为字符数组后,筛选出控制台读取到的字符串中的大写字母和数字,并打印出来
练习-Character
示例 6 :

答案-Character

在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
本视频是解读性视频,所以希望您已经看过了本答案的内容,带着疑问来观看,这样收获才多。 不建议一开始就观看视频

2分56秒 本视频采用html5方式播放,如无法正常播放,请将浏览器升级至最新版本,推荐火狐,chrome,360浏览器 如果装有迅雷,播放视频呈现直接下载状态,请调整 迅雷系统设置-基本设置-启动-监视全部浏览器 (去掉这个选项)


package character; import java.util.Scanner; public class TestChar { public static void main(String[] args) { Scanner s = new Scanner(System.in); String str = s.nextLine(); char[] cs = str.toCharArray(); for (int i = 0; i < cs.length; i++) { char c = cs[i]; if(Character.isUpperCase(c) || Character.isDigit(c)) System.out.print(c); } } }
package character;

import java.util.Scanner;

public class TestChar {
 
    public static void main(String[] args) {
    	Scanner  s = new Scanner(System.in);
    	String str = s.nextLine();
    	char[] cs = str.toCharArray();
    	
    	for (int i = 0; i < cs.length; i++) {
    		char c = cs[i];
			if(Character.isUpperCase(c) || Character.isDigit(c))
				System.out.print(c);
		}
       
    }
}


HOW2J公众号,关注后实时获知布最新的教程和优惠活动,谢谢。


问答区域    
2018-03-27 设计鬼才。。。
xwlsgdsg



真的设计鬼才。。。能想到的方法都用了
package 字符串;
import java.math.*;
//将字符串数组储存到一个二维字符数组中进行排序
public class Array {
	public static String[] Create(){
		String[] s=new String[8];
		for(int i=0;i<8;i++){
		Test3 t=new Test3();
		s[i]=t.create();
		}
		return s;
	}
	public char[][] Createchar(){
		//生成二维字符数组
		char[][] a=new char[8][5];
		String[] s=Array.Create();
		for(int i=0;i<8;i++)
			a[i]=s[i].toCharArray();
		System.out.println("随机生成的字符串数组转换成的二维字符数组如下:");
		for(int i=0;i<8;i++){
			for(int j=0;j<5;j++)
				System.out.print(a[i][j]+",");
				System.out.println();
			}
		return a;
	}
	public char[][] exchange(char[][] a,int m,int n){//字符数组行与行的交换
		char ch;	
		for(int i=0;i<5;i++){
			ch=a[m][i];
			a[m][i]=a[n][i];
			a[n][i]=ch;
			}
		System.out.println(m+"和"+n+"行的数据进行了交换");
		return a;
	}
	public char[][] compare(char[][] a,int m,int n){
		//二维字符数组的每行首字符进行比较,字母都换成小写储存在另一个字符数组中
		int b,c=0;
		char[] d=new char[8];
		b=(int)a[m][0];
		c=(int)a[n][0];
		for(int i=0;i<8;i++){
			d[i]=a[i][0];
			d[i]=Character.toUpperCase(d[i]);
		}
		if(b>29&&b<40&c>29&&c<40){
			if(c>b)
				exchange(a,m,n);
		}
		else if(b>40&&c>40){
			if((int)(d[n])<(int)(d[m])){
				exchange(a,m,n);
			}
		}
		else if(b>40&&c<40)
			exchange(a,m,n);
		return a;
	}
	public String[] Sort(char[][] a){
		//二维字符数组每一行利用冒泡法进行排序,把结果赋值给一维字符串数组
		String[] s=new String[8];
		for(int i=0;i<7;i++)
			for(int j=0;j<7-i;j++)
				compare(a,j,j+1);
		for(int i=0;i<8;i++)
			s[i]=new String(a[i]);
		return s;
	}
	public static void main(String[] arg){
		Array array=new Array();
		char[][] a=array.Createchar();
		String[] s=array.Sort(a);
		for(int i=0;i<8;i++){
			for(int j=0;j<5;j++)
				System.out.print(a[i][j]+",");
				System.out.println();
			}
	}
}

							






答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2018-03-27 设计鬼才。。。
xwlsgdsg



感觉自己真的是设计鬼才。。。这么麻烦的方法还真是锻炼人。。。
package 字符串;
import java.math.*;
public class Array {
	public static String[] Create(){
		String[] s=new String[8];
		for(int i=0;i<8;i++){
		Test3 t=new Test3();
		s[i]=t.create();
		}
		return s;
	}
	public char[][] Createchar(){
		char[][] a=new char[8][5];
		String[] s=Array.Create();
		for(int i=0;i<8;i++)
			a[i]=s[i].toCharArray();
		System.out.println("随机生成的字符串数组转换成的二维字符数组如下:");
		for(int i=0;i<8;i++){
			for(int j=0;j<5;j++)
				System.out.print(a[i][j]+",");
				System.out.println();
			}
		return a;
	}
	public char[][] exchange(char[][] a,int m,int n){
		char ch;
		if(m>7||n>7)
			System.out.println("行数输入有误");
		try{	
		for(int i=0;i<5;i++){
			ch=a[m][i];
			a[m][i]=a[n][i];
			a[n][i]=ch;
			}
		System.out.println(m+"和"+n+"行的数据进行了交换");
	}catch(Exception e){
		e.printStackTrace();
	}
		finally{return a;}
		}
	public char[][] compare(char[][] a,int m,int n){
		int b,c=0;
		char[] d=new char[8];
		b=(int)a[m][0];
		c=(int)a[n][0];
		for(int i=0;i<8;i++){
			d[i]=a[i][0];
			d[i]=Character.toUpperCase(d[i]);
		}
		if(b>29&&b<40&c>29&&c<40){
			if(c>b)
				exchange(a,m,n);
		}
		else if(b>40&&c>40){
			if((int)(d[n])<(int)(d[m])){
				exchange(a,m,n);
			}
		}
		else if(b>40&&c<40)
			exchange(a,m,n);
		return a;
	}
	public String[] Sort(char[][] a){
		String[] s=new String[8];
		for(int i=0;i<7;i++)
			for(int j=0;j<7-i;j++)
				compare(a,j,j+1);
		for(int i=0;i<8;i++)
			s[i]=new String(a[i]);
		return s;
	}
	public static void main(String[] arg){
		Array array=new Array();
		char[][] a=array.Createchar();
		String[] s=array.Sort(a);
		for(int i=0;i<8;i++){
			for(int j=0;j<5;j++)
				System.out.print(a[i][j]+",");
				System.out.println();
			}
	}
}

							






答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2018-03-06 答案-Character
2018-03-04 作业
2018-01-17 这样不知道对不对。
2017-12-12 我们…不一样
2017-12-04 作业答案
2017-12-01 作业
2017-09-13 增强型for循环实现
2017-08-18 显示的结果是竖的
2017-07-13 作业
2017-06-05 看了别人的答案,感觉我写的特别沉冗
2017-05-22 17行错误出在哪?
2017-04-18 为什么Charactor.isUpperCase不能用?
2016-11-06 System.out.println(Character.isLetter('a'));//判断是否为字符
2016-06-05 答案-Character




提问之前请登陆
关于 JAVA 基础-数字与字符串-字符 的提问

尽量提供截图代码异常信息,有助于分析和解决问题。 也可进本站QQ群交流: 389538688
站长会在每个工作日早上尽量回答提问(如果有漏掉没有回答的,请进群提醒一下)
提问尽量提供完整的代码,环境描述,越是有利于问题的重现,您的问题越能更快得到解答。
对教程中代码有疑问,请提供是哪个步骤,哪一行有疑问,这样便于快速定位问题,提高问题得到解答的速度
站长是玻璃心,提问的时候请语气温柔些 kiss~
截止2017-5-19日累计提问 1638个,站长回答了 1546个
截止2017-8-15日累计提问 2788个,站长回答了 2544个

上传截图