今日学习了Java中的语法基础:有常量,变量,进制,进制转换等知识.首先总结的是常量.
常量: 1.字符串常量
2.字符常量:用''括起来的内容,(不能为空.)
3.整数常量
4.小数常量
5.布尔常量
6.空常量:null(用法暂未学习)
进制的概述与相关知识:
1.常见进制表现形式:十进制;二进制(0b**);八进制(0x**);十六进制(0x**).
2.进制转换:其他进制转化为十进制;参考二进制转化为十进制类比.
十进制转化为其他进制;除积倒取余.
3.原码反码补码:
原码:将一个数字转化为二进制.
反码:正数反码是其本身,负数符号位不变,其余位取反.
补码:正数反码是其本身,负数为其反码+1.
变量: 1.书写格式 数据类型 + 变量名(即合法标识符) = 初始值;
2.数据类型 引用数据类型:即除了基本数据类型外的数据类型(如 String )
基本数据类型:整型 byte (1字节,-128-127);short(2字节);int(4字节);
long(8字节); 其中int为默认数据类型
浮点型:float(4字节,);double(8字节) 其中double为小数默认类型
字符型:char(2字节)
布尔型:boolean (理论上八分之一字节,实际上Java中未做明确规定)
不同数据类型之间的转化: 1.隐式转化:当较小的数据类型与较大的数据类型进行运算时,会自动转换为较大
的数据结构.
2.强制转化: 数据类型 变量名(合法标识符) = (数据类型)数值
3.注意:数据类型大小为 byte < char < short < int < long < float < double;
(当int左边的数据类型进行运算时,会先转化为int型再运算)
Java中有常量优化机制.如:
byte a = 1;
byte b = 2;
byte c = a + b;//会报错,因为编译时右端为两个变量,不能判断相加后会不会超过byte取值范围
//且byte运算时会转换为int型,两个int型相加为int型,赋给byte损失精度.
又 byte a = 1;
byte b = 2;
byte c = 1 + 2;//不会报错,因为Java有常量优化机制,编译时判断右侧相加结果不会超出byte取值范围
字符与字符串的运算: 字符串 任何数据类型与字符串相加都会得到新的字符串.
如 System.out.println(1 + 2 + "wq" + 1 + 2); 输出结果为3wq12.
字符 System.out.println('a'); //输出结果为:a
System.out.println('a' + 1); //输出结果为:98
运算符:
`` 1.++与--的用法
单独使用 如 :
int a = 1;
a++;
System.out.println(a);//输出结果为2.
赋值语句中:
int a = 1;
int b = a++;
System.out.println(a);//输出为:2 (因为a++先为b赋值再自加)
System.out.println(b); 1
int a = 1;
int b = ++a;
System.out.println(a);//输出为:2 (因为++a先自加再为b赋值)
System.out.println(b); 2
另外有一点需要注意:
如: short s = 1;
s = s + 1; //错误,原因是s与int型的1运算时转化为int型,相加也为int型,
//赋值给short型损失精度.
short s = 1
s++; //系统接受这句话话会做以下操作: s = (short)(s + 1);故正确
2.+=,-=,*=等的用法
a += 1;等同于 a = a + 1;
a *= 1;等同于 a = a * 1;
但是也有一点需要注意
如: short s = 1;
s = s + 1; //错误,原因是s与int型的1运算时转化为int型,相加也为int型,
//赋值给short型损失精度.
short s = 1
s += 1; //系统接受这句话话会做以下操作: s = (short)(s + 1);故正确
3.<=,<=,==,等所构成结果值为布尔型
如:System.out.println(3==4);//输出值为false;
常量: 1.字符串常量
2.字符常量:用''括起来的内容,(不能为空.)
3.整数常量
4.小数常量
5.布尔常量
6.空常量:null(用法暂未学习)
进制的概述与相关知识:
1.常见进制表现形式:十进制;二进制(0b**);八进制(0x**);十六进制(0x**).
2.进制转换:其他进制转化为十进制;参考二进制转化为十进制类比.
十进制转化为其他进制;除积倒取余.
3.原码反码补码:
原码:将一个数字转化为二进制.
反码:正数反码是其本身,负数符号位不变,其余位取反.
补码:正数反码是其本身,负数为其反码+1.
变量: 1.书写格式 数据类型 + 变量名(即合法标识符) = 初始值;
2.数据类型 引用数据类型:即除了基本数据类型外的数据类型(如 String )
基本数据类型:整型 byte (1字节,-128-127);short(2字节);int(4字节);
long(8字节); 其中int为默认数据类型
浮点型:float(4字节,);double(8字节) 其中double为小数默认类型
字符型:char(2字节)
布尔型:boolean (理论上八分之一字节,实际上Java中未做明确规定)
不同数据类型之间的转化: 1.隐式转化:当较小的数据类型与较大的数据类型进行运算时,会自动转换为较大
的数据结构.
2.强制转化: 数据类型 变量名(合法标识符) = (数据类型)数值
3.注意:数据类型大小为 byte < char < short < int < long < float < double;
(当int左边的数据类型进行运算时,会先转化为int型再运算)
Java中有常量优化机制.如:
byte a = 1;
byte b = 2;
byte c = a + b;//会报错,因为编译时右端为两个变量,不能判断相加后会不会超过byte取值范围
//且byte运算时会转换为int型,两个int型相加为int型,赋给byte损失精度.
又 byte a = 1;
byte b = 2;
byte c = 1 + 2;//不会报错,因为Java有常量优化机制,编译时判断右侧相加结果不会超出byte取值范围
字符与字符串的运算: 字符串 任何数据类型与字符串相加都会得到新的字符串.
如 System.out.println(1 + 2 + "wq" + 1 + 2); 输出结果为3wq12.
字符 System.out.println('a'); //输出结果为:a
System.out.println('a' + 1); //输出结果为:98
运算符:
`` 1.++与--的用法
单独使用 如 :
int a = 1;
a++;
System.out.println(a);//输出结果为2.
赋值语句中:
int a = 1;
int b = a++;
System.out.println(a);//输出为:2 (因为a++先为b赋值再自加)
System.out.println(b); 1
int a = 1;
int b = ++a;
System.out.println(a);//输出为:2 (因为++a先自加再为b赋值)
System.out.println(b); 2
另外有一点需要注意:
如: short s = 1;
s = s + 1; //错误,原因是s与int型的1运算时转化为int型,相加也为int型,
//赋值给short型损失精度.
short s = 1
s++; //系统接受这句话话会做以下操作: s = (short)(s + 1);故正确
2.+=,-=,*=等的用法
a += 1;等同于 a = a + 1;
a *= 1;等同于 a = a * 1;
但是也有一点需要注意
如: short s = 1;
s = s + 1; //错误,原因是s与int型的1运算时转化为int型,相加也为int型,
//赋值给short型损失精度.
short s = 1
s += 1; //系统接受这句话话会做以下操作: s = (short)(s + 1);故正确
3.<=,<=,==,等所构成结果值为布尔型
如:System.out.println(3==4);//输出值为false;