Java知识总结-基础


一,标识符

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");的输出结果如下:

abc

123

如果需要打印形如'\r'的字符需要在该字符前面再加一个'\'以进行重复转义。

例如System.out.println("abc\\r123");的输出结果是  abc\r123










  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值