java变量与常量

一、标识符    

    1.什么是标识符

        就是程序员在定义 java 程序时,自定义的一些名字,例如 helloworld 程序里关键字 class 后跟的 HelloWord,就是我们定义的类名。类名就属于标识符的一种。 标识符除了应用在类名上,还可以用在变量、函数名、包名上。

    2.标识符规则
        1. 标识符由 26 个英文字符大小写(a~zA~Z)、数字(0~9)、下划线(_)和美元符号($)组成。
        2. 不能以数字开头,不能是关键字 。
        3. 严格区分大小写 
        4. 标识符可以为任意长度    
例如:ComputeArea,radius,area ,Area <注意:严格区分大小写>  
     1.2.2 非法标识符 
        1. class (关键字) 
        2. 100java(不能以数字开头) 
        3. Hello java (空格不是组成标识符的元素)           
     1.2.3 Java 中的标识符命名规范 
        1、区分大小写:  JAVA 大小写敏感 
        2、见名知意 
        3、类名: class +类名 : 首字母大写 如: HelloWorld 
             方法名:方法名() : 驼峰规则 ,首字母小写+第二个起每个单词首字母大写 如 helloWorld 
             变量名:变量的类型 变量名 ;同理,驼峰规则, 首字母小写+第二个起每个单词首字母大写 
             常量名:final 类型  常量名 ; 每个字母大写, _分割单词 如:   INTEGER_AGE    
                  注意:只是为了增加规范性、可读性而做的一种约定,标识符在定义的时候最好见名知意,提高代码阅读性。
        2、关键字 
     2.1 关键字的概述 
        Java 的关键字对 java 的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名、方法名、类名、包名
     2.2 常见的关键字 

 
        3、注释 
    3.1 注释的作用 
通过注释提高程序的可读性,是 java 程序的条理更加清晰,易于区分代码行与注释行。另外通常在程序开头加入作者,
时间,版本,要实现的功能等内容注释,方便后来的维护 以及程序员的交流。 
    3.2 注释的种类 
        1.单行注释(line comment)用//表示,编译器看到//会忽略该行//后的所文本 
        2.多行注释(block comment)用/* */表示,编译器看到/*时会搜索接下来的*/,忽略掉/**/之间的文本。 
        3.文档注释用/** */表示,是 java 特有的注释,其中注释内容可以被 JDK 提供的工具 javadoc 所解析,生成一套以网页文件形式体现的该程序的说明文档.
   1. 编程习惯: 
      1. 给那条语句进行说明,注释应该写在该语句的旁边。 
      2. 单行注释一般写在语句的后面 
      3. 多行注释和文档注释一般写在语句的上面 
 注意:文档注释只能出现在类、属性、方法的上面。
4、常量  
     4.1 常量的概述 
        常量是指在程序运行过程中其值不能改变的量。 
    4.2 常量类型 
    Java 中常量的分类:   
     整数常量 : 1,45     小数常量 : 1.345 
     布尔常量 : true,false 
     字符常量 : 'a','A','0' 
     字符串常量 :”History” “”  、“a” 、 “ “       
     null 常量 : 只有一个值 null 
转义字符 
转义字符的概述: 
        特殊字符使用\其转化成字符的本身输出,那么使用”\”的字符称作为转移字符。 
        需求:使用输出语句,打印出带引号的信息例如输出。 
        System.out.println(“teacher said”java  is fun””);编译是无法正常通过的。语法有错误,编译器读到第二个引号就认为是字符串的结束,剩余的不知道怎么处理。如何解决这个问题:java 中使用转义字符来表示特殊的字符。一个转义字符以反斜杠(\)开始。
    常用的转义字符: 
        \r 表示接受键盘输入,相当于按下回车。 
        \n 表示换行。   
        \t  制表符,相当于 Table 键 
        \b 退格键,相当于 Back Space 
        \’  单引号 
        \” 双引号 
        \\ 表示一个斜杠
A:基本数据类型  
    1B(byte,字节)= 8 bit(位); 
    1KB(Kibibyte,千字节)=1024B= 2^10 B; 
    1MB(Mebibyte,兆字节,百万字节,简称“兆”)=1024KB= 2^20 B; 
    1GB(Gigabyte,吉字节,十亿字节,又称“千兆”)=1024MB= 2^30 B;   TB PB EB ZB…  
 
①整型 
                              占用字节数     比特/位      取值范围 
         byte(字节型)           1          8 位        [-128 , 127]    
         short(短整型)           2       16 位   -32768,32767] 
         int (整型)              4       32 位  [-21 亿, 21 亿] 
         long(长整型)       8   64 位   +_9223372036854775807 
注意:整数数值默认为int类型,如果需要定义一个long类型的变量, 当超出int的范围时,需要在该值后加 l或者L  
②浮点型 
         float(单精度)   4    double(双精度)  8       
         float默认保留8位数字,double默认保留17位数字 
          注意:浮点数默认为double类型,如果需要定义一个float类型的 变量,则数值后需要加 f或者F
③字符型(0~65535) 
      char(字符型)   2     一个字符能存储一个中文汉字  要求:用 '   '将字符括起来, 最多存储一个字符  用于存放字符的数据类型,占用2个字节,采用unicode编码,它 的前128字节编码与ASCII兼容,它的的取值范围是在Unicode编码中 规定的,而Unicode编码规定char的取值范围就是0~65535,没有负值.
④逻辑型(布尔型) 
      boolean(布尔类型)  占1个bit, 1/8个字节 
6.3 变量的声明 
相当于造盒子  
格式: 类型 名字 [=值,[名字=值….]] 
 例如: 
   int i 声明了一个整形的变量 i。 
   double d 声明了一个 double 数据类型的变量 d 
   float  f 声明了一个 float 数据类型的变量。 
   备注:变量名的首字母都一般都是以小写字母开始。 
6.4 变量的初始化 
        初始化方式 1: 数据类型  变量名字  = 数值。 
                int  car = 100000 
        初始化方式 2: 数据类型  变量名字 ; 
             变量名字 = 数值。
             int car ; 
             car = 10000
    1)、变量必须先声明后使用 
    2)、变量必须存在值才能使用
    3)、变量同一个作用域(方法内) 声明时变量名不能相同 
7、数据类型的转换 
如果两个整数(int)相除会去掉小数部分。如果需要保留小数部分,可以让除数或者被除数变为double 类型的(5 变为 5.0)。其实 Java 是自动的将 int 的那个数变为了 double 类型了也就是 Java 自动的将整数变为了浮点数。例如 5/2.0 其实是 5.0/2.0 
7.1 自动类型转换(也叫隐式类型转换) 
        可以将一个数赋值给更大数值范围的变量,例如可以经 byte 变量赋值给 short 变量可以将 short 变量赋值给 int 变量可以
将 int 变量赋值给 long 变量。 
        Java 内部其实做了工作就是自动将数值进行了类型提升,就叫做自动类型转换(也叫隐式类型转换) 
        自动类型转换(也叫隐式类型转换) 
        要实现自动类型的转换,需要满足两个条件,第一两种类型彼此兼容,第二目标类型取值范围必须大于源类型。所有的数字类型,包括整形和浮点型彼此都可以进行转换。 
7.2 强制类型转换(也叫显式类型转换) 
         不可以将一个数值赋给范围更小数值范围的变量,除非进行类型转换。
         当两种类型彼此不兼容,或者目标类型取值范围小于源类型(目标是byte 源是 int)
         无法自动转换,此时就需要进行强制类型转换。 
         强制类型转换需要注意:   损失精度!!
7.3、类型转换的原理 
       1. 什么时候要用强制类型转换 
           比如小数部分只想保留整数部分. 
           一定要清楚要转换的数据在转换后数据的范围内否则会损失精度.
       2 表达式的数据类型自动提升 
            算术表达式  
            所有的 byte 型、short 型和 char 的值将被提升到 int 型。 
            如果一个操作数是 long 型,计算结果就是 long 型; 
            如果一个操作数是 float 型,计算结果就是 float 型; 
            如果一个操作数是 double 型,计算结果就是 double 型。 
            分析 System.out.println(‘a’+1)结果? 
            自动类型提升 
    (1)boolean类型不参与转换 
    (2)默认转换  A:从小到大 
            B:byte,short,char --> int   long   float  double 
            C:byte,short,char之间是平级的,不相互转换,直接转成 int类型参与运算。
    (3)强制转换 
            A:从大到小 
            B:可能会有精度的损失,一般不建议这样使用。 
            C:格式:  目标数据类型 变量名 = (目标数据类型) (被转换的数据); 

猜你喜欢

转载自blog.csdn.net/weixin_42008966/article/details/80069416