java中char类型是怎么进行比较的,也就是说在比较的时候是不是要转换成其他数据类型再比较呢?
public static void main(String[] args) {
char a='0';
char b='5';
char c='9';
if(a<b && b<c){
System.out.println("你好,我对了");
}else{
System.out.println("我错了");
}
}
} 展开
char类型时,当是单个字符时时是可以用“==”比较的,但是当为字符串时则不可以,应用比较函数strcmp进行比较,strcmp函数在头文件"string.h"中,所以要用这个函数时前面还要包含这个头文件。
延展回答:
char是C/C++整型数据中比较古怪的一个,其它的如int/long/short等不指定signed/unsigned时都默认是signed,但char在标准中是unsigned,编译器可以实现为带符号的,也可以实现为不带符号的,有些编译器如pSOS的编译器,还可以通过编译开关来指定它是有符号数还是无符号数。
在MYSQL中,字段类型char是指:使用指定长度的固定长度表示的字符串;在excel中char函数用于返回对应发于数字代码的字符。其用法:=char(number)其中,参数number为转换的字符代码,介于0~255之间,char占一个字节,也就是8个二进制位,但它表示的是有符号的类型,所以表示的范围是-128~127;uchar表示无符号的类型,所以表示的范围是0~255。
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
比如你这样:
System.out.print('a'=='a');就知道了
那如果是 char c1='人' ;char c2='生' ,这种怎么比法???
自然顺序,在java中char不在是用一个字节来表示了,是用2个字节,功16位,可以表示2^16这么多个不同的符号,为了和以前的ASCII码兼容,前面的都是ASCII,你可以用System.out.print((char)97);就知道了。char用的是Unicode,。
哎,你始终知道char是基本数据类型,什么事就okl了。
你试试这样就知道了。
System.out.println('人'=='生');
System.out.println((int)'人');
System.out.println((int)'生');
System.out.println((char)20154);
System.out.println((char)29983);
char ch1 = 'a';
char ch2 = 'b';
System.out.println(ch1==ch2); // false
System.out.println(ch1!=ch2); // true
System.out.println(ch1<ch2); // true
public class charTest {
static char c1 = 'a';
static char c2 = 'c';
public static void main(String[] args) {
System.out.println(c1==c2);
/*
* 测试结果 false;
*/
System.out.println(c1>c2);
/*
* 测试结果 false;
*/
System.out.println(c1<c2);
/*
* 测试结果 true;
*/
}
}