Java学习第二天
1、变量
存储数据时,在当前运行程序分配的内存中分配一个未利用的空间,
存储我们希望的数据
声明一个变量 类型 变量名;
int bottom;
int:整型
bottom:变量名,开辟空间的代名词
赋值 变量名 = 值(可以是表达式);
bottom = 6;
使用
System.out.println(bottom);
注意:
变量不能重复定义
要先声明才能赋值,赋值后才能使用
变量:值可以变化,后面赋的值覆盖前面的值
常量:1, 10,字面值
标识符:自己定义的名字,包括类名,变量名,方法名
标识符命名规则:
1.见名之意,用单词或者其缩写来表示
2.组成:第一个字符,可以是字母,_,$
其他字符,可以是字母,_,$,数字
3.不能使用关键字(系统预留的有特殊含义的单词)
4.变量或者方法:驼峰命名法,从第二个单词开始,每个单词首字母大写
类:每个单词首字母都大写
注意:java区分大小写的
2、数据类型
基本类型(原生类型):8种
整型
byte,字节型,1字节,-128~127
short,短整型,2字节,-2^15~2^15-1
int(最常用),整型,4字节,20亿多,1,2:int类型
long,长整型,8字节, 120L:long类型 加L或者l
char,字符型,2字节,存储一个字符对应的码值
char使用的是unicode16编码
'a':字符常量,用单引号括起来
转义字符:\字符
'\n':换行
'\t':制表符
十六进制表示法八进制表示法,自己去了解
浮点型
float,单精度浮点型,4字节,精确度:6~7位
1.1F或1.1f:float类型常量
double(最常用),双精度浮点型,8字节,精确度:15位,
1.1,1.1e2:double类型常量
aeb:科学计数法表示形式,b只能是整型,a*10的b次方
布尔型:
boolean, true,false, 1字节
条件,循环中,表达式结果就是布尔型
true:成立
false:不成立
引用类型(后期学,数组,对象)
位:0和1
字节:8位, 2的八次方
整型:编程时习惯使用10进制,常量还可以使用八进制或十六进制
存储时以二进制存储
15:十进制
015:八进制,
0X15:十六进制, 10~15:a~f
0xa123
进制转换:(了解)
10进制和2进制的相互转换
十进制-->二进制
100,利用短除法,不断除以2,得余数,知道商为0,
把所有的余数倒过来得到的序列就是对应的二进制
1100100
二进制-->十进制
1100100
每一位乘以2的(位数-1)次方
2^6+2^5+2^2=100
存储到byte类型变量中,共计8位,
左边第一位是符号位
0:正数或0
1:负数
正整数直接以原码存储
100=》01100100
6=》 00000110
负整数以补码存储
原码-->补码:除了符号位按位取反,再+1
-8:10001000 原码
11110111 反码
11111000 补码
补码-->原码:除了符号位按位取反,再+1
11111000
10000111
10001000
非负数:
00000000 0
01111111 127
负数补码:
10000000 -128
11111111 -1
3.2:11.00110011...
3、类型转换:(重点)
针对除了布尔类型以外的
布尔类型无法与其他数值类型转换
byte,short,char<int<long<float<double
自动转换
1.小的可以直接赋给大的
2.大的不可以直接赋给小的
特殊:int常量可以直接赋给byte,short,char,只要不超过表示范围即可
3.byte,short,char在参与运算时,会自动转换成int来运算
4.在一个表达式中,结果类型取所有类型中最大的
int a = 3;
float f = 1.1F;
double d = 2;
a+f+d double
byte b1 = 1;
byte b2 = 2;
b1+b2 int
byte b3 = b1+b2;
强制转换
把大的赋给小的 类型1 变量1 = (类型1)变量2;
long l1 = 3;
int num = (int)l1;
练习:
利用键盘输入给两个变量赋值,完成两个变量数值的交换
a
b
int temp = a;
a=b;
b=temp;