java开发实战经典 第3章 java基础程序设计
1.java的数据类型
java的数据类型可分为:基本数据类型、引用数据类型
1)基本数据类型,又称原始数据类型
包括最基本的boolean byte char short int long float double
2)引用数据类型
以一种特殊的方式指向变量的实体,类似于c/c++的指针。
这类变量在声明时不会分配内存,必须另外进行开辟内存空间的操作,如字符串(关键字String是首字母大写,可以看作是一个类)与数组均属于引用数据类型。
2.数据的溢出
当整数的数据大小超出了可以表示的范围,而程序中又没有做数值范围的检查时,这个整型变量所输出的值将发生紊乱,且不是预期的运行结果。
代码示例如下,
package java_book;
public class testMax {
public static void main(String[] args) {
int max=Integer.MAX_VALUE;
System.out.println("max is:" + max);
System.out.println("max + 1 is:" + max+1); // 注意,不加括号的运行结果不同
System.out.println("(max + 1) is:" + (max+1));
System.out.println("long max + 1 = :" + ((long)max+1)); // 如果溢出,可以使用long强制转换为长整型
}
}
运行结果为,
max is:2147483647
max + 1 is:21474836471
(max + 1) is:-2147483648
long max + 1 = :2147483648
3.字符类型
字符类型在内存中占两个字节,用来保持英文字母、数字、特殊符号等。
计算机处理字符类型时,是把这些字符当成不同的整数来看待,严格来说,字符类型也算是整数类型的一种。
因为不同的编码系统可能会使用相同的数值来表示不同的字符,在数据跨平台时就会发生错误,unicode就是为了避免这种情况的发生而产生的,它为每个字符制定了一个唯一的数值,在任何的语言、平台、程序中都可以安心地使用,java使用的就是unicode字符码系统。
4.常用的转义字符
5.浮点数类型和双精度浮点数类型
需要注意的时,使用浮点型数值类型时,默认的类型是double,在数值后面可加上D或d,作为double类型的标识,在java中,D或d可有可无,而float类型的标识是F或f。
错误赋值示例,
float num1 = 5.3;
正确赋值示例,
float num2 = 5.3f;
double num3 = 5.3;
6.基本数据类型的默认值
7.反码的计算
-3的反码是2,计算过程如下,
8.位移的计算
1)左移,3 << 2表示3左移2位,结果为12,计算过程如下
2)正数、负数的右移
3)无符号右移
9.运算符的优先级
数字越小,优先级越高
10.选择结构
语句为:
if(条件语句){
执行语句块;
}else if(条件语句2){
执行语句块; // 前面的if条件不满足时,同时这一层条件满足时,才会执行
}else{
执行语句块; // 前面的if条件都不满足时,才会执行
}
switch(表达式){
case 选择值1: 执行语句块;break;
case 选择值2: 执行语句块;break;
default: 执行语句块; // 可以缺省
}
根据switch中的表达式得出的值,在case中进行选择,从满足条件的case中开始执行,直到遇到break,否则执行到最后(包括后面不满足的case内的语句也会执行),如果所有case都不满足,会执行default的语句。
11.循环结构
while(条件语句){
执行语句;
循环条件改变语句; // 这里必须存在,否则出现死循环
}
do{
执行语句;
循环条件改变语句;
}while(条件语句) // 无论条件是否满足,do中的语句至少执行一次
for(赋值语句; 条件语句; 循环条件改变语句){
执行语句;
}
12.break和continue
break语句:中断循环,跳到循环结束
continue语句:中断当前这一次循环,跳到下一次循环
本章小结