【那一年我被c语言背叛,转生重来的我毅然选择了Java】第一章:JAVA功法的简单认知(数据类型与变量)


在这里插入图片描述

一. 字面常量

1.什么是字面常量

字面常量就是在程序运行期间不变的量.
比如:一周有七天,一年有365天.

2.字面常量的分类

在这里插入图片描述

整形常量:程序中直接写的数字。比如:1,10,125
浮点数常量:程序中直接写的带小数点的数字。比如:0.2,3.14
字符常量:单引号’ ‘括起来的字符。比如’a’,‘2’
字符串常量:双引号" “括起来的一串字符或数字。比如” 123",“abc”
(注意单引号和双引号要切换英文)
布尔常量:只有true和false
空常量:null

二. 数据类型

数据类型可以分为两类:基本数据类型引用数据类型

1.基本数据类型

在这里插入图片描述
注意:
不论是在16位系统还是32位系统,int都占用4个字节,long都占8个字节
整形和浮点型都是带有符号的
整型默认为int型,浮点型默认为double

什么是字节?
字节是计算机中表示空间大小的基本单位.
计算机使用二进制表示数据. 我们认为 8 个二进制位(bit) 为一个字节(Byte).
我们平时的计算机为 8GB 内存, 意思是 8G 个字节.
其中 1KB = 1024 Byte, 1MB = 1024 KB, 1GB = 1024 MB.
所以 8GB 相当于 80 多亿个字节.

2.引用数据类型

数组,接口,string,类等等。

三. 变量

与常量相较,程序执行期间会改变的量称为常量。比如人的身高,体重,全球的人口基数等等。

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

public class Test {
    public static void main(String[] args) {
        int a = 5;//定义了一个整型int类型的变量a,a的值是5
        double b=3.14;
        char c='c';
        boolean d= true;//布尔类型变量只有true和flase
        System.out.println("a="+a);
        System.out.println("b="+b);
        System.out.println("c="+c);
        System.out.println("d="+d);
         a=100;//变量可以重新赋值,此时a的值就为100
        System.out.println("a="+a);
    }
}

在这里插入图片描述

四.类型提升

不同类型的数据之间相互运算时,数据类型小的会被提升到数据类型大的

1. int与long之间:int会被提升为long

在这里插入图片描述

这里c=a+b=>long+int=>long+long返回类型是int会导致数据丢失
而d=a+b=>long+int=>long+long返回类型是long

2. byte与byte的运算

在这里插入图片描述
有同学要问了:为什么同为byte类型且返回值类型也相同会产生报错呢?
再让我们看个例子:
在这里插入图片描述
这里short类型也一样发生报错,所以是为什么呢?让我们看个结论

结论:由于计算机的 CPU 通常是按照 4 个字节为单位从内存中读写数据. 为了硬件上实现方便, 诸如 byte 和 short这种低于 4 个字节的类型, 会先提升成 int, 再参与计算

原来啊,byte 和 byte 都是相同类型, 但是出现编译报错. 原因是, 虽然 a 和 b 都是 byte, 但是计算 a + b 会先将 a和 b 都提升成 int, 再进行计算, 得到的结果也是 int, 这是赋给 c, 就会出现上述错误,short类型同理。
我们可以这样写:

byte a = 10;
byte b = 20; 
byte c = (byte)(a + b); 
//a和b先提升为int类型相加后再强转为byte类型,这样和返回类型相同
System.out.println(c);

五.字符串类型

1.字符串的简单使用

public class Test {
    public static void main(String[] args) {
        String s1 = "hello";
        String s2 = "world";
        System.out.println(s1);
        System.out.println(s2);
        System.out.println(s1 + s2); // s1+s2表示:将s1和s2进行拼接 }
    }
}

在这里插入图片描述

2.string和int互相转换

int 转成 String

int num = 10; 
// 方法1
String str1 = num + ""; 
// 方法2 
String str2 = String.valueOf(num);

String 转成 int

String str = "100"; 
int num = Integer.parseInt(str);
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值