今日笔记
1.进制由来及转换
位权展开法:
系数*基数的权次幂相加的结果
11010=1*10^5+1*10^4+0*10^3+1*10^2+0*10^1
快速转换法:8421码
数据在计算机里计算的时候,底层就是补码进行计算
一个字节占8个比特位
2.变量
2.1变量的概念
变量--->在程序运行过程中,其值发生改变的量
变量的三要素:
1)数据类型
2)变量名
3)初始值
定义变量的格式:
1)先定义,在赋初始值
数据类型 变量名; int a;
变量名 = 值;(这里的值就是初始化值,分开写了) a = 10;
2)定义的时候直接赋初始值
数据类型 变量名 = 初始值; int a = 10;
2.2定义变量的注意事项
注意事项:
1)Java语言是强类型语言:语法结构非常严谨!
同一个变量不能被多次定义!
错误:int a = 1;
int a = 2;
2)现阶段的定义都是局部变量---在方法中定义的变量
使用局部变量前必须赋予初始值,否侧出错!
错误:int a;
3)代码的规范书写,一行只写一行代码!(美观,易于读写)
class DataType2{
public static void main(String[] args){
//不能被多次定义
int a = 12;
//int a = 8;DataType2.java:16: 错误: 已在方法 main(String[])中定义了变量 a
//long a = 4;DataType2.java:17: 错误: 已在方法 main(String[])中定义了变量 a
System.out.println("a:"+a);
System.out.println("----------");
//必须赋予初始值
int b = 4;
//int c;DataType2.java:23: 错误: 可能尚未初始化变量c
System.out.println("b:"+b);
}
}
2.3 + 作用
+
---用作运算符号
---用作拼接符号
2.4变量的数据类型
变量的数据类型分为两大类:
基本数据类型--->四类八种
1)整数类型--->4种,默认int类型
byte:字节类型---占1个字节---范围:-128~+127
short:短整型---占2个字节
int(默认):整型---占4个字节
long:长整型---占8个字节---定义long的时候,在初始化值后加上L或者l,表明数据类型
2)浮点类型--->2种,默认double
float:单精度类型---占4个字节---定义float的时候,在初始值后加上F或者f,表明数据类型
3)字符类型
char---里面的内容是'字符'---占2个字节
4)布尔类型--->开发中,逻辑判断是true还是false
boolean---不参与运算,指标是结果true或者false---占1个字节
引用数据类型--->数组,接口,类(具体类/抽象类)
class DataType{
public static void main(String[] args){
//测试整型 int---输出15
int a = 10;
a = 15;
System.out.println("a:"+a);
System.out.println("----------");
//测试字符型 char---输出2
char b = '1';
b = '2';
System.out.println("b:"+b);
System.out.println("----------");
//测试字节类型 byte---25
byte c = 23;
c = 25;
System.out.println("c:"+c);
System.out.println("----------");
//测试短整型 short---8
short d = 4;
d = 8;
System.out.println("d:"+d);
System.out.println("----------");
//测试长整型 long---9
long e = 6;
e = 9;
System.out.println("e:"+e);
System.out.println("----------");
//测试单精度类型 float---4.6
float f = 1.5F;
f = 4.6F;
System.out.println("f:"+f);
System.out.println("----------");
//测试双精度类型 double---8.987
double g = 7.546D;
g = 8.987D;
System.out.println("g:"+g);
System.out.println("----------");
//测试布尔类型 boolean---true
boolean h = true;
h = false;
System.out.println("h:"+h);
}
}
2.5变量中的隐式转换
变量的运算注意
变量的数据类型一致,才能运算!
隐式类型提升
boolean不参与任何运算---不能转换
byte,short,char三者之间不会相互转换
byte,short,char一旦参与运算,会优先提升为
int > long > float > double
当运算类型中有byte,short,char三种类型时:
当没有其他运算类型,全部转换为int类型在运算
当有int时,转换为int
当有long时,转换为long
float,double同理
class DataType3{
public static void main(String[] args){
//定义两个变量
int a = 3 ;
byte b = 4 ;
//如果接收结果类型是int类型
int result = a + b ;
//=左边:目标int
//=右边: int类型的a和byte类型的b
//=右边:byte类型的b先提升为int类型的4 在和int类型的a的值相加
System.out.println("reuslt的结果是:"+result) ;
}
}