java学习笔记2

来源:互联网 发布:怎样在淘宝输入网址 编辑:程序博客网 时间:2024/05/29 17:55

1、java中的关键字都是小写;类名每个单词首字母都要大写;所谓标识符即在程序中自定义的一些名称(就是自己起的类的名字,变量的名字);注意写标识符时开头不能是数字,标识符支持的符号有_和$,不支持空格“ ”,_和$用于连接名称,例如:名称+标识符$+子名称。

2、注释的方式有//、/*    */、和    /**文档注释*/   这几种。其中   /**文档注释*/ 是java独有的注释方式,java中提供工具可以读取到  /**文档注释*/   里面注释的具体内容。注释还可以用来在调试程序时缩小bug的范围。

3、写程序上来要先写注释,包含:需求、思路、步骤。


4、字符常量包括数字(1234)、符号(+-*/)、字母(aA),长度都只能放一个,例如:'A'。

‘A’是字符,"AB"字符串,“”也是字符串,“A”也是字符串。2是数字,‘2’就是字符,'12'就不是字符,因为已经是2位了(类似穿什么衣服,就是什么身份)。null常量只有一个数值就是null。

5、八进制用0开头表示,十六进制用0x开头,十进制的数从来不以0开头,二进制里只有0和1。1个字节是是最小的存储单元,1字节即1byte = 8 个二进制位即 8bit位。

6、负数的二进制表示就是这个数的正数取反加1 。

7、byte类型1个字节,short类型2个字节,int类型4个字节,long类型8个字节;float类型4个字节,double类型8个字节,char类型2个字节(0-65535),1个中文汉字也是2个字节,布尔类型boolean占1个bit即1/8个字节


8、类路径设置错误可能会出现下面错误。set classpath = (空)即把路径可恢复成当前目录下。

9、1.2这种小数默认都是double类型的,故float a = 1.2;  是错误的。正确的应该为float a = 1.2f;  (加个f来说明这个小数是float类型的),类似的还有long类型的数后面要有一个(L)。

10、java中的变量一般都要初始化,其实不初始化,就在放着不用这个变量不会报错,但是若不初始化就去显示这个变量,就会报错。

11、整数都默认为int类型,小数都默认为double类型的;不同类型的数据一般不能一起运算,但是当数据都是数值型的时候,会自动类型提升,此时是可以运算的。如下:byte类型自动转为int类型相加。


12、Boolean类型的true和flase不是数值类型,不能和1 运算即true+1这种形式是错的。

13、把生活中的的字符常量'a'--'z','0'--'9','+-',‘A--Z’用二进制码一一对应起来,这样计算机就可以识别,也即ASCII码(美国标准编码交换信息码),其实中文也有对应的编码表GBK,java内部有国际标准Unicode码表识别了全世界的文字,所以java查询时实际查的是Unicode码表


14、byte b = 4;指令在java内部的运算为:4为整数也即int类型,java先判断4是否超出byte的取值范围,若没有超出,则会把4类型转为byte即把int 4的高位三个字节全部都舍去,只保留低4位,并赋给b。但是下图中b = b1 + b2 ;这句由于等式右边为变量,在加之前java无法检测右边的具体值之和是否溢出,故会报错。错就错在等式右边是byte类型的变量可能会溢出。而int类型时,由于整数默认都是int类型,故就算是溢出了,还是保留32位,结果还是int类型的。所以不会报错。


15、int x = 6370; x =x/1000 *1000;结果是6000,因为整数除以整数结果还是整数。5/-2 = -2 ; -5/2 =-2; -5/-2 = 2; 但是取余(模)时结果的符号保持左边被取模数的符号一致,-5%2 =-1;-5%-2 =-1;5%-2 =1。

16、‘+’两种作用,一个是加法,一个是连接符。 3+2 ;3+“2”;结果是不同的。任何数据和字符串相加都是相连接而已,拼成一个更长的字符串。故结果是分别是5和32(32是字符串)。在打印的时候"+'的连接符作用很常见。把固定的都写成字符串的形式,变量用+连接即可,这样就变成了一个更长的字符串。


17、纠正一个长久以来的错误认识:int i = 3; b = i++;的运算过程其实是i不仅要参与右边的自加运算,还要参加左边的赋值运算,正确情况都是先做完右边的运算才能做左边的赋值运算,那么i先保留自己的值留着参加左边的运算(防止参加完右边运算i的值就已经变化),然后i进行右边的自加运算,再接着把当初保留的值赋给左边。这样下来就是先完成右边的运算后再来完成左边的赋值运算。而类似的b = ++i;则i只参加一个运算,那么i先自加1,然后再参加左边的赋值运算。再例如 int i =3;i = i++;这个运算如下图所示i最后结果仍为3。

18、注意short s=3;s+=4与s=s+4是有不同地方的。+=也是赋值运算(赋的是两边的和),类似于short s =3是对的,因为java首先检查3是否在short类型的取值范围内,在的话就把int类型的3强制转换为short类型的3,再赋给short类型的s,这个过程是没问题的。但是s = s+4中等式的右边s自动类型提升为int,故加完之后是int类型,而且含有没法检测范围是否溢出的变量s,无法判断是否精度损失,故会报错。而s+=4;则因为只是一次赋值运算,在赋值时里面包含了强制转换类型这一步,所以在赋值时类型已经一致,不存在精度损失的问题,也即不报错。总结下来就是:s+=4,在赋值时底层已经自动类型强转,但是s=s+4,就没有这个自动类型转换步骤。所以s+=4;相当于s = short(s+4);。



0 0
原创粉丝点击