JAVA详解《数据类型与变量》《类型转换》

JAVA详解《数据类型与变量》《类型转换》,第1张

一.数据类型与变量
        • **1.字面常量**
        • **2.数据类型**
          • 2.1基本数据类型
        • **3.变量**
        • **整形数据类型详细讲解**
        • **浮点型数据详细介绍**
        • **字符型**(char 2个字节)
        • **boolean(布尔类型)**
        • **数据类型包装类**
        • 4. **类型转换**(整形默认int 浮点型默认double)

1.字面常量
public class Deme{
    public static void main(String[] args){
        System.out.println("HelloWorld");//这个语句不论程序何时运行,输出的都是HelloWorld,其实"Hello World"就是字面常量。

    }
}

**常量即程序运行期间,固定不变的量称为常量,**比如:一个礼拜七天,一年12个月等。

以下都是字面常量

public class Demo{
public static void main(String[] args){
	System.Out.println("hello world!");
	System.Out.println(100);
	System.Out.println(3.14);
	System.Out.println('A');
	System.Out.println(true);
	System.Out.println(false);
}
}

其中:100、3.14、‘A’、true/false都是常量,将其称为字面常量。
字面常量的分类:

  1. 字符串常量:由""括起来的,比如“12345”、“hello”、“你好”。
  2. 整形常量:程序中直接写的数字(注意没有小数点),比如:100、1000
  3. 浮点数常量:程序中直接写的小数,比如:3.14、0.49
  4. 字符常量:由 单引号 括起来的当个字符,比如:‘A’、‘1’
  5. 布尔常量:只有两种true和false
  6. 空常量:null
    注意:字符串、整形、浮点型、字符型以及布尔型,在Java中都称为数据类型。
2.数据类型 2.1基本数据类型

数据类型 关键字 内存占用 范围
字节型 byte 1 字节 -128 ~ 127

短整型 short 2 字节 -32768 ~ 32767

整型 int 4字节 ~ -2^31~ -2^31-1

长整型 long 8 字节 ~ -2^63~ -2^61-1

单精度浮点数 float 4 字节 有范围,一般不关注

双精度浮点数 double 8 字节 有范围,一般不关注

字符型 char 2 字节 0 ~ 65535

布尔型 boolean 没有明确规定 true 和 false

注意:
不论是在16位系统还是32位系统,int都占用4个字节,long都占8个字节

整形和浮点型都是带有符号的

整型默认为int型,浮点型默认为double

什么是字节?
字节是计算机中表示空间大小的基本单位.

计算机使用二进制表示数据. 我们认为 8 个二进制位(bit) 为一个字节(Byte).

我们平时的计算机为 8GB 内存, 意思是 8G 个字节.

其中 1KB = 1024 Byte, 1MB = 1024 KB, 1GB = 1024 MB.所以 8GB 相当于 80 多亿个字节

3.变量

3.1 变量概念
在程序中,除了有始终不变的常量外,有些内容可能会经常改变,比如:人的年龄、身高、成绩分数、数学函数的
计算结果等,对于这些经常改变的内容,在Java程序中,称为变量。而数据类型就是用来定义不同种类变量的。

3.2语法格式

定义变量的语法格式为:

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

如::

double d = 3.14;
char c = 'A';
boolean b = true;
System.Out.println(a);
System.Out.println(d);
System.Out.println(c);
System.Out.println(b);
a = 100; // a是变量,a中的值是可以修改的,注意:= 在java中表示赋值,即将100交给a,a中保存的值就是100
System.Out.println(a);
// 注意:在一行可以定义多个相同类型的变量
int a1 = 10, a2 = 20, a3 = 30;
System.Out.println(a1);
System.Out.println(a2);
System.Out.println(a);
整形数据类型详细讲解

1.int(整形4个字节)

public class DemeTest{
    public class void main(String[] args){
        System.out.println("最大值"+Integre.MAX_VALUE);//Integer整形的包装类
        System.out.println("最小值"+Integre.MIN_VALUE);//Integer整形的包装类
    }
}

2.long(长整型8个字节)

public class TestDeme{
    public class void main(String[] arge){
        long a=10L;//加L因为10默认(int)形所以加L标识一下
        System.out.println("最大值"+Long.MAX_VALUE);//Long整形的包装类
        System.out.println("最小值"+Long.MIN_VALUE);//Long整形的包装类
    }
}

3.short(短整型2个字节)

public class TestDeme{
    public class void main(String[] arge){
        short a=19System.out.println("最大值"+Short.MAX_VALUE);//Short整形的包装类
        System.out.println("最小值"+Short.MIN_VALUE);//Short整形的包装类 
}

4.byte(1字节)

public class TestDeme{
    public class void main(String[] arge){
        byte a=19byte b=(byte)(a+1);//a+1时要类型转换,因为1为整形(4个字节)a+1时会整型提升
            System.out.println("最大值"+Byte.MAX_VALUE);//Byte整形的包装类
        System.out.println("最小值"+Byte.MIN_VALUE);//Byte整形的包装类 
        
}
浮点型数据详细介绍

1.float(4个字节)

public class Deme{
    public class void main(String[] arge){
        float a=12.5F;//因为浮点型的数据默认double类型的因double的精度更高所以定义float类型的数据必须加F标识一下
    }
}

2.double(8个字节)

public class Deme{
    public class void main(String[] arge){
        double a=1.1;
    }
}
字符型(char 2个字节)
//char 不能表示负数
public class Deme{
    public class void main(String[] arge){
        char ch='a';
        char ch1='高';//一个汉字2个字节
        char ch3=97;
        
    }
}
boolean(布尔类型)

true(真)或false(假)

数据类型包装类

char ->character;
int ->Lnteng
 //只有上面两个特殊其他类型的都是首字母大写
4. 类型转换(整形默认int 浮点型默认double)
public class Deme{
    public class void main(String[] arge){
     int a = 10;
	long b = 100L;
        //b=a;//隐式类型转换
	b = a; // 可以通过编译
	a = b; // 编译失败大字节给小字节要强转
        a=(int)b;//强制类型转换
    }
}
public class Deme{
    public class void main(String[] arge){
       byte a=1;
        byte b=2;
        byte c=a+b;//编译错误
        byte d=(byte)(a+b);//应强制类型转换,因为所有小于4个字节的数据进行运算时,都会提升为4字节然后参与运算
    }
}
public class Deme{
    public class void main(String[] arge){
        int a=10;
        long b=11L;
        int c=(int)(a+b);//大于4个字节的会发生类型提升把低字节转化为高字节类型,所以我们要强转一下;
    }
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/724681.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-26
下一篇 2022-04-26

发表评论

登录后才能评论

评论列表(0条)

保存