注:这些是我个人觉得应该多加注意,或者编程中的技巧,或应该知道的零散知识点。只是对学习java的补充,和重点的点名,不适合初学者的主要学习资料。里面有些必须要记住的,都会给标记出来,无论是想学习java的还是打算找java工作的都可以看一下。
1、Java中数据类型的分类
(1): 基本数据类型
(2): 引用数据类型: 数组 , 类 , 接口
基本数据类型的详细讲解(四类八种)
(1): 整数型 字节数 范围
(字节) byte 1(8bit) -128 ~ 127 -2^7 ~2^7-1
(短整型) short 2(16bit) -2^15 ~ 2^15 - 1
(整型) int 4(32bit) -2^31 ~ 2^31 - 1
(长整型) long 8(64bit) -2^63 ~ 2^63 - 1
(2):浮点数
(单精度浮点数) float 4(32bit) -3.403*10^38 ~ 3.403*10^38
(双精度浮点数) double 8(64bit) -1.798*10^308 ~ 1.798*10^308
(3):字符型 char 2(16bit) 0 ~ 2^16 - 1 = 65535
(4):布尔型 boolean 1
整数默认是int类型的 , 浮点数默认是 double类型的(这是重点) 如下题
变量相加和常量相加的区别
byte b1 = 3;
byte b2 = 4;
byte b3 = b1 + b2; -----------------------------------------报错
byte b4 = 3 + 4;
那么byte b5 = b1+1; ?------------------------------------报错
原因:
编译问题 b1+b2是变量 变量做运算在编译时期 编译器不确定b1+b2是多少
会将加后 的结果以默认类型int来处理.
常量是不变的,编译器就已经知道了3+4的结果,然后检查得到的结果是不是在byte范围内
常量与变量相加,会变成变量的数据类型
2、跟ascii表有关的东西
'0': 48
'A': 65
'a': 97 这是三个最最常用的ascii编码,在进行数据字符处理的时候是按ascii编码处理的。 要记住这三个值
但java语言使用的unicode编码 所以Java语言中的字符char可以存储一个中文汉字。
如下几个输出语句, 不知道结果的,可以在记事本上 或eclipse上写一下
System.out.println("hello" + 'a' + 1);
System.out.println('a' + 1 + "hello");
System.out.println("5+5="+5+5);
System.out.println(5+5+"=5+5");
3、与运算符(不常用,不过听好玩儿的)
用运算符进行运算程序运行是比较快的
小技巧:用^运算符进行两位数的交换
a = a^b;// a:3^4 b:4
b = a^b;// a:3^4 b:3^4^4 = 3
a = a^b;// a: 3^4^3 = 4
一句话搞定 实现两个数的交换 :
b=a+b-(a=b); //分析: 从左往右 3+4 - 4 = 3