不做大哥好多年 不做大哥好多年
首页
  • MySQL
  • Redis
  • Elasticsearch
  • Kafka
  • Etcd
  • MongoDB
  • TiDB
  • RabbitMQ
  • 01.Python
  • 02.GO
  • 03.Java
  • 04.业务问题
  • 05.关键技术
  • 06.项目常识
  • 10.计算机基础
  • Docker
  • K8S
  • 容器原理
  • Istio
  • 01.GO基础
  • 02.面向对象
  • 03.并发编程
  • 04.常用库
  • 05.数据库操作
  • 06.Beego框架
  • 07.Beego商城
  • 08.GIN框架
  • 09.GIN论坛
  • 10.微服务
  • 01.Python基础
  • 02.Python模块
  • 03.Django
  • 04.Flask
  • 05.SYL
  • 06.Celery
  • 10.微服务
  • 01.Java基础
  • 02.面向对象
  • 03.Java进阶
  • 04.Web基础
  • 05.Spring框架
  • 100.微服务
  • 数据结构
  • 算法基础
  • 算法题分类
  • 前置知识
  • PyTorch
  • Linux基础
  • Linux高级
  • Nginx
  • KeepAlive
  • ansible
  • zabbix
  • Shell
  • Linux内核

逍遥子

不做大哥好多年
首页
  • MySQL
  • Redis
  • Elasticsearch
  • Kafka
  • Etcd
  • MongoDB
  • TiDB
  • RabbitMQ
  • 01.Python
  • 02.GO
  • 03.Java
  • 04.业务问题
  • 05.关键技术
  • 06.项目常识
  • 10.计算机基础
  • Docker
  • K8S
  • 容器原理
  • Istio
  • 01.GO基础
  • 02.面向对象
  • 03.并发编程
  • 04.常用库
  • 05.数据库操作
  • 06.Beego框架
  • 07.Beego商城
  • 08.GIN框架
  • 09.GIN论坛
  • 10.微服务
  • 01.Python基础
  • 02.Python模块
  • 03.Django
  • 04.Flask
  • 05.SYL
  • 06.Celery
  • 10.微服务
  • 01.Java基础
  • 02.面向对象
  • 03.Java进阶
  • 04.Web基础
  • 05.Spring框架
  • 100.微服务
  • 数据结构
  • 算法基础
  • 算法题分类
  • 前置知识
  • PyTorch
  • Linux基础
  • Linux高级
  • Nginx
  • KeepAlive
  • ansible
  • zabbix
  • Shell
  • Linux内核
  • Java基础

    • 01.Java基础
    • 02.数字类型
      • 01.内置数据类型
      • 02.内置数据类型定义
        • 1、定义变量
        • 2、final定义常量
        • 3、Java 局部变量
      • 03.自动类型转换
        • 1、转换说明
        • 2、转换举例
        • 3、数字字符串转
        • 4、变量类型判断
    • 03.字符串
    • 04.循环
    • 05.数组
    • 06.ArrayList
    • 07.LinkedList
    • 08.HashSet
    • 09.HashMap
    • 10.Iterator
    • 11.泛型
  • 面向对象

  • Java进阶

  • Web基础

  • Spring框架

  • 微服务

  • Java
  • Java基础
xiaonaiqiang
2021-11-16
目录

02.数字类型

# 01.内置数据类型

  • Java语言提供了八种基本类型
  • 六种数字类型(四个整数型,两个浮点型)
  • 一种字符类型,还有一种布尔型
类型 默认值 大小 范围
byte 0 8位 -128到127
short 0 16位 -32768到32767
int 0 32位 -2147483648到2147483647
long 0L 64位 -9223372036854775808到9223372036854775807
float 0.0f 32位 约±1.4e-45到±3.4e38, 精度为7位有效数字
double 0.0d 64位 约±4.9e-324到±1.8e308, 精度为16位有效数字
char '\u0000' 16位 0到65535
boolean false - true或false

# 02.内置数据类型定义

# 1、定义变量

package com.case_01;

public class Test {
    static boolean bool;
    static byte by;
    static char ch;
    static double d;
    static float f;
    static int i;
    static long l;
    static short sh;
    static String str;

    public static void main(String[] args) {
        System.out.println("Bool :" + bool);      // false
        System.out.println("Byte :" + by);        // 0
        System.out.println("Character:" + ch);   //  ''
        System.out.println("Double :" + d);      // 0.0
        System.out.println("Float :" + f);       // 0.0
        System.out.println("Integer :" + i);     // 0
        System.out.println("Long :" + l);        // 0
        System.out.println("Short :" + sh);     // 0
        System.out.println("String :" + str);   // null

        // 定义变量
        int myNum = 5;
        float myFloatNum = 5.99f;
        char myLetter = 'D';
        boolean myBool = true;
        String myText = "Hello";

        // 定义声明多个变量
        int x = 5, y = 6, z = 50;
        System.out.println(x + y + z);
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36

# 2、final定义常量

  • 常量在程序运行时是不能被修改的

  • 在 Java 中使用 final 关键字来修饰常量,声明方式和变量类似

  • 1)虽然常量名也可以用小写,但为了便于识别,通常使用大写字母表示常量

package com.example01;

public class Demo01 {
    public static final double PI = 3.14;
}

// 其他地方就可以使用 System.out.println(Demo01.PI); 输出
1
2
3
4
5
6
7
  • 2)当使用常量的时候,前缀 0 表示 8 进制,而前缀 0x 代表 16 进制
int decimal = 100;
int octal = 0144;
int hexa =  0x64;
1
2
3

# 3、Java 局部变量

  • 局部变量声明在方法、构造方法或者语句块中;
  • 局部变量在方法、构造方法、或者语句块被执行的时候创建,当它们执行完成后,变量将会被销毁;
  • 访问修饰符不能用于局部变量;
  • 局部变量只在声明它的方法、构造方法或者语句块中可见;
  • 局部变量是在栈上分配的
  • 局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用
package com.case_01;

public class Test{
    public void say(){
        int age = 0;  // 声明变量需要初始化,没有初始化编译时会报错
        age = age + 3;
        System.out.println("cjavapy的年龄是: " + age);  // cjavapy的年龄是: 3
    }

    public static void main(String[] args){
        Test test = new Test();
        test.say();
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14

# 03.自动类型转换

# 1、转换说明

整型、实型(常量)、字符型数据可以混合运算,运算中,不同类型的数据先转化为同一类型,然后进行运算

低  ------------------------------------>  高
byte,short,char—> int —> long—> float —> double
1
2
  • 数据类型转换必须满足如下规则
    • 1、不能对boolean类型进行类型转换
    • 2、不能把对象类型转换成不相关类的对象
    • 3、在把容量大的类型转换为容量小的类型时必须使用强制类型转换
    • 4、转换过程中可能导致溢出或损失精度

# 2、转换举例

  • 1)溢出问题
int i =128;
byte b = (byte)i;    // -128
1
2
  • 2)自动类型转换
package com.example01;

public class HelloWord {
    public static void main(String[] args) {
        char c1='a';  //定义一个char类型
        int i1 = c1;  //char自动类型转换为int
        System.out.println("char自动类型转换为int后的值等于" +   i1);  // char自动类型转换为int后的值等于97

        int i2 = 'A' + 1;  //char 类型和 int 类型计算
        System.out.println("char类型和int计算后的值等于"  +  i2);   // char类型和int计算后的值等于66
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
  • 3)强制类型转换
    • 1、条件是转换的数据类型必须是兼容的
    • 2、格式:(type)value type是要强制类型转换后的数据类型
package com.example01;

public class HelloWord {
    public static void main(String[] args) {
        int i1 = 123;
        byte b = (byte)i1;  //强制类型转换为byte
        System.out.println("int强制类型转换为byte后的值等于:" + b);  // int强制类型转换为byte后的值等于:123
    }
}
1
2
3
4
5
6
7
8
9

# 3、数字字符串转

public class Day01 {
    static public void main(String[] strings) {
        // 字符串和 int 转换
        int a = Integer.parseInt("24");
        String b = Integer.toString(25);
    }
}
1
2
3
4
5
6
7

# 4、变量类型判断

public class Day01 {
    static public void main(String[] strings) {
        // 判断一个变量类型
        Object num = "123";
        if (num instanceof Integer) {
            System.out.println("整数");
        } else if (num instanceof Double) {
            System.out.println("小数");
        } else if (num instanceof String) {
            try {
                Double.parseDouble((String) num);
                System.out.println("数值型");
            } catch (NumberFormatException e) {
                System.out.println("非数值型");
            }
        }
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
上次更新: 2024/5/31 11:18:42
01.Java基础
03.字符串

← 01.Java基础 03.字符串→

最近更新
01
06.Mage平台
05-30
02
16.区块链交易所
05-28
03
01.常识梳理
05-28
更多文章>
Theme by Vdoing | Copyright © 2019-2025 逍遥子 技术博客 京ICP备2021005373号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式