一、Java是一种强类型语言,必须为每一个变量声明一种类型。在Java中一共有8中基本类型,其中有4种整型,2种浮点型,1种用于表示Unicode编码的字符单元的字符类型char和1种用于表示真值的boolean类型。
(1)整型
int 4字节 、short 2字节 、 long 8字节 、byte 1字节
Java中整型的范围与运行Java代码的机器无关。
注:
1>长整型数值有个L后缀
2>十六进制数值有一个前缀0x,八进制有一个前缀0,从Java7开始,二进制数有前缀0b。
3>从Java7开始,可以在数字前加下划线,如 1_000_000。Java编译器会自动去除这些下划线。
(2)浮点类型
float 4字节 、 double 8字节
注:
1>float类型的数值有后缀F,没有后缀F的浮点数默认是double类型,当然可以在后面添加后缀D。
(3)char类型
char类型用于表示单个字符。
常见转义字符: \b 退格 、\t 制表、\n 换行、\r回车、\"双引号、\' 单引号、\\反斜杠
注:强烈建议不要在程序中使用char类型。
(4)boolean类型
boolean类型有两个值:false和true,用来判定逻辑条件。
二、常量:在Java中,利用关键字final指示常量。
关键字final表示这个变量只能被赋值一次,一旦赋值就不能再改,习惯上,常量名使用大写。
三、运算符:&& || 逻辑运算符是按照“短路”方式求值的,如果第一个操作数已经能确定表达式的值,第二个操作数就不比计算了。
四、数据类型转换:6个实心箭头,表示数据无损失的转换,3个虚箭头,表示可能有精度损失的转换
强制类型转换:在必要时int类型会自动转换为double类型,但是double类型转换为int类型时需要进行强制类型转换,通过截断小数部分,转换为整数。
五、StringBuilder:由较短的字符串构建新的字符串,比通过字符串连接的方式更加高效,每次连接都会产生新的字符串,既耗时又浪费空间。
注:StringBuilder的前身是StringBuffer,其效率稍有点低,但允许采用多线程的方式执行添加或删除字符的操作。如果在一个单线程中编辑,使用StringBuilder代替它。
六、数据输入输出
(1)数据输出:System.out.println();
(2)数据输入:
a> Scanner in = new Scanner(System.in);
String s = in.nextLine( );
b> Console cons = System.console( );
String username = cons.readLine("user name: ");
注:采用console方式不如scanner方式,虽然能过读取密码(输入不可见),但是每次只能读取一行,不能读取一个单词或一个数值的方法。
七、数组
数组是一种数据结构,用来存储同一类型值的集合,可以通过整型下标来访问每一个数组中的每一个值。
( 1 ) 创建一个数字数组时,所有的元素都初始化为0。boolean数组都初始化为false。对象数组都被初始化为null。数组一旦创建就不能再修改它的大小了。
创建数组的方式:
1) int [ ] a = new int [ 100 ]; //创建数组的同时所有数组的元素都为默认值。
2) int [ ] b = { 1 , 3 , 5 }; //创建数组的同时为数组的元素进行初始化
也即:int [ ] b = new int [ ] { 1 , 3 , 5 };
( 2 ) 数组拷贝 : int [] b = Arrays.copyof( a , a.length );
将一个数组的所有值拷贝到一个新的数组中,第二个参数用来指定新数组的大小,通常用来增加数组的大小。
( 3 ) 数组排序 : 对数值型数组进行排序,使用Arrays类中的sort()方法。
这个方法使用了优化的快速排序算法,快速排序算法对于大多数数据集合来说效率都是比较高的,