【JAVA】第二章 常量,变量,数据类型

文章目录

  • 1. 标识符
    • 1.1 标识符概述
    • 1.2 Java行业内部命名规范
  • 2. 数据类型
    • 2.1 基本数据类型
      • 2.1.2 整型
      • 2.1.3 浮点型
      • 2.1.4 字符型
      • 2.1.5 布尔型
      • 2.1.6 基本数据类型排序
    • 2.2 基本数据的类型转换
      • 2.2.1 自动类型提升(精度提升)
        • (1)扩大数据类型
        • (2)变量精度提升
      • 2.2.2 数据溢出
        • 1. 基本数据类型最大值与最小值
        • 2. 数据溢出
    • 2.3 引用数据类型
      • 2.3.1 String类型
  • 3. 变量
    • 3.1 变量的概念与定义
    • 3.2 变量的分类
    • 3.3 变量的使用
    • 3.2 注意事项
  • 4. 常量
    • 4.1 常量概念
    • 4.2 常量分类:按写法分类
    • 4.3 常量分类:按数据类型分类
      • 4.3.1 基本数据类型常量
      • 4.3.2引用数据类型常量

1. 标识符

1.1 标识符概述

Java中给类,接口,变量,方法等资源命名使用的字符序列,称为标识符
1. 组成内容:
(1)允许所有的大小写英文字母
(2)允许0-9的数字组成
(3)允许英文的_和$符号,其他符号和空格不能使用
(4)允许其他国家语言的字符,但实际开发中,所有命名都是英文,没有中文。
2.  注意事项:
(1)不能是关键字
(2)不能数字开头 
(3)最好见名知意

1.2 Java行业内部命名规范

1. 类的名字和接口的名字:大驼峰,每一个英文单词的首字母大写。
2. 变量命名:小驼峰,第一个英文单词全小写,从第二个单词开始,首字母大写。
3.   方法的命名:小驼峰。
 4. 常量的命名:所有字母全部大写,单词之间用下划线_进行分隔。
 5. 命名尽量见名知意。

2. 数据类型

2.1 基本数据类型

java有八大基本数据类型
1. 表示整数的类型
(1)byte
(2)short
(3)int
(4)long
2. 表示小数的类型
(1)float
(2)double
3. 表示字符的类型:char
4. 表示对错(布尔)的类型:booleanS

【JAVA】第二章 常量,变量,数据类型_第1张图片

java中最高位是符号位不参与计算,只表示正负所以算基本数据类型的最大值时,不应该加入符号位
比如,1byte的十进制最大值:127

在这里插入图片描述

2.1.2 整型

【JAVA】第二章 常量,变量,数据类型_第2张图片

1. 整型类型中字面值常量默认类型是int类型
2. long类型变量在定义的时候,当值范围超过int范围时建议在后面加L或l,表示这是long类型
package test.java;

import com.google.inject.internal.asm.$Type;

public class Test {
    public static void main(String[] args) {
       //byte类型
        byte b = 10;
        System.out.println("b="+b);

        //short类型
        short s = 100;
        System.out.println("s="+s);

        //int类型
        int i = 125;
        System.out.println("i="+i);

        //long类型
        long l = 12354576879455L;
        System.out.println("l="+l);

        //字面值整型常量默认为int型
        System.out.println("字面值整型常量"+100);

    }
}

【JAVA】第二章 常量,变量,数据类型_第3张图片

2.1.3 浮点型

【JAVA】第二章 常量,变量,数据类型_第4张图片

1. 默认浮点型数据是double型
2. float变量定义时需要在后面加f或F
3. double变量定义时也可以在后面加D或d
4. 浮点型存储的数据是不精确的数据,所以在运算过程中,结果也可能不精确
5. double精度高,但是double消耗内存是float的两倍,运算速度也比float数据慢,所以一般能用float就不用double,好节省内存,加快运算速度
6. 两整数相除,会去除小数部分,要想保留小数部分,只需要提升其中一个整数的精度

public class Test {
    public static void main(String[] args) {
        //float类型
        float f = 12.3F;
        System.out.println("f="+f);

        double d1 = 25.0;
        double d2 = 45.8D;
        System.out.println("d1="+d1+"\t"+"d2="+d2);

        int a = 6;
        int b = 4;
        System.out.println("a/b="+(double)a/b);


    }
}

【JAVA】第二章 常量,变量,数据类型_第5张图片

2.1.4 字符型

在这里插入图片描述

1. 字符类型变量赋值:char 变量名 = '单个字符';
2. 一个单引号里面只能有一个字符,超过一个会报错
3. 使用整数给char类型赋值,不可以超过0~65535这个范围,不然在字符编码中找不到对应的字符,就会报错
public class Test {
    public static void main(String[] args) {
        //char类型
        char a = 'a';
        System.out.println("a的值为:"+ a);

        //使用整数给char类型赋值,值为数字对应字符编码的值
        char chr = 66;
        System.out.println("chr的值为:"+ chr);

        //使用字符给char类型赋值
        char ch = '家';
        System.out.println("ch的值为:"+ ch);

    }
}

【JAVA】第二章 常量,变量,数据类型_第6张图片

2.1.5 布尔型

在这里插入图片描述

1. boolean类型数据只有两个值,true和false
public class Test {
    public static void main(String[] args) {
        //boolean类型
        boolean b1 = true;
        boolean b2 = false;
        System.out.println("b1="+b1);
        System.out.println("b2="+b2);
        }
}

【JAVA】第二章 常量,变量,数据类型_第7张图片

2.1.6 基本数据类型排序

【JAVA】第二章 常量,变量,数据类型_第8张图片

2.2 基本数据的类型转换

1. 整型数据有:byte,short,int, long,都有自己的最大值和默认值,默认值都为0.
2. 精度:用来描述各种数据类型位宽的一个名词,比如byte位宽为8个bit,short位宽为16bit
3. 基本数据的类型转换分为
(1)自动类型提升:小精度数据提升为大精度数据
(2)强制类型转换:大精度数据转为小精度数据(会发生精度丢失)

2.2.1 自动类型提升(精度提升)

1. 精度的自动提升:数字之间在进行四则运算的时候会自动提升精度,最终计算出来的结果类型为高精度类型
2. 比如下面int类型数字*2.5,最终是double类型,double精度比int高
public class Test {
    public static void main(String[] args) {
        int num = 10;
        System.out.println("结果为:"+ num*2.5);
    }
}

【JAVA】第二章 常量,变量,数据类型_第9张图片

(1)扩大数据类型
上面的例子在1后面加L/l,代表把1变成long类型(64位),四则运算会自动进行数据精度提升,就不会出现数据溢出现象
1. 1默认情况下是int类型。,要让它变成其他类型,只需要在后面加上对应首字母
public class Test {
    public static void main(String[] args) {
        //数据溢出现象
        //int的最小值-1
        System.out.println("int类型最小值"+(Integer.MIN_VALUE-1L));
        //int的最大值+1
        System.out.println("int类型最大值"+(Integer.MAX_VALUE+1L));
    }
}

【JAVA】第二章 常量,变量,数据类型_第10张图片

(2)变量精度提升
1. 对变量进行精度提升,必须在变量前加小括号,里面方需要提升的成的目标精度类型
2. 强制类型转换:将高精度数值赋值给低精度的变量,需要先将高精度数据转换成低精度再赋值,此时会发生精度丢失(转换过成丢失高精度的部分数据)
public class Test {
    public static void main(String[] args) {
        //精度提升
        int a = 100;
        double d = (double)a;
        System.out.println(d);

        //强制类型转换
        double c = 100.8;
        short s = (short)c;
        System.out.println(s);
    }
}

【JAVA】第二章 常量,变量,数据类型_第11张图片

2.2.2 数据溢出

1. 基本数据类型最大值与最小值
每个基本数据类型都有最大值最小值,我们可以使用其基本数据类型包装类的MAX_VALUE,MIN_VALUE取出其最大值与最小值
public class Test {
    public static void main(String[] args) {
        //取得int的最小值
        System.out.println("int类型最小值"+Integer.MIN_VALUE);
        //取得int的最大值
        System.out.println("int类型最大值"+Integer.MAX_VALUE);
    }
}

【JAVA】第二章 常量,变量,数据类型_第12张图片

2. 数据溢出
1. 数据溢出:数据的最大值+1变成了最小值,或者数据的最小值-1变成最大值的现象
2. 为了防止数据溢出,应该提升精度,也就是扩大数据类型
public class Test {
    public static void main(String[] args) {
        //数据溢出现象
        //int的最小值-1
        System.out.println("int类型最小值"+(Integer.MIN_VALUE-1));
        //int的最大值+1
        System.out.println("int类型最大值"+(Integer.MAX_VALUE+1));
    }
}

【JAVA】第二章 常量,变量,数据类型_第13张图片

2.3 引用数据类型

除基本数据类型外的就是引用数据类型
包括:
1. 类
2. 数组
3. 接口

2.3.1 String类型

3. 变量

3.1 变量的概念与定义

1. 变量:用来保存数据的内存空间,在程序运行过程中,其值可以发生改变的量,人和程序都可以控制改变
2. 变量的定义:分为两步,
(1)变量的定义:确定变量数据类型以及变量名称
(2)变量的赋值:为变量进行初始化赋值
3. java中声明变量
          (1)先声明后付制:
                 数据类型 变量名;//此时变量名的值默认为0
                 变量名 = 值;
           (2)声明并且赋值:
                 数据类型 变量名 = 值;
5. 在java中一个变量只能保存一种类型的数据
public class Test {
    public static void main(String[] args) {
        //1. 声明变量并且赋初值
        int a = 10;
        System.out.println("a="+a);
        //改变变量值
        a = 12;
        System.out.println("a="+a);

        //2.先变量后赋初值
        double b = 10.0;
        System.out.println("b="+b);

        b = 12.0;
        System.out.println("b="+b);
    }
}

【JAVA】第二章 常量,变量,数据类型_第14张图片

3.2 变量的分类

【JAVA】第二章 常量,变量,数据类型_第15张图片

每一个类运行都会分配一个栈内存(归属单个进程本身),堆内存(所有进程公用)是公用的
--------------------------------
1. 变量分为局部变量和全局变量
2. 局部变量:存在方法中,只有在方法可以使用,局部变量在栈内存中存放
3. 全局变量定义在类中,当前类中所有方法都可以使用,存放在堆内存中

3.3 变量的使用

1. 变量的访问:直接通过变量名访问变量值
2. 变量的赋值: 变量名=新的变量值;

3.2 注意事项

变量的声明需要遵循一些原则:
1. 遵循标识符的原则:
(1)第一个位置只能是下划线,字母,美元符号;
(2)除首位外其他位置下划线,字母,美元符号,数字
(3)也就是说数字不能用于变量命名开头

2. 见名知意:看见变量名就知道它表示的含义(可提高代码的可读性)
3. 遵循小驼峰原则:
(1)若变量名只有一个单词应该全部小写
(2)若变量名由多个单词组成,从第二个单词开始应该首字母大写

4. 变量的作用域:
(1)只能在变量的作用范围内访问变量,为变量赋值
(2)从变量定义的位置开始,包含变量本身,距离变量最近的一对大括号就是变量的使用范围(作用域)

5. 相同数据类型的变量可以连续定义但是不介意这样

4. 常量

4.1 常量概念

1. 在java代码运行中,值不会发生变化的量(数据),称为常量
例如:圆周率π,身份证号码……
2. 常量存在堆内存中

【JAVA】第二章 常量,变量,数据类型_第16张图片

4.2 常量分类:按写法分类

1. 在写法上常量分为:字面量常量 和 符号常量
2 . 字面量常量:在编程语言中,如果定义一个基本数据类型的值直接使用,不需要程序单独为其开辟空间
=> 例如: System.out.println(100);
字面量常量=字面值常量
3. 符号常量:
 public static final String IDCARD = "1234567645";

4.3 常量分类:按数据类型分类

按照数据类型分为:基本数据类型 和 引用数据类型

4.3.1 基本数据类型常量

1. 基本数据类型分为4大类:
(1)整数类型: 520, 5,-9;
(2)浮点类型:3.14,  9.5;
(3)字符类型:'2'  'a' '王',注意‘-1’不是字符;
(4)布尔类型:表示真假值,使用在判断场景下,只有两个值 true 和 false。
 public static void main(String[] args) {
      // 1. 整数常量
      System.out.println(34);
      System.out.println(-9);
       // 2. 浮点类型常量
      System.out.println(3.14);
      System.out.println(-9.0);
       // 3. 字符型常量
      System.out.println('a');
      System.out.println('1');
       // 4. 布尔类型常量
      System.out.println(true);
      System.out.println(false);
 } 

4.3.2引用数据类型常量

1. 引用数据类型常量:
最简单的引用数据类型,字符串类型常量,"1434t43";
注意:字符串常量可以和任意基本数据类型做加法,但是不运算结果,只执行拼接,得到结果依然为字符串类型。
public static void main(String[] args) {
   System.out.println("北京欢迎你");
     System.out.println(-9);
    System.out.println("6" + 7);   // "67"
      /*字符串与任意数据类型做加法, 不是运算, 
    只是进行字符串的拼接, 结果仍然是一个字符串类型*/
     System.out.println("6" + 7 + 8); // 678
     System.out.println("6" + (7 + 8));// "615"
      System.out.println(7 + 8 + "6");//"156"
     }

你可能感兴趣的:(JavaSE,java,sql,后端)