字符类型:
关键字:char(character),int(integer)
在不同类型的编程语言中,字符类型都做为一种基本类型存在,但分为单字节和双字节两种形态。
所有的字符个数都是固定的,每个都有固定的编码值;
当我们向内存存储一个字符时,无论单字节还是双字节字符,都只存其编码值;
单字节字符:ASCII,可用的字符为127个,分为可打印字符和不可打印字符
需要我们掌握:c和C++使用
1、 大写英文字母:’A’-‘Z’ 65
2、 小写英文字母:’a’-‘z’ 97
3、 数字字符:’0’-‘9’ 48
注意2个问题:数字字符与数字的关系?
问题1:字符’0’与数字0的关系:’0’== 0 + 48
问题2:大写英文与小写英文的关系:’a’==’A’+32
双字节字符:java和C#使用
双字节编码表:unicode [0,65535]
一个问题:在双字节编码表中,字符’a’占几个字节,汉字’中’占几个字节?
在编码表中,英文字符在靠前的位置,但在实际存储时,只会占1个字节;
另一个问题:ASCII与Unicode两个编码表之间的关系?单字节编码完全包含在双字节编码中。
在范围许可的情况下,整型数据和字符型数据可以互相赋值;
在字符使用时,注意到几个转义字符的应用:
1、 单引号:’\’’ “\’”
2、 双引号:’\”’ “\””
3、 换行符:’\n’ “\n”
最后一种基本类型:布尔类型 boolean
用来表示“真假”两种状态,非真即假,非假即真。
一个问题:布尔类型的变量占几个字节的存储空间?
实际上,一个boolean类型的变量一个二进制位足够。在java中,用一个字节表示。
java中的布尔类型与C/C++中的布尔类型有何区别?
一个重要的区别是,在Java中不再支持“非零为真”的判断,而用两个关键字来表示“真假”。
对于以上8种内置类型,在后面为了操作的方便,针对每种类型都做了包装,称为包装类。包装类的功能要远大于基本类型。
void类型,这个关键字在Java中只用来修饰方法,表示方法没有返回值;
一个方法没有返回值,用void关键字修饰的方法,这样的方法在结尾处,可以用return;语句结束;也可以将此语句省略;
一个方法没有返回值类型
总结返回值类型,返回值的问题:
一般的方法,都有返回值类型,包括void;
带有void的方法:具有返回值类型,但没有返回值;
构造方法:没有返回值类型,但具有返回值;
一个问题:程序由几种类型的语句构成?
三种:
1、 顺序结构
2、 循环结构
a) while
i. 结构:while(真假条件){//…}
b) do-while
i. do{//…}while(条件);
c) 经典的for(扩展的for循环)
for(;;){//…}
个方法中定义的局部变量(何为局部变量?在方法中的定义的变量,只在定义它的方法中有效),应该做到:
一个变量占一行,并且赋初始值;
输出结果时,尽量做人性化;
当单个变量进行自增减时,而且这个操作作为一个独立的语句,此时前缀和后缀没有任何区别,在执行后会得到同样的增减结果;
1、 分支选择结构:在多种可能性选择一种,而且只能选择一种。
a) if-else
i. if单独使用,如果符合条件,则执行;如果条件为假,则什么也不做。
因为条件为假,所以输出语句并不执行;
i. if-else共同使用,在两种可能性中必须选择一个;
if-else if-else if-else在多种可能中选择一种;
在C,C++和Java的低版本(7.0之前),括号中只支持整数类型,java中的switch()括号中可以是char,byte,short,int这几种,不能是long,也不能是其他对象;
在7.0版本之后,swicth括号中可以支持字符串类型
运算符的问题:
基本的逻辑运算符:&& || !
扩展的逻辑运算符:& |
唯一的一个三目运算符:(真假条件)?(条件为真的结果):(条件为假的结果) ?: