您的位置:首页 > 编程语言 > Java开发

Java知识总结-基础

2013-12-31 01:25 363 查看
一,标识符1.1标识符概述     标识符相当于一个名字,用来标识包名、类明、方法名、变量名、常量名等。1.2标识符命名规则(易记错知识点):    1.2.1标识符由大小写字母(a-z,A-Z)、数字(0-9)、符号(_$) 组成,    1.2.2标识符第一个字符不能是数字。    1.2.3标识符不能是Java中的关键字。    1.2.4标识符区分字母大小写。1.3标识符命名规范     1.3.1包名:多个单词组成时所有字母小写,例:aaabbbccc;     1.3.2类名:多个单词组成时,每个单词首字母大写,其他字母小写,例:AaaBbbCcc;     1.3.3变量名和方法名:多个单词组成时,第一个单词首字母小写,其他单词首字母大写,例:aaaBbbCcc;     1.3.4常量名:多个单词组成时,所有字母大写,单词间用下划线隔开,例:AAA_BBB_CCC.     *注:定义一个变量的时候要记得考虑该变量的和作用范围和生命周期。             例如:类的静态成员变量的生命周期和类相同,作用于这个类,                       类的成员变量生命周期和该类的实例对象生命周期相同,作用于实例对象,                       方法内局部变量生命周期和方法的生命周期相同,作用于这个方法内;                       循环体内创建的变量与循环体生命周期相同,作用于该循环体内;二,基本数据类型2.1内存空间(容易混淆)     2.1.1数据类型         内存空间         byte boolean       8位(1字节)         short  char          16位(2字节)         int  float              32位(4字节)         long  double      64位(8字节)     注:其中byte类型数据的取值范围是-128~127.(已犯过错,当时以为是0~255)2.2类型转换     2.2.1隐式类型转换     数据类型按精度从低到高的顺序byte<short<int<long<float<double.     从低级类型向高级类型的转换,系统会自动执行。这种转换叫走隐式转换。     2.2.2类型转换规则     byte,short,char->int->long->float->double     多种数据类型数据混合运算时,类型自动从左向右转换,取混合运算中出现的最高的类型作为运算结果的类型;     注:其中byte,short,char三种数据混合运算时,结果会自动转换为int类型。     2.2.3强制类型转换     1)当把高精度的变量的值赋值给低精度的变量时,必须使用强制类型转换     语法如下:     (类型名)要转换的值     2)当执行强制类型转换时可能会导致精度损失。     3)注:当把整数赋值给整数型(byte,short,int,long)变量时,不可以超出这些变量的取值范围,否则必须进行强制类型转换       例如:byte b=(byte)234;     4) *注:待解决问题:为什么一下代码会报异常(不能将int型值赋值给byte变量)           byte b=5;           b=b+(byte)55;           *已解决,通过实践,发现原来byte型数据和byte数据进行运算所得结果也会自动提升为int型。           并同时发现short型数据与short型数据进行运算结果同样隐式转换为int型。           char型数据与char型数据运算结果也会隐式类型转换为int型。           当然这三种数据进行混合运算的结果也是int型的。三,运算符3.1运算符列举     赋值运算符   =     算数运算符   +、-、*、/、%     自增、自减运算符   ++、--      *注:a++:a先参与运算,后自增;++a:a先自增,后参与运算。      *注:自增、自减运算不涉及类型转换。      *注:而+=和-=运算会将结果数据自动强制转换为该运算符左边的数据类型。     *自己经常模糊的地方:       a=a++;该语句之后,a的值不变化。       a=++a;该语句之后,a的值会增1.       System.out.println(a++);的输出结果是a原来的值,不是a自增之后的值。       System.out.println(++a);的输出结果是a自增之后的值。     比较运算符   >、<、==、>=、<=、!=     逻辑运算符  |、||、&、&&、!     位运算符  |、&、^、~、>>、<<、>>>注:没有<<<运算符     *注:位运算是针对2进制格式的运算。(记住)     三元运算符  条件式?表达式1:表达式2     *注:逻辑运算比较运算的结果都是boolean型的值(true,false)。3.2运算符优先级(大概的总结,具体细节比较模糊)     优先级有高到低排序:     自增、自减运算     算数运算     比较运算     逻辑运算     赋值运算     注:括号()的优先级在运算中应该是最高的。最后补充一个自己经常不注意小知识点:转义字符在一个字符串中仍然会产生作用.如:System.out.println("abc\r123");的输出结果如下:abc123如果需要打印形如'\r'的字符需要在该字符前面再加一个'\'以进行重复转义。例如System.out.println("abc\\r123");的输出结果是  abc\r123

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: