二、基本数据类型
1.标识符与关键字
凡是自己命名的变量就是标识符
①标识符可以由字母、数字、下划线_和美元符$组成,不能以数字打头。
②不能使Java关键字、保留字。(所有关键字为小写,goto,const不用但保留关键字)
③不能包含空格
!变量起名要有意义,但也不能太长,第一个字母,而后每个单词字母大写
2.Java变量的分类
局部变量:方法或语句块内部定义的变量。(方法参数也是局部变量)
成员变量:方法外部、类内部定义的变量
!注意:类外面(与类对应的大括号外面)不能有变量的声明
任何变量都需要先声明,再赋值才可以用!
程序都放在硬盘里,.exe,.class。先转载到内存中,操作系统找到main方法,执行的内存一般分成四部分。
3.数据类型划分
在java之中数据类型一共分为两大类:
- 基本数据类型
- 数值型:表示整数或小数
- 整型:byte、short、int、long ->默认值:0
- 浮点型:float、double ->默认值:0.0
- 字符型:char ->默认值:’\u0000’
- 布尔型:boolean ->默认值:false
- 数值型:表示整数或小数
- 引用数据类型:数组、类、接口 ->默认值:null
数据类型原则:
1. 整数就用int,小数就用double
2. long这种数据类型一般会描述日期时间、内存或文件大小
3. 如果需要进行编码转换或者进行二进制数据传输,使用byte (-128~127)
4. char一般在描述中文的时候使用
5. boolean在描述程序逻辑的时候使用
4.整型
还是最小值,因为所有的程序执行顺序都是由等号的右边到左边,上面那个程序右侧计算结果还是int型。
强制转换有两种方式:
一、long result=maxValue; 将int的数据变量赋值给long。
二、long result=(long)maxValue+1;
任何整数默认类型都是int,但是该数据已经超过了 int 可以保存的数据范围。那么现在就需要将这个数据明确的表示是一个long类型的。
eg: long a=2147483648L
5.浮点类型
任何浮点类型默认类型都是double,如果要使用float类型需要加F或f
eg:float f1=1.1F
System.out.println(1.1*1.1);//java的传统bug
输出结果为1.2100000000000002
6.字符型
Java字符采用Unicode编码,每个字符占两个字节,Java采用的是UTF-16(有两种UTF-8和UTF-16),因而可用十六进制编码形式表示。(ASCII码一般占一个字节,中文编码一般是GBK编码)Unicode是全球语言统一编码。
- 大写字母(A-Z):65~90
- 小写字母(a-z):97~122
- 字符数字(‘0’~’9’):48~57
7.布尔类型
只允许true或false,不可以0或非0的整数替代true和false(和C++不同)
8.基本数据类型转换
boolean类型不可以转换为其他的数据类型
整形,字符型,浮点型的数据在混合运算中互相转换,转换时遵循以下原则:
容量小的类型自动转换为容量大的数据类型;
byte,short,char->int->long->float->double
(byte,short,char之间不会相互转换,他们三者在计算时首先会转换为int型。)
容量大的数据类型转换为容量小的数据类型时,要加上强制转换符)