java基础---------变量使用与变量类型
一、重点知识
1.1类的首字母都要大写,不论几个单词,约定熟成
1.2两个整型数据相除结果还是整形数据,它会自动把小数点后面的数据去掉。
1.3(double)sum/arr.length;结果依然为整形后转换为浮点型
1.4(double)(sum/arr.length);结果依然为整形后转化为浮点型
1.5((double)sum)/arr.length;结果为正确的浮点型
1.6赋值==初始化
1.7局部变量中 int a , b , c = 7; 只有c被赋值,其他的都未赋值,直接输出会报错
1.8成员变量和局部变量定义问题
变量定义=声明加赋值
究竟是声明后就能使用,还是一定要赋值后才能使用 (见成员变量与局部变量分析)
1.9 java强类型语言 java的变量具有严格的数据类型区分
2.0 long后面最好加大写L,因为小写太像1 不加L超过int取值范围赋值时会报错
2.1浮点数采用科学记数法 2E3等价于2 * 1000 = 2000.0
2.2记得float 赋值要加F
2.3小数后加不加d都是double类型
2.4 double = 1000000000000000000;错误
double = 1000000000000000000.0;正确
因为整数默认int,也就一开始赋值是就要考虑有没有超过int范围
2.5 Arrays.toString() 只能输出基本类型的数组
2.6 java中的boolean 类型不能参与算术运算
2.7转义字符
将有特殊意义的字符,转为普通字符
还可以将一些普通字符,转为有特殊含义的作用
转义字符可以直接写在“中间“
\\以消除转义字符的作用
二、问题解决
1 关于char类型变量定义问题
char a = 'a'; a=a
char a = 65; a= A
char a = '6' a=6
char a = 6 a= @
总结char用单引号只能写一个字符,写啥都行,字母数字都可以 不用单引号直接写数字,则是ASCII表中对应的字符 而且不论数字是多少位
char c = '\u0041'; 通过十六进制赋值
char类型可以参加强制类型转换,也可以与其他六种类型进行运算
存字符本质还是在存数字,记住直接存字符一定要加单引号,否则只能通过数字转换
2强制类型转换
如果数据超出
类如 short a= 128;
byte k = a;
k=-128
理由只取八位,超出的都切去
编译器只关心语法操作,不关心具体数值所以short --->char也要强转
例子 short a = 65;
char b = (char)a;才正确,不强制类型转换会报错
3、数组的反转
//数组的反转
String temp;
for(int i = 0;i < arr1.length / 2;i++){
temp = arr1[i];
arr1[i] = arr1[arr1.length-i-1];//这个减一很重要,不写的话会报错空指针,因为i一开始为0
arr1[arr1.length-i-1] = temp;
}
三、课堂笔记整理
3.1、变量
A:定义变量的语法形式:
//1.先声明,再赋值
数据类型 变量名;
变量名 = 数值;
//2.声明和赋值写一起
数据类型 变量名 = 数值;
//3.多个变量统一声明,就是写在一起声明:同种类型
数据类型 变量名1,变量名2,变量名;
3.2变量的注意点:
1、变量必须先定义,才能使用
2、变量名不能冲突,同一个作用域内。
3、目前所学的变量:先初始化,再使用。
3.3、数据类型
Java中的数据类型:基本数据类型和引用数据类型。
Java语言是强类型语言:对数据类型的要求很严格。声明是什么类型的变量,就要存储什么类型的数值。
基本数据类型:4类8种
整数型
byte,字节,1个字节,8bit,-128~127
short,短整形,2个字节,16bit,-32768~32767
int,默认类型,4个字节,32bit,-2147483648~2147483647
long,长整形,8个字节,64bit,9223372036854775807L
在声明long类型的时候,数值后加L或l。建议L。
浮点型
就是生活中的小数
float类型:4个字节,32bit,定义变量的时候,数值后加f,或F
float f = 3.14f;
double类型:8个字节,64bit,默认类型
布尔类型
boolean类型:取值只有两个,true(对,真),false(错,假),
字符型
char,表示单个的字符,使用单引号引起来的,但本质上是个数值,因为对应的字符编码值。
Java语言采用的字符集:Unicode编码。
赋值方式一:通过''引起来的字符:'A'-->65
赋值方式二:通过编码值进行赋值:10进制的编码值,16进制的unicode编码。
转义字符:
转义字符:将字符进行转义-->语法上使用\
1、将有特殊作用的字符,转为普通的字符,不再起作用
\',\",\\
2、还可以将一些普通的字符,转为有特殊含义的作用
\n,\t
引用类型:String,用于表示一个字符序列。使用双引号引起来的都是字符串的内容
3.4、数据类型的转换
Java这门语言,虽然是强类型语言:要求数据类型一致。 但是实际上允许我们在一定程度上可以转换:
自动转换:
A:两种类型兼容
B:目标类型的取值范围 大于 源类型取值范围
强制转换:
A:两种类型兼容
B:目标类型的取值范围 小于 源类型的取值范围
需要加强制转换符的语法:说明要强制转为哪种类型
(要转换的类型)数值
取值范围:
byte-->short-->int-->long-->float-->double
char