第一课 变量和数据类型
1数据类型初级~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
一 数据类型初级
- java 定义了基本的数据类型、引用数据类型和自定义类型。
二 计算机空间
1 寄存器
- JAVA不能直接控制
2 栈空间
- 存储效率高
- 先进后出的方式管理
3 堆控件
- 存储数据的效率低
- 位置随机分配
- 可以存储大数据 (数组,字符串,对象,集合)
2变量的定义和使用~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
一 什么是变量
- 变量是可以改变的量
- 常量是不可改变的量
- 字面两数据JAVA中变量与常量中存放的具体数据
二 变量的使用
- 计算机将变量名与内存中地址一一对应,我们只需要操作变量名就可以修改内存中的可变数据。。
3变量的命名、定义和初始化~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
一 变量的命名
- 首字母是英文、$ 或下划线。。字母、数字、下划线组成
- 变量命名要见名知意
- java建议不使用中文
- 变量名首字母建议不使用大写字母
- 驼峰命名法
- 变量名不使用JAVA关键字
二变量的定义
- 定义变量 类型 变量名1,变量名n; byte score;
三 变量的初始化
- age = 26; sex = ‘男'
4用变量简化计算~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5用变量保存多种类型~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
不同的数据类型保存不同的数据
char sex = “男”;
6变量的作用域~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
同一作用域中不能有重复的变量名
7基本数据类型的包装类~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 JAVA包装类
- 包装类中封装了一些很实用的方法和常量
- 包装类在集合中用来定义集合元素的类型
3 包装类常用的方法和常量
8二进制~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 在计算机中,数值一律用二进制的补码来存储
- 二进制的最高是符号未,0标识正,1表示负数
- 正数的值是其本身,负数的值是最高位不变,其它逐位取反,再加1
- 两数相加,若最高位有进位,则别舍弃。
- 计算机中正数和负数的关系是取反加1
- 补码运算是封闭的:运算结果保留在补码范围之内,超出范围就溢出
9整型~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1java有四种整型类型 byte short int long
- JAVA默认是int类型,
- 整数的字面量是int类型
- 若字面量超过int类型,则字面量是long类型,后面要用L或l标识该值为long类型。
- java底层byte和short按照32位(int类型)计算
10浮点类型~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 浮点类型
- 浮点类型用于表示小数的数据类型
- 浮点类型的原理是二进制的科学计数法
- java的浮点类型有float和double两种
- java默认的浮点类型计算结果有doule类型字面两也是double类型。
若要给float类型变量赋值,则在字面量后面加F或f ,float a = 0.5f;
2 科学计数法
219345 = 2.19345*(10^5)
3 float类型
- float类型工32位,1位为符号位。指数8位。尾数23位
- float的精度是23位,超过的被截取
- float存储的数据范围大于int类型。但是精度要比int小,int的精度位31位。。
4 double类型
- double类型,一位是符号位。11位是指数,52位是尾数
- double的范围远远大于long,但是精度比long小 long位63位
5 浮点运算的特点
- 安整型运算,存在误差
11字符类型 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 概述
- char 类型的字面量可以是字母、字符或一个汉字,并且有一个单引号包括
- java 顶层使用一个16位的整型数来处理字符类型。该数值是一个字符的unicode编码值
2 unicode编码
- unicode编码是全球范围内的编码方法
- unicode编码的英文部分与ascll编码兼容,同时英文字符和数字是连续编码
- java 在处理char类型的数据时,在底层是按unicode码来处理的
- 编码是什么, 用一个数表示一个字符
12转意字符~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 转意符”\”,同过转意符。可以表示一些特殊的字符
13 布尔类型~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- boolean有两种 true ,false两种
14小类型向大类型转换~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 概述
- 小类型向大类型转换会自动完成
- 转换规则,符号会自动扩展,
- 自动转换类型 byte -short - init - long - float double
- int 和char 类型的数据在某种情况下可以相互转换
- 证书类型到浮点转换会损失精度
15大类型转换成小类型~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
强制类型转换
- 最高位变成符号位
- 大小超出小类型范围,高位丢失
16 int与char类型转换~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 概述
- char的底层安int类型处理
2 int类型与char类型在赋值时自动转换
3 字符类型的数据可进行数值计算
- char = c + 1;
17 args 数组获取数据~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 概述
- 案例