标签:二进制 基本 img 内存 字符 通过 首字母 enc 方便
使用变量是为了解决问题,解决内存中的数据读取比较麻烦这一问题,因为计算机读取内存中的数据时,是通过内存地址地址来读取,内存地址很难记住,16 进制的数据,随机分配。
变量就是给内存地址取了一个别名,并且这个别名是可以由开发者自定义的。
变量是一个概念,存储在内存中,方便存取内存中的数据,可以自定义变量名,就不用去记系统分配的16进制数据了。
是程序中存储数据的基本单元。
变量三要素:
1、数据类型
2、变量名
3、变量值
1、声明变量的数据类型和变量名。
计算机会根据数据类型在内存中开辟对应大小的内存空间,变量名的定义需要符合规范:
可以包含数字、字母、下划线、$,不能包含空格、运算符,不能用纯关键字命名,不能以数字开头,大小写可以混用、首字母应该小写(驼峰式命名法)userId、studentName。
int num1;
2、给内存空间赋值,该值就是变量值。
num1 = 100;
= 不是数学概念中的等号,它在这是一个赋值运算符,专门用来做赋值运算的,将等号右边值赋给等号左边。
int num1 = 100;
8 种基本数据类型:byte、short、int、long、double、float、boolean、char
整数、小数、字母、单词、汉字等,可以将这些数据分为两大类:
数值类型(整数、小数)
非数值类型(字母、单词、汉字)
1 KB= 1024 byte
?
1 MB = 1024 KB = 1024*1024 byte
?
1 GB = 1024 MB = 1024*1024*1024 byte
?
1 TB = 1024 GB = 1024*1024*1024*1024 byte
分类 | 基本数据类型 | 占用空间 | 描述 |
---|---|---|---|
数值类型 | byte | 1 个字节(8 位二进制数) | 数据的最小单位,一个字节是8位二进制数 |
数值类型 | short | 2 个字节(16位二进制数) | 短整型 |
数值类型 | int | 4 个字节(32位二进制数) | 整数的最常用类型 |
数值类型 | long | 8 个字节(64位二进制数) | 长整型 |
数值类型 | float | 4 个字节(16位二进制数) | 单精度浮点型数据 |
数值类型 | double | 8 个字节(32位二进制数) | 双精度浮点型数据 |
非数值类型 | boolean | 1/8 个字节(1位二进制数,1 bit)1byte = 8bit | 判断逻辑条件,成立/不成立,true/flase,1/0 |
非数值类型 | char | 2 个字节(16位二进制数) | 表示单个字符,可以是字母、汉字、数字、符号。 |
实际开发中常用的数据类型是 int、long、double、boolean。
案例:
用程序输出用户信息:编号 1、姓名张三、性别男、身高176、体重60.5,要求使用变量定义用户的各项基本信息,进行输出。
System.out.println("编号:"+id); 中的 + 不是数学中的加法,在这里它用作拼接运算符,作用是将 + 左边和右边的值进行拼接,会将 + 左边/右边的非字符串类型的数据自动转为字符串,再拼接。
+ 有两种含义:
1、数学中的加法运算,针对 + 两边都是数值类型。
2、拼接运算符,+ 左右两边只要有一边是字符串。
public class Test2 { public static void main(String[] args) { //编号、姓名、性别、身高、体重 int id = 1; String name = "张三"; char gender = ‘男‘; int height = 176; float weight = 60.5f; System.out.println("用户信息如下:"); System.out.println("编号:"+id); System.out.println("姓名:"+name); System.out.println("性别:"+gender); System.out.println("身高:"+height); System.out.println("体重:"+weight); } }
原则上,相同的数据类型才能完成赋值运算,但是如果遇到数据类型不匹配的情况,Java 也是可以完成赋值的,只不过在赋值之前,需要进行类型转换。
小空间可以自动转为大空间,大空间不能自动转为小空间。
低精度可以自动转为高精度,高精度不能自动转为低精度。
基本数据类型的自动转换。
当两个数据不能完成自动转换的时候,我们可以通过强制手段让其完成类型转换,这就是强制类型转换,语法
转换之后类型 变量名 = (转换之后类型) 变量名
float num3 = 10.999999f; int num4 = (int) num3;
如果是浮点型和整型进行强制类型转换的话,必然会造成精度损失。
boolean 类型的数据与数值类型的数据不能进行转换(无论是强制还是自动)
char 类型的数据与数值类型的数据可以进行强制类型转换。
ASCII,计算机中的每个字符都有对应的一个数值来表示它,这就是字符的 ASCII 码值。
标签:二进制 基本 img 内存 字符 通过 首字母 enc 方便
原文地址:https://www.cnblogs.com/program0612-study/p/14351092.html