• Java常量与变量


    1. 常量:

    程序运行期间,不可以发生改变的量,叫做常量。

    1.1 常量的分类:

    1.字符串常量:凡是用双引号引起来的部分,叫做字符串常量。(双引号中可跟多个字符)例如:"abc"、"Hello"、"123"

    2.整形常量:直接写上的数字,没有小数点。例如:100、200、0、-150

    3.浮点数常量:直接写上的数字,有小数点。例如:2.5、-3.14、0.0

    4.字符常量:凡是用单引号引起来的单个字符,就叫做字符常量。(单引号中只能有一个字符)例如:'A'、'b'、'9'、'中'

    5.布尔常量:只有量中取值。true、false。

    6.空常量:null。代表没有任何数据

    1.2 常量的打印输出:

    package com.scxh.day01;
    
    public class Demo01Conse {
        public static void main(String[] args) {
            //字符串常量
            System.out.println("ABC");
            System.out.println("");//字符串两个双引号中间的内容为空
            System.out.println("XYZ");
            System.out.println("一");
            //整数常量
            System.out.println(30);
            System.out.println(500);
            //浮点数常量
            System.out.println(3.14);
            System.out.println(-2.5);
            //字符常量
            System.out.println('A');
            System.out.println('6');
    //        System.out.println('');//两个单引号中间必须有且仅有一个字符,没有不行。
    //        System.out.println('AB');//两个单引号中间必须有且仅有一个字符,有两个也不行。
            //布尔常量
            System.out.println(true);
            System.out.println(false);
            //空常量.空常量不能直接打印输出
    //        System.out.println(null);
    
        }
    }

    2. 变量:

    变量:在程序运行期间,内容可以发生改变的量。

    创建一个变量并且使用的格式:

    数据类型 变量名称; (这就是创建了一个变量)

    变量名称 = 数据值;(赋值,将右边的数据值,赋值交给左边的变量)

     一步到位的格式:

    数据类型 变量名称 = 数据值; (在创建一个变量的同时,立刻放入指定的数据值)

    package com.scxh.day01;
    
    public class Demo01Conse {
        public static void main(String[] args) {        
            // 创建一个变量
            //格式: 数据类型 变量名称;
            int num1;
            // 向变量当中存入一个数据
            //格式:变量名称 = 数据值;
            num1 = 10;
            //当打印输出变量名称的时候,显示出来的是变量的内容
            System.out.println(num1); //打印结果为10
            // 改变变量当中本来的数字,变成新的数字
            num1 = 20;
            System.out.println(num1); //改变后的结果为20
            //使用一步到位的格式来定义变量
            //格式:数据类型 变量名称 = 数据值;
            int num2 = 25;
            System.out.println(num2); //打印结果为25
            num2 = 35;
            System.out.println(num2); //改变后的结果为35
    
            System.out.println("=================");
    
            byte num3 = 30; //注意:右侧数值的范围不能超过左侧数据类型的取值范围,否则会报错!
            System.out.println(num3); //打印结果为30
            //byte num4 = 400; // 右侧超出了byte数据范围,报红!
        
            short nmu5 = 50;
            System.out.println(nmu5); //50
    
            long num6 = 300000000L;//注意:使用long类型需要加后缀L
            System.out.println(num6); //300000000
    
            float num7 = 2.5F; //注意:使用float类型也要加后缀F
            System.out.println(num7); //2.5
    
            double num8 = 1.2;
            System.out.println(num8);
    
            char zifu1 = 'A';
            System.out.println(zifu1); // A
            zifu1 = '中';
            System.out.println(zifu1); //
    
            boolean var1 = true;
            System.out.println(var1); // tru1
            var1 = false;
            System.out.println(var1); // false
    
            // 将一个变量的数据内容,赋值交给另一个变量
            // 右侧的变量名称var1已经存在,里面装的是false布尔值
            // 将右侧的变量里面的false值,向左交给var2变量进行存储
            boolean var2 = var1;
            System.out.println(var2); // false
    
        }
    }

      

    变量的注意事项:

    1.如果创建多个变量,那么变量之间的名称不可以重复。

    2.对于float和long类型来说,字母后缀F和L不要丢掉。

    3.如果使用部byte或者short类型的变量,那么右侧的数据值不能超过左侧类型的范围。

    4.没有进行赋值的变量,不能是是直接使用;一定要赋值之后,才能使用。

    5.变量使用不能超过作用域的范围。(作用域:从定义变量的一行开始,一直到直接所属的大括号结束为止。)

    6.可以通过一个语句来创建多个变量,但是一般情况下,不推荐这么写。

    package com.scxh.day01;
    
    public class Demo01VariableNotice {
        public static void main(String[] args) {
            int num1 = 10; // 创建了一个新的变量,叫num1
    //        int num1 = 20; // 有创建了一个新的变量,名叫num1,报错!
            System.out.println(num1); // 10
    
            int num2 = 20;
            int num3;
            num3 = 30;
            System.out.println(num2); // 20
            System.out.println(num3); // 30
    
    //        System.out.println(num4); //报错! 在创建变量之前不能使用此变量,否则就会报错。
            int num4; //定义了一个变量num4,但没有进行赋值
    //        System.out.println(num4); //报错!由此可见,直接打印没有赋值的变量就会报错。
    
            {
                int num5 = 500;
                System.out.println(num5); //500
            }
    //        System.out.println(num5); //报错!由此可见,超出了大括号的范围,超出了作用域,变量不能在使用了
    
            System.out.println("=========");
    
            // 同时创建了三个全都是int类型的变量
            int a, b, c;
            // 各自分别赋值
            a = 10;
            b = 20;
            c = 30;
            System.out.println(a); // 10
            System.out.println(b); // 20
            System.out.println(c); // 30
    
            //同时创建三个int变量, 并且同时各自赋值
            int x = 100, y = 200, z = 300;
            System.out.println(x); // x
            System.out.println(y); // y
            System.out.println(z); // z
    
        }
    }

    2. 数据类型

    基本数据类型:

      整数型   byte short int long

      浮点型   float double

      字符型   char

      布尔型   boolean

    引用数据类型:

      字符串、数组、类、接口、Lambda

    2.1基本数据类型

    四类八种数据类型:

    JAVA当中的默认数据类型:整数类型是int、浮点数类型是double。

    注意事项:

    1.字符串不是基本类型,而是引用类型。

    2.浮点型可能只是一个近似值,并非精确值。

    3.数据范围与字节不一定相关,例如float的数据范围比long更加广泛但是float是四字节,long是八字节。

    4.浮点数当中默认类型是double。如果一定要使用float类型,需要加上一个后缀F。

     如果是整数,默认为int类型,如果一定要使用long类型,需要加上一个后缀L。推荐使用大写字母后缀。

    2.2 数据类型转换:

    当数据类型不一样时,将会发生数据类型转换

    自动类型转换(隐式)

      1. 特点:代码不需要进行特殊处理,自动完成转换。

      2. 规则:数据范围从小到大。

    强制类型转换(显式)

      1. 特点:代码需要进行特殊的格式处理,不能自动完成。

      2. 格式:范围小的类型 范围小的变量名 = (范围小的类型)原本范围大的数据;

    注意事项:

      1. 强制类型转换一般不推荐使用,因为有可能发生精度损失、数据溢出。

      2. byte/short/char这三种数据类型都可以发生数学运算,例如加法“+”。

      3. byte/short/char这三种数据类型在运算的时候,都会被首先提升称为int类型,然后再计算。

      4. Boolean类型不能发生数据转换

    package com.scxh.day01;
    
    public class Demo01DataType {
        public static void  main(String[]args){
            System.out.println(1024); // 这就是一个整数,默认是int类型
            System.out.println(3.14); // 这就是一个浮点数,默认是double类型
    
            // 左边是long类型, 右边是默认的int类型,左右不一样
            // 一个等号代表赋值,将右侧的int常量, 交给左侧的long变量进行存储
            // int --> long, 符合了数据范围从小到大的要求
            // 这行代码发生了自动类型转换。
            long num1 = 100;
            System.out.println(num1); // 100
    
            // 左边是double类型,右边是float类型,左右不一样
            // float --> double,符合从小到大的规则
            // 也发生了自动类型转换
            double num2 = 2.5F;
            System.out.println(num2); // 2.5
    
            // 左边是float类型,右边是long类型,左右不一样
            // long --> float,范围是float更大一些,符合从小到大的规则。
            // 也发生了自动类型转换
            float num3 = 30L;
            System.out.println(num3); // 30.0
    
            System.out.println("========");
    
            // 左边是int类型,右边是long类型,不一样
            // long --> int,不是从小到大
            // 不能发生自动转换!需要强制转换!
            // 格式:范围小的类型 范围小的变量名 = (范围小的类型)原本范围大的数据;
            int num = (int) 100L;
            System.out.println(num); // 100
    
            int num4 = (int)6000000000L;
            System.out.println(num4); // 结果不会是6000000000,结果为:1705032704,此时发生数据溢出
    
            // double --> int,强制类型转换
            int num5 = (int) 3.99;
            System.out.println(num5); //3,这并不是四舍五入,所有的小数位都会被舍弃掉
    
            char zif1 = 'A'; // 这是一个字符型变量,里面是大写字母A
            System.out.println(zif1 + 1); // 66, 也就是大写字母A被当作65处理。
            // 计算机的底层会用一个数字(二进制)来代表字符A,也就是65
            // 一旦char类型进行了数学运算,那么字符就会按照一定的规则翻译成为一个数字
    
            byte num6 = 40; // 注意!右侧的数值大小不能超过左侧的类型范围
            byte num7 = 50;
            // byte + byte --> int + int --> int
            int result1 = num6 + num7;
            System.out.println(result1); // 90
    
            short num8 = 60;
            // byte + short --> int + int --> int
            // int强制转换为short: 注意必须保证逻辑上真实大小本来就没有超过short范围,否则会发生数据溢出
            short result2 = (short) (num6 + num8);
            System.out.println(result2); // 100
    
        }
    }

    5. ASCII编码对照表

    二进制十进制十六进制图形
    0010 0000 32 20 (空格)(␠)
    0010 0001 33 21 !
    0010 0010 34 22 "
    0010 0011 35 23 #
    0010 0100 36 24 $
    0010 0101 37 25  %
    0010 0110 38 26 &
    0010 0111 39 27 '
    0010 1000 40 28 (
    0010 1001 41 29 )
    0010 1010 42 2A *
    0010 1011 43 2B +
    0010 1100 44 2C ,
    0010 1101 45 2D -
    0010 1110 46 2E .
    0010 1111 47 2F /
    0011 0000 48 30 0
    0011 0001 49 31 1
    0011 0010 50 32 2
    0011 0011 51 33 3
    0011 0100 52 34 4
    0011 0101 53 35 5
    0011 0110 54 36 6
    0011 0111 55 37 7
    0011 1000 56 38 8
    0011 1001 57 39 9
    0011 1010 58 3A :
    0011 1011 59 3B ;
    0011 1100 60 3C <
    0011 1101 61 3D =
    0011 1110 62 3E >
    0011 1111 63 3F ?
     
    二进制十进制十六进制图形
    0100 0000 64 40 @
    0100 0001 65 41 A
    0100 0010 66 42 B
    0100 0011 67 43 C
    0100 0100 68 44 D
    0100 0101 69 45 E
    0100 0110 70 46 F
    0100 0111 71 47 G
    0100 1000 72 48 H
    0100 1001 73 49 I
    0100 1010 74 4A J
    0100 1011 75 4B K
    0100 1100 76 4C L
    0100 1101 77 4D M
    0100 1110 78 4E N
    0100 1111 79 4F O
    0101 0000 80 50 P
    0101 0001 81 51 Q
    0101 0010 82 52 R
    0101 0011 83 53 S
    0101 0100 84 54 T
    0101 0101 85 55 U
    0101 0110 86 56 V
    0101 0111 87 57 W
    0101 1000 88 58 X
    0101 1001 89 59 Y
    0101 1010 90 5A Z
    0101 1011 91 5B [
    0101 1100 92 5C
    0101 1101 93 5D ]
    0101 1110 94 5E ^
    0101 1111 95 5F _
     
    二进制十进制十六进制图形
    0110 0000 96 60 `
    0110 0001 97 61 a
    0110 0010 98 62 b
    0110 0011 99 63 c
    0110 0100 100 64 d
    0110 0101 101 65 e
    0110 0110 102 66 f
    0110 0111 103 67 g
    0110 1000 104 68 h
    0110 1001 105 69 i
    0110 1010 106 6A j
    0110 1011 107 6B k
    0110 1100 108 6C l
    0110 1101 109 6D m
    0110 1110 110 6E n
    0110 1111 111 6F o
    0111 0000 112 70 p
    0111 0001 113 71 q
    0111 0010 114 72 r
    0111 0011 115 73 s
    0111 0100 116 74 t
    0111 0101 117 75 u
    0111 0110 118 76 v
    0111 0111 119 77 w
    0111 1000 120 78 x
    0111 1001 121 79 y
    0111 1010 122 7A z
    0111 1011 123 7B {
    0111 1100 124 7C |
    0111 1101 125 7D }
    0111 1110 126 7E ~

     

    4. 关键字特点:

            1.完全小写的单词,

            2.在IDEA当中有颜色的都是关键字

    5. 标识符软性建议:

            1.类名规范:首字母大写,后面每个单词首字母大写。(大驼峰式)例:HelloWorld

            2.变量名规范:首字母小写,后面每个单词首字母小写。(小驼峰式)例:helloWorld

     

  • 相关阅读:
    编程习题05
    java初始化顺序
    项目开发问题
    hibernate相关知识
    工作使用到的SQL语句
    对于时间的灵活操作
    StringBuffer 和 StringBuilder的区别
    在WebService中处理IP地址
    使用web创建监听器
    工作笔记系列-学习的零零碎碎的技术
  • 原文地址:https://www.cnblogs.com/ls011218/p/14498944.html
Copyright © 2020-2023  润新知