1. Java变量和基本数据类型

本文介绍了Java中的变量概念、命名规则,以及八种基本数据类型(整数、浮点、布尔和字符)的声明、转换规则,包括数据类型的范围、类型转换的自动和强制方式。
摘要由CSDN通过智能技术生成

1. 变量
变量:变量是用于存储数据的可变存储空间(相当于存储数据的可变盒子)
变量的声明:数据类型 变量名
                     变量的声明相当于在银行开户,一个变量只能声明一次,不能重复声明
变量的初始化:声明变量后为变量第一次赋值的过程
                         变量在访问之前必须声明并初始化
特性
    复用性:一次定义,多次使用
    可变性:根据需求随时更改

第一个java代码⮷

// 声明包bases
package bases;

// 声明类HelloWorld
public class Demo01_HelloWorld {
    /**
     * 1. java严格区分大小写
     * 2. 符号使用英文状态下的
     * 3. 每个语句以 ; 分号结尾
     * @param args 字符数组形式
     */
    // 主方法(程序入口)
    public static void main(String[] args) {
        // 程序主体
        System.out.println("Hello World!");
    }
}

变量的声明,初始化,赋值⮷

package bases;

public class Demo02_Var {
    public static void main(String[] args) {
        /**
         * 变量的声明:声明相当于在银行开户
         */
        int a;            // 变量声明
        a = 5;            // 变量的初始化
        int b, c, d;      // 同时声明多个变量
        int e = 10;       // 声明变量的同时赋值
        int f, i = 50, h; // 声明多个变量,对其中的某个变量赋值

        // 变量的修改
        int m = 15;
        m = 20;

        // 变量的使用
        int n = 100;
        n = n + 80;
        System.out.println(n);
    }
}
变量的命名规则:小驼峰命名法
                   ① 只能包含字母,数字,_和$,且不能以数字开头
                   ② 严格区分大小写
                   ③不能使用java关键字
2. java基本数据类型
java的8中基本数据类型:整型(byte,short,int,long),浮点型(float,double),布尔型boolean,字符型char
基本数据类型
整数类型
浮点类型
boolean
char
byte
short
int
long
float
double
4类8种
2.1 整数类型
byte、short、int、long 数据类型都表示整数(取值范围不同)
数据类型名称占用字节包装类范围
byte字节型1Byte-27 到 27-1
short短整型2Short-215 到 215-1
int整型4Integer-231 到 231-1
long长整型8Long-263 到 263-1

演示代码⮷
整型数据类型,int的最小值-2147483648,计算时超出范围会发生溢出

package bases;

public class Demo02_DataType {
    /**
     * 数据类型:整型,浮点型,布尔型,字符型
     */
    public static void main(String[] args) {
        /*
        整型int:4个字节(-2^31~2^31-1)
         */
        // 整数直接量超出范围 -- 报错
        // int a = 2178945612;     // 超出最大范围
        // 整数计算超出范围 -- 溢出
        int b = 2147483647;
        System.out.println("发生溢出:" + (b + 1));
        // 整数相除只能得到整数
        System.out.println("整数相除得到整数:" + (5/2));
        // 有浮点数参与的计算得到浮点数
        System.out.println("有浮点数参与的计算:" + (5/2.0));
    }
}

在这里插入图片描述

演示代码⮷
长整型数据类型

package bases;

public class Demo02_DataType {
    /**
     * 数据类型:整型,浮点型,布尔型,字符型
     */
    public static void main(String[] args) {        
        /*
        长整型long:8个字节(-2^63~2^63-1)
         */
        // 长整型直接量
        long w = 60L;
        // 计算量(L建议放在第一个数的后面)
        long x = 1000000000*2*10L;  // 结果200亿
        long y = 1000000000*3*10L;  // 结果不是300亿(溢出)
        long z = 1000000000L*3*10;  // 结果300亿
        System.out.println("w=" + x + "\ny=" + y + "\nz=" + z);
        String str = String.format("x的值为:%d",x);
        System.out.println(str);
        System.out.printf("x=%d,y=%d", x, y);
    }
}

在这里插入图片描述

2.2 浮点数类型
浮点数类型有float,double
              1.小数直接量默认为double型,若想表示float需在数字后加F或f
              2.不能表示精确数据,运算时可能发生舍入误差

演示代码⮷
浮点型

数据类型名称指数位尾数位占用字节包装类范围精度范围
float单精度浮点型8 bit23 bit4Float-2128 到 2127-17位
double双精度浮点型11 bit52 bit8Double-21024 到 21023-116位
package bases;

public class Demo02_DataType {
    /**
     * 数据类型:整型,浮点型,布尔型,字符型
     */
    public static void main(String[] args) {
        /*
        浮点型数据类型:精确度不高
         */
        // 默认double类型,直接量
        double m = 3.141592;
        // float类型
        float n = 3.1654F;
        // 计算量(精度:舍入误差)
        double p = 3.0, q = 2.9;
        System.out.println("存在误差:" + (p - q));
    }
}

在这里插入图片描述

2.3 布尔型和字符型
布尔型:布尔型占用1个字节,值为仅true或false
字符型:字符型占2用个字节
              1.字符型直接量需要放在单引号中,只能放一个字符
              2.采用Unicode(国际标准)编码格式
              3.特殊符号需要通过 \ 来转义
数据类型名称占用字节包装类
boolean布尔型1byteBoolean
char字符型2byteCharacter

演示代码⮷
布尔型和字符型

package bases;

public class Demo02_DataType {
    /**
     * 数据类型:整型,浮点型,布尔型,字符型
     */
    public static void main(String[] args) {
        /*
        布尔型boolean:值为true或false,占1个字节
         */
        boolean u = false;
        boolean v = true;


        /*
        字符型char:占两个字节
         */
        // 字符
        char cha = '人';
        char cha1 = ' ';
        // 0 到 65535之间
        char cha2 = 65;
        // 特殊字符转义
        char cha3 = '\\';
        System.out.printf("字符:%c,空格%c,65的ASCII字符:%c,转义斜杠%c", cha, cha1, cha2, cha3);
    }
}

在这里插入图片描述

3. java基本数据类型转换
两种转换方式
              自动类型转换(隐式类型转换):小类型到大类型
              强制类型转换:大类型到小类型
              强转语法:(要转换成为的数据类型)变量
注意:强转有可能溢出或丢失精度
  • 数据类型转换
byte
short
int
long
float
double
char

演示代码⮷
类型转换的两种方式

package bases;

public class Demo02_DataTypeConvert {
    public static void main(String[] args) {
        // 自动转换
        int a = 100;
        long b = a;
        // 强制转换
        int c = (int)b;

        // 强转溢出
        long l = 10000000000L;
        int i = (int)l;
        System.out.println("发生溢出:" + i);

        // 强转导致精度丢失
        double d = 12.265;
        int e = (int)d;
        System.out.println("丢失精度:" + e);
    }
}

在这里插入图片描述

两点规则
              整数直接量可以直接赋值给byte、short、char,但不能超出范围
              byte、short、char参与计算时,一律先转换成int,再参与计算

演示代码⮷
两种规则

package bases;

public class Demo02_DataTypeConvert {
    public static void main(String[] args) {
        /*
        两点规则
         */
        // 直接赋值,直接量(不能超过范围)
        byte bs = 127;
        // 先转换在计算
        byte bt = (byte) (5 + 10);
        System.out.println(bt);

        // 查看对应字符的码
        int m = '我';
        System.out.println("“我”的ASCII码值:" + m);
        // 查看码的对应字符
        char cha = 100;
        System.out.println("100对应的字符:" + cha);

        System.out.println("参与计算时,先转换为int,再参与计算:" + (2 + '2'));
    }
}

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一半不眠次日si记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值