3.1变量介绍
- 变量是程序的基本组成单位,三个基本要素:类型+名称+值;
- 不同的变量,类型不同,占用的空间不同;
- 变量必须先申明后使用;
- 变量在同一个作用域内不能重名
3.2+号的使用
- 当左右两边都是数值类型时,做加法运算;
- 当左右两边有一方为字符串,则做拼接
3.3数据类型
- 强类型语言:每一种数据都定义了明确的数据类型,并分配相应的空间。
- 主要分为基本数据类型和引用数据类型。
- 基本数据类型:数值型(byte[1],short[2],int[4],long[8],float[4],double[8])字符型(char[2])布尔型(boolean[1],不能用0或-1)
- 引用数据类型:类,接口,数组
- java的整型常量默认为int型,声明long型常量须后加l或L
- 浮点数=符号位+指数位+尾数位
- 默认double型,声明float型,需要加f或F
- 浮点数使用陷阱:2.7和8.1/3 8.1/3=2.69999997 当我们对运算结果是小数的进行判断要相等;应该是以两个数的差值的绝对值,在某个精度范围类判断
- ctrl+/注释快捷键
- java的API文档:是Java提供的编程接口文档
- char c4=97//字符类型可以直接存放一个数字,输出‘a',即unicode码对应的字符
- char类型是可以运算的
- char类型的本质:
- 存储:’a'->码值97->二进制->存储
- 读取:二进制->97->‘a'->显示
3.4编码
- ASCII编码表,一个字节表示,实际上一个字节可以表示256个字符,只用128个,最前面的一位规定为0;
- Unicode编码表,使用两个字节表示字符,字母和汉字统一占两个,兼容ASCII;
- utf-8:字母使用1个,汉字使用3个,大小可变的编码;
- gbk:字母1个,汉字2个
3.5数据类型转换
- 自动类型转换:精度小的转换为精度大的;
- 自动转换路线:
- char-int-long-float-double
- byte-short-int-long-float-double
- 有多种数据类型的数据混合运算时,先转成最高等级类型再计算;
- (byte,short)和char之间不会相互自动转换
- byte,short,char三者可以计算,转换为int
- boolean不参与转换
- 强制类型转换,容量大的数据转容量小的
- 强转符号就近原则,或者加小括号
- char类型可以保存int的常量值,不能保存变量值,需要强转
- 基本类型转String:+“”
- String类型转基本数据类型:Integer.parseInt("123")
- 字符串转字符,s.charAt(0)
char c1='男'; char c2='女'; //先转成int,然后计算 System.out.println(c1+c2);