Summary
这篇探讨Java的数据类型和基本运算。
- 数据类型
- 数组
- 基本运算
- 控制语句
数据类型
Java的数据类型分为两大类——基本类型primitive type和引用类型reference type。二者的核心区别在于primitive type变量值直接存储在变量名所指的空间上,而reference type变量名所指的空间上存储的是其真正值内容所在地址的引用。
基本类型包括:
1.数值型:整数类型(byte-1 字节, int-4 字节, short-2 字节, long-8 字节)和浮点类型(float-4 字节, double-8 字节)
2.字符型:char
3.布尔型:boolean(只允许取值true/false,不能用0或者非0数来代替)
引用数据类型:
类class、接口interface和数组array
作者语:primitive type和reference type有点像人类中的嫡系与旁支,嫡系待遇最好,但出了问题也要第一个负起责任,旁支是依附于嫡系存在的。这样的体系简化了管理难度。
补充:
1.整数类型中,默认为int。十进制正常书写,八进制以0开头(012),十六进制以0x/0X开头(0x12),二进制以0b/0B开头(0b110)
2.浮点型中,默认为double。科学计数法用e/E表示(3.13e2 = 313)
3.标识符/名字identifier,由数字、字母、下划线_和美元符号$组成,不可以用数字开头,大小写敏感。一般美元符号在系统编译运行时使用。
数组
Java的完整数组创建过程包括三步:1.变量声明;2.初始化(要说明数组长度);3.初始赋值,如下
double[] a;
a = new double[10];
for(int i = 0; i < a.length; i ++)
{
a[i] = 0.0;
}
这个过程太过复杂,所以Java做了简化,默认初始赋值数值型数组都是0或者引用类型数组都是null。简化后如下:
double[] a = new double[10];
另外,为了简化遍历数组,Java中有增强的for语句,如下:
int[] ages = new int[10];
for(int age: ages)
{
System.out.println(age);
}
for的条件语句被简化,这段代码更方便的输出了ages这个数组的所有值。
Java中有一维数组和多维数组,多维数组的机理是数组的数组,以二位数组为例,它的一维数组的每个元素都是一个一维数组。
基本运算
Java的基本运算包括算术、关系、逻辑、位、赋值和字符串连接运算符。
1.算术运算符+,-,*,/,%,++,--
作者语:要注意Java中没有乘方运算符,如果计算乘方,则使用math类中的pow(double a, double b)方法,a的b次幂
2.关系运算符>,<,>=,<=,==,!=
3.逻辑运算符!,&,|,^,&&,||
!逻辑非;&逻辑与;|逻辑或;^逻辑抑或;&&短路与;||短路或。
短路逻辑中,&&如果第一个为假则不判断后面表达式,||的短路条件是出现真的判断。
4.位运算符&,|,^,~,>>,<<,>>>
&按位与;|按位或;^按位异或;~取反;>>带符号右移;<<左移;>>>无符号右移。
5.赋值运算符=,+=,-+,*=,/=
只要不超出数据类型的表述范围,当赋值两侧数据类型不一致时,Java会强制类型转换。
6.字符串连接运算符+
控制语句
1.Java的简单语句包括方法掉用语句和赋值语句(以;结尾),注意:Java没有表达式语句(x+y;这个语句在Java中不合法)
2.Java的注释方法:单行注释用//,多行注释用/.../,Java还特有一种doc注释方法是/*.../
3.分支语句,if语句——if(){} else{},和switch语句——switch(){case a:{} case b:{}}
4.循环语句,for循环——for(initial statement; test expression; alter statement){},while循环——initial statement; while(test expression){alter statement},do-while循环——initial statemnt; do{alter statement}while(test expression)
5.中断语句,break语句和continue语句