• java学习第二天


    关键字

    关键字:被java语言赋予特定含义的单词。

    关键字特点:组成关键字的字母全部小写。

    注意事项:1.goto和const作为保留字存在,目前并不使用。2.高级记事本遇到关键字会变色,很直观的显示。

    标识符

    标识符:给类,接口,方法,变量等七名时使用的字符序列。

    组成规则:英文大小写字母,数字字符,$和_

    注意事项:不能以数字开头,不能是java中的关键字,严格区分大小写,不能有空格

    标识符(常见命名规则):见名知意

    包:其实就是文件夹,用于把相同类名进行区分(命名全部是小写)

    单级包:zhuzhu

    多级包:cn.itcast

    类或者接口:

          一个单词:单词的首字母必须大写

                举例:Student,Dog

          多个单词:每个单词的首字母必须大写

                举例:StudentScore

    方法或者变量:

          一个单词:单词的首字母小写

                举例:main(),age

          多个单词:从第二个单词开始,每个单词的首字母大写

                举例:studentAge,showAllNames()

    常量:

          一个单词:全部大写

               举例:PI

          多个单词:每个字母都大写,用_隔开

               举例:STUDENT_MAX_AGE

    注释

    注释:用于解释说明程序的文字,提高程序的阅读性,帮我们调试程序(可以注释一部分进行检查其它程序是否正确)

    java中注释分类格式:

    单行注释:        //注释文字         可以嵌套

    多行注释:        /*注释文字*/     不能嵌套使用,以/*开始以*/结束

    文档注释:       /**注释文字*/     被javadoc工具解析生成一个说明书,面向对象部分讲解

    常量和变量

    常量概述:在程序执行过程中其值不可以改变

    java中常量分类:字面值常量和自定义常量

    字面值常量:

                 A:字符串常量:用双引号括起来的   "hello"   "world"

                 B:整数常量:所有整数

                 C:小数常量:所有小数

                 D:字符常量:用单引号括起来的   'A'  'b'

                 E:布尔常量

                       举例:true,false

                 F:空常量    null   后面叙述

    整数常量的进制
    1byte字节=8bit
    1k=8byte
    1m=1024k
    1g=1024m
    1t=1024g
    二进制:0b开头 八进制:0开头 十进制:默认 十六进制:0x开头

    进制转换
    (1)其他进制到十进制
    系数:就是每一个位上的数值
    基数:x进制的基数就是x
    权:对每一个位上的数据,从右,并且从0开始编号,对应的编号就是该数据的权。
    结果:系数*基数^权次幂之和
    (2)十进制到其他进制
    除基取余,直到商为0,余数反转。
    (3)进制转换的快速转换法
    A:十进制和二进制间的转换
    8421码。(bcd码的一种)
    B:二进制到八进制,十六进制的转换,拆分组合法,八进制三位,十六进制四位

    有符号数据表示法:原码,反码,补码

    计算机操作时,都是采用数据对应的二进制的补码来计算的

    例:用原码,反码,补码来分别表示+7和-7

    首先转化为二进制:00000111

    原码:符号位+数值位组成,其中最高位0表示正数,1表示负数

    +7:0      000111

    -7:1       000111

    反码:正数的反码与原码相同,负数的反码是对其原码逐位取反,但符号位除外

    +7:0      000111

    -7:1       111000

    补码:正数的补码与原码相同,负数的补码是在反码的基础上加1

    +7:0    000111

    -7: 1    111001

    变量概述:在程序执行过程中其值在一定范围内变化的量

    组成规则:

               A:必须对其进行限定(数据类型)

               B:分配一个内存空间,我们给这个空间起了一个名字即变量名

         C:初始化值

    定义变量格式:数据类型  变量名=初始化值;

    数据类型

    Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存总分配了不同大小的内存空间

    分类:

    A:基本数据类型:4类8种
    B:引用数据类型:类,接口,数组。

    基本数据类型
    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。


    使用变量的注意事项:
      A:作用域
      B:初始化值
      C:同一行可以定义多个变量,但不建议

    数据类型转换:

    (1)boolean类型不参与转换


    (2)默认转换
    A:从小到大
    B:byte,short,char -- int -- long -- float -- double

    注:long:8个字节

          float:4个字节

    但是因为底层的存储结构不同,所以float表示的数据范围比long的范围要大(3.4*10^38>2^63-1)
    C:byte,short,char之间不相互转换,直接转成int类型参与运算。

          byte a=1;
      int b=2;
          byte c=a+b; //错误
      int d=a+b; //正确

    (3)强制转换
    A:从大到小
    B:可能会有精度的损失,一般不建议这样

          byte a=1;
      int b=2;
          byte c=(byte)(a+b); //正确
    C:格式:
    目标数据类型 变量名 = (目标数据类型) (被转换的数据);


    (4)思考题和面试题:
    A:下面两种方式有区别吗?
    float f1 = 12.345f;    //原本就是float类型
    float f2 = (float)12.345;   //原本是double类型,强制转化为float类型
    B:下面的程序有问题吗,如果有,在哪里呢?
    byte b1 = 3;
    byte b2 = 4;
    byte b3 = b1 + b2;    //有问题,类型提升b1和b2参与计算会直接转化为int型,
    byte b4 = 3 + 4;      //无问题,常量先把结果计算出来,然后看是否在byte范围类,如果在就不报错
    C:下面的操作结果是什么呢?
    byte b = (byte)130;

    130超过了byte的范围(-128~127)
    因为计算机计算是用二进制的补码进行运算,所以首先把130化为二进制为:10000010
    正数的原码反码补码一致都为:10000010,int类型的130原本为32位,截取为byte类型时,为8位,最高位为1
    之后,将补码:10000010转化为反码:10000001,再转化为原码即为:11111110,十进制值为-126

    D:字符参与运算
    是查找ASCII里面的值
    'a' 97
    'A' 65
    '0' 48

    System.out.println('a'); //结果a
    System.out.println('a'+1); // 结果98
    System.out.println("hello"+'a'+1);//结果helloa1,字符串数据与其它数据做+,结果是字符串类型,此处的+是连接符
    System.out.println('a'+1+"hello");//结果98hello,先计算+法,再连接字符串

    E:java语言中的字符char可以存储一个中文汉字吗?为什么?

    可以。因为java语言中的字符占两个字节。java语言采用的是Unicode编码。

     

  • 相关阅读:
    TCP的状态 (SYN, FIN, ACK, PSH, RST, URG)
    理论基础+实战控制台程序实现AutoFac注入
    C# class 浅拷贝 与 深拷贝
    给定一个矩阵 A, 返回 A 的转置矩阵。
    [弹出消息] C#ShowMessageBox帮助类
    [弹出消息] C#MessageBox帮助类 (转载)
    [XML] C#XMLProcess操作Xml文档的帮助类 (转载)
    [XML] C# XmlHelper操作Xml文档的帮助类 (转载)
    [XML] resources的Xml配置文件 (转载)
    [XML] Resource帮助类
  • 原文地址:https://www.cnblogs.com/zhuzhutest/p/5535404.html
Copyright © 2020-2023  润新知