Java语言基础(1)

本篇文章的主要内容如下:

目录

 

关键字

标识符

注释

常量

变量

数据类型

数据类型转换

思考题及面试题

  • 关键字

        (1)被Java语言赋予特定含义的单词
        (2)特点:全部小写

  • 标识符

        (1)就是给类,接口,方法,变量等起名字的字符序列
        (2)组成规则:
            A:英文大小写字母
            B:数字
            C:$和_

        (3)注意事项:
            A:不能以数字开头
            B:不能是java中的关键字
            C:区分大小写
        (4)常见的命名规则(见名知意)
             A:包    全部小写
                   单级包:小写           举例:liuyi,com
                   多级包:小写,并用.隔开     举例:cn.itcast,com.baidu                
             B:类或者接口
                    一个单词:首字母大写     举例:Student,Demo
                    多个单词:每个单词首字母大写     举例:HelloWorld,StudentName
             C:方法或者变量
                     一个单词:首字母小写      举例:name,main
                     多个单词:从第二个单词开始,每个单词首字母大写    

                                       举例:studentAge,showAllNames()
              D:常量    全部大写
                     一个单词:大写     举例:PI
                      多个单词:大写,并用_隔开    举例:STUDENT_MAX_AGE

  • 注释

        (1)就是对程序进行解释说明的文字
        (2)分类:
               A:单行注释    //
               B:多行注释    /**/
               C:文档注释   /** */

        (3)注释的作用
               A:解释说明程序,提高了代码的阅读性。
               B:可以帮助我们调试程序。

  • 常量

        (1)在程序执行的过程中,其值不发生改变的量
        (2)分类:
               A:字面值常量
               B:自定义常量
         (3)字面值常量
                A:字符串常量 "hello"
                B:整数常量    12,23
                C:小数常量    12.345
                D:字符常量    'a','A','0'
                E:布尔常量    true,false
                F:空常量    null
         (4)在Java中针对整数常量提供了四种表现形式
                A:二进制    由0,1组成。以0b开头。
                B:八进制    由0,1,...7组成。以0开头。
                C:十进制    由0,1,...9组成。整数默认是十进制。
                D:十六进制    由0,1,...9,a,b,c,d,e,f(大小写均可)组成。以0x开头。

  • 变量

        (1)在程序的执行过程中,其值在某个范围内可以发生改变的量
        (2)变量的定义格式:
               A:数据类型 变量名 = 初始化值;
               B:数据类型 变量名;
                   变量名 = 初始化值;

  • 数据类型

        (1)Java是一种强类型语言,针对每种数据都提供了对应的数据类型。
        (2)分类:
               A:基本数据类型:4类8种
               B:引用数据类型:类,接口,数组。


         (3)基本数据类型
               A:整数            占用字节数
                   byte                  1
                   short                 2
                     int                   4
                    long                 8
               B:浮点数
                     float                4
                    double             8
               C:字符
                      char               2
                D:布尔
                    boolean            1        
        注意:
            整数默认是int类型,浮点数默认是double。     
            长整数要加L或者l。
            单精度的浮点数要加F或者f。(否则编译器报错)
            byte,short在定义的时候,他们接收的其实是一个int类型的值,如果不再它们的范围内,就报错。
            字符char型可以存储一个中文汉字,因为char类型占用两个字节,JAVA使用的是Unicode编码。

  • 数据类型转换

        (1)boolean类型不参与转换
        (2)默认转换
               A:从小到大
               B:(byte,short,char) --> int -- >long -- >float --> double                                                                                                           (long可以转换成float的原因:一是它们底层的存储结构不同,
                                                                   二是float表示的数据范围比long的范围大
                                  long:2^63-1            float:3.4*10^38)

               C:byte,short,char之间不相互转换,直接转成int类型参与运算。(在运算时尤为注意)
        (3)强制转换
               A:从大到小
               B:可能会有精度的损失,一般不建议这样使用。
               C:格式:
                     目标数据类型 变量名 = (目标数据类型) (被转换的数据);

  • 思考题及面试题

(1)下面两种方式的区别:

float f1 = 12.345f; //直接将一个单精度浮点常量赋值给f1
float f2 = (float)12.345; //将一个双精度浮点常量强制转换为单精度浮点常量,再赋值给f2
                          //注意:如果没有强制转换,将报错

(2)下面程序的错误:

byte b1 = 3;
byte b2 = 4;
byte b3 = b1 + b2;//错误
byte b4 = 3 + 4;  //正确

   解析:

      第四句正确的原因:3和4都是常量,java在编译时期会检查该常量的和是否超出byte类型的范围。如果没有可以赋值。

      第三句错误的原因在于:在运算时,b1 和 b2 先被提升为int 类型进行加法运算,得到的结果是int型,如果不对结果进行强制转换成byte型,将出现4字节的数值传给1字节的变量的情况,因此程序出错。而b1 和 b2 会被提升为int 类型计算的原因在于 b1 和 b2 是变量,因为变量的值会变化,不确定具体的值,所以默认使用int类型进行存储。

(3)下面的操作结果:

byte b = (byte)130;//如果不进行强制转换将会出错,因为byte类型的范围在-128~127
System.out.print(b);

      首先,常量130以4字节形式存储,对应的二进制数为(符号位为正):

              00000000    00000000  00000000  10000010

       其次,强制转化后对应的二进制数为: 10000010

       最后,对于有符号的byte类型,上述的运算过程采用的是补码,由于此时符号位为负,因此需转化成原码赋值给变量b:

          将补码10000010转化原码为11111110,对应十进制数 -126.

        所以打印出来的b的值为-126.

(4)写出下列程序结果

System.out.println('a');
System.out.println('a' + 1);

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");

   结果: 

     

  这里只需注意两点:

    ①任何数据和字符串进行操作,结果都是字符串类型。在字符运算中,“+”是字符串连接符

    ②要注意运算的顺序:从左到右。

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值