在java中如何输入一个char型字符。
可以创建Scanner类来从键盘输入一个字符,用String类型来接收,再使用String的charAt功能,具体步骤如下:
1、先创建一个Scanner对象,如:Scanner sc = new Scanner(System.in);
2、然后再调用Scanner对象sc的next()方法获取控制台输入,定义一个String类型的变量s来接收控制台输入的字符,如:String s = sc.next();
3、调取变量s的charAt(0)方法获取第一个字符,如:char c = s.charAt(0);
扩展资料
字符型值有如下三种表示形式
1、直接通过单个字符来指定字符型值,例如‘A’、‘9’和‘0’等。
2、通过转义字符表示特殊字符型值,例如‘\n’、‘\t’等。
3、直接使用Unicode值来表示字符型值,格式是‘\uXXXX’,其中XXXX代表一个十六进制的整数
字符型值也可以采用十六进制编码方式来表示,范围是‘\u0000’~‘\uFFFF’,一共可以表示65536个字符,其中前256个(‘\u0000’~‘\u00FF’)字符和ASCII码中的字符完全重合。
由于计算机底层保存字符时,实际是保存该字符对应的编号,因此char类型的值也可直接作为整型值来使用,它相当于一个16位的无符号整数,表数范围是0~65535。
如果把0~65535范围内的一个int整数赋给char类型变量,系统会自动把这个int整数当成char类型来处理。
参考资料:百度百科-char数据类型
方法一:
Scanner cin=new Scanner(System.in);
String s=cin.nextLine();
char ans=s.charAt(0);
这样即可获取一个字符。
方法二:
byte[] b=new byte[2];
try{
System.in.read(b)
}catch(Exception e){}
char ans=new String(b).charAt(0);
这样即可获取一个字符
扩展资料:
在windows下编译java文件、执行:
1、先创建一个txt,更改为test.java。
2、编写代码,为输出为holloword。
3、找到cmd,并进行打开cmd。
4、编译java文件,输入命令为javac test.java。
5、如果没有报错,查看当前目录下是否有class文件产生。
6、执行class文件,在命令输入java test,输出为holloword。
需要添加抛出声明,但是可以从键盘输入一个字符,如果输入多个的话,那么只会保存第一个字符。使用Scanner 类从键盘录入一个字符,使用String 接收; 然后使用 String 的charAt功能。
char c = new java.util.Scanner(System.in).next().charAt(0);
这算是最常用的了吧,实际上就是输入字符串后再利用charAt(0)得到
char c = new java.util.Scanner(System.in).next().toCharArray[0];
勉强算得上第二种吧!我以前很常用的。可以用,但是毕竟不好,浪费资源,又没有第一种简单。
char c = (char)new BufferedReader(new InputStreamReader(System.in)).read();
这个也可以读取第一个输入的字符,不过这应该是在没有Scanner类的时候使用的,现在使用显得有点麻烦了。
1.先创建一个Scanner对象
2.调用Scanner对象的next()方法获取控制台输入,返回的是一个String类型,因为没有nextChar()方法
3.调用String的charAt(0)方法获取第一个字符
Scanner sc = new Scanner(System.in);
String s = sc.next();
char c = s.charAt(0);
System.out.println("请输入字符:");
//接受char型
char c=input.nextChar();
import java.util.Scanner;
public class jiami{
public static void main(String args []){
Scanner input = new Scanner(System.in);
System.out.println("请输入字符:");
char c=input.nextChar(); // 这儿报错了
if(c>='A'&&c='a'&&c<='z'){
c=(char)(219-(int)c);
}
System.out.print(c);
}
}
汗,记错了,没nextChar方法,你用nextByte()或nextInt()方法再强转吧,具体的是char c=(char)input.nextByte();