Java SE 基础(10)变量

文章详细介绍了Java编程中的变量概念,将其比喻为酒店房间,强调了变量的类型、名称和值的重要性。讨论了Java的两大数据类型——基本数据类型和引用数据类型,并列举了各种基本数据类型的范围和默认值。此外,文章还提到了字符编码如ASCII和Unicode,以及数据类型的转换,包括隐式和显式转换的规则。
摘要由CSDN通过智能技术生成

变量概述

变量:常量是固定不变的数据,那么在程序中可以变化的量称为变量。

Java中要求一个变量每次只能保存一个数据,必须要明确保存的数据类型。

整个内存就好像是酒店,当中包含了多个房间。

房间的容量(大小)不同(单人间、两人间...)

每个房间都有一个唯一的门牌号。

每个房间的住客(类型)也不同。

酒店的房间 — 变量

房间的类型 — 数据类型

房间门牌号 — 变量名

房间的住客 — 值

Java语言中数据类型:2大类

基本数据类型

引用数据类型

字节

字节是我们常见的计算机中最小存储单元,计算机存储任何的数据,都是以字节的形式存储。

8个bit(二进制位) 0000-0000表示为1个字节,写成1 byte或者1 B。

8 bit = 1 B
1024 B =1 KB
1024 KB =1 MB
1024 MB =1 GB
1024 GB = 1 TB

Java基本数据类型

基本数据类型:4类8种

布尔类型:boolean,数值只有2个:true,false

字符类型:char,2个字节(16位)

整数类型:

        byte,字节。1字节(8bit),

        short,短整型。2字节(16bit),

        int,整型。(默认类型)。4字节(32bit)

        long,长整型。加L或l。8个字节(64bit)

浮点类型:

        float,单精度。加f或F。4个字节(32bit)

        double,双精度。(默认类型)。8个字节(64bit)

基本数据类型是 Java 语言中内置的类型。整数类型、小数类型、字符类型、布尔类型 这四类是最基础的类型

类型

说明

最小值

最大值

默认值

空间

byte

字节类型

-128(-2^7)

127(2^7-1)

0

8

short

短整型

-32768(-2^15)

32767(2^15-1)

0

16

int

整型

-2^31

2^31-1

0

32

long

长整型

-2^63

2^63-1

0L

64

float

单精度

0.0f

32

double

双精度

0.0d

64

boolean

布尔

false

表示一位的信息

char

字符

\u000(0)

\uffff(65,535)

单一的16位Unicode 字符

char 字符型 ,2 个字节 ,用单引号表示 '' ,刚好容纳一个汉字

注意: char 里面只能放一个

long类型:建议数据后加L表示。

float类型:建议数据后加F表示。

变量定义

变量:计算机内存中的一块存储空间,是存储数据的基本单元。

语法:变量包括三个要素: 数据类型 、 变量名 、 数据值 。

数据类型 变量名 = 数据值;

示例:

public static void main(String[] args) {
    byte b1 = 123;//赋值就是存数据
    short s1 = 200;
    int i1 = 300; //默认int;
    long l1 = 1000L;//long类型后面要写上大写的L或者小写的l

    //访问变量就是取数据
    System.out.println("b1:" + b1);//+是表示字符串的拼接
    System.out.println("s1:" + s1);
    System.out.println("i1:" + i1);
    System.out.println("l1:" + l1);

    b1 = 120;
    System.out.println("-------------------------");
    float f1 = 3.14f;//用小写的f或者大写的F标识这是float类型
    double d1 = 3.149;//小数的类型默认为double
    System.out.println("f1:" + f1);
    System.out.println("d1:" + d1);

    System.out.println("-------------------------");
    boolean bb1 = true;
    boolean bb2 = false;
    System.out.println("bb1:" + bb1);
    System.out.println("bb2:" + bb2);
    System.out.println("-------------------------");

    char c1 = 'A';
    char c2 = '中';
    System.out.println("c1:" + c1);
    System.out.println("c2:" + c2);
}

注意:

        Java中每个变量必须先声明,后使用

        使用变量名来访问这块区域的数据

        变量的作用域:其定义所在的一对{ }内

        变量只有在其作用域内才有效

        同一个作用域内,不能定义重名的变量

字符类型

ASCII(American Standard Code for Information Interchange),美国标准信息交换码

在计算机内部,所有数据都使用 二进制表示。每一个二进制位(bit)有 0 和 1 两种状态,因此 8 个二进制位就可以组合出 256 种状态,这被称为一个字节(byte)。一个字节一共可以用来表示 256 种不同的状态,每一个状态对应一个符号,就是 256 个符号,从0000000 到

11111111。

ASCII码:上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定。这被称为ASCII码。ASCII码一

共规定了128个 个字符的编码,比如空格“SPACE”是32(二进制00100000),大写的字母A是65(二进制01000001)。这128个符号(包括32个不能打印出来的控制符号),只占用了一个字节的后面7位,最前面的1位统一规定为0。

GB2312老国标 支持中文简体字和一部分少数民族文字 GBK 新国标 支持中文简体字和少数民族文字 UTF-8 万国码 支持世界上通用文字,也是后期开发中会使用的到的编码 JavaWEB项目 HTML前端页面 数据库软件编码集全部都是对应的UTF-8 BIG5 中文繁体字编码,主要流行于中国香港,中国澳门,中国台湾省,新加坡 ASCII码 美国XXXXX协会制定的一个标准编码。

Java中的所有字符都使用Unicode编码,故一个字符可以存储一个字 母,一个汉字,或其他书面语的一个字符。

Unicode中每个字符都对应一个二进制整数,可以使用多种方式赋值。

        字符赋值:char c1 = 'A';(通过''描述为字符赋值)

        整数赋值:char c2 = 65;(通过十进制数65在字符集中对应的字符赋值)

        进制赋值:char c3 = '\u0041';(通过十六进制数41在字符集中所对应的字符赋值)

示例:

public static void main(String[] args) {
    char c1 ='1';
    char c2 = 97;//char类型的数字1对应ascii对应的一个字符,
    System.out.println(c1);
    System.out.println((int)c1);
    System.out.println(c2);

    System.out.println("-------------------");
    //转义字符
    System.out.println("\"hello,world\"");
    System.out.println("\'hello,world\'");

    System.out.println("\"hello,\nworld\"");
    System.out.println("\"hello,\tworld\"");
}

基本数据类型的转换

Java允许程序员在一定程度上进行数据类型的转换。

8种基本数据类型:

7种数值类型可以参加转换:byte,short,char,int,long,float,double(boolean不参加)。

显式转换

        显式转换(强制转换):取值范围大的转为取值范围小的。

        小范围数据类型 变量 = (小范围数据类型 变量)大范围数据类型;

        int n = (int)6.7;

        语法结构:(要转换的类型)数值

隐式转换

        隐式转换(自动转换):取值范围小的转为取值范围大的。

        大范围数据类型 变量 = 小范围的数据类型;

        double d = 10000;

数据范围从大到小:

double >float>long>int>short>byte

示例:

public static void main(String[] args) {
    byte a = 123;
    short s = a;//隐式的自动类型转换;
    int i = s;
    
    System.out.println("a:"+a);
    System.out.println("s:"+s);
    System.out.println("i:"+i);
    
    int i2 = 128;
    byte b2 = (byte)i2;//强制类型转换:会有数据溢出
    int i3 = 129;
    byte b3 = (byte)i3;
    
    double d1 = 6.7;
    int i4 = (int)d1;
    System.out.println("b2:"+b2);
    System.out.println("b3:"+b3);
    
    System.out.println("i4:"+i4);
    
    System.out.println("----------------------");
    
    //特殊点1:byte,short,char这三种在运算的时候,会自动转成int;
    // byte a1 = 12;
    // byte a2 = 13;
    // byte bb = a1+a2;
    
    //特殊点2:
    long l1 = 100L;
    long l2 = 100;//int---->long自动类型转换
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值