1.常量
常量:在程序执行过程当中,其值不发生变化的量;
常量:在JAVA中分为字面值常量和自定义常量;
字面值常量:
整数常量:100 200 3 6
小数常量:0.9
布尔常量 :true false
字符常量 :被单引号括起来的单个字符,只能是单个字符's' 'f'
字符串常量:被双引号所引起来的单个或多个字符 "a" "aafdfds"
空常量:null
2.Java语言基础 进制
字节计算机中数据的最小单位
1byte=8 bit
1kb=1024 byte
1G=1024 M
由这些1 0 组成的数据称为2进制数据
二进制:0 1
八进制:0 - 7
十进制:0 - 9
十六进制:0-9 A-F
如何区分
二进制前缀:0b 0b1000
八进制: 0
十六进制:0X
十进制默认就是十进制
十进制到任意进制的转换
除基取余 直到商为0 余数反转
原码 反码 补码
计算机底层采用的是 补码 运算的
正数的原码 反码 补码是一样的
负数的反码为原码符号位不变 其余取反
负数的补码为原码符号位不变 其余取反后加一
变量
变量:在程序执行过程中,其值会发生改变的量
变量其实就是在内存中开辟了一小块空间可以存储数据
对于变量,必须约束变量的范围,以及他的取值类型。
我们可以通过数据类型来约束
JAVA中的数据类型:整数型,浮点型,布尔型,字符型
整数型:
byte:占两个字节:128~——127
short:两个字节:
int:4个字节
long:8个字节
浮点型:float 4个字节
double 8个字节
布尔类型:boolean 1个字节 两个值 true false
字符型: char 2个字节
定义变量的格式:数据类型 变量名=值;
class Variable2
{
public static void main(String[] args)
{
System.out.println("Hello World!");
}
}
数据类型的转换
举例:
class Variable2
{
public static void main(String[] args)
{
byte a=10;
byte b=20;
byte r=a+b;
System.out.println(r);
}
}
}---------- 编译 ----------
Noname2.java:8: 错误: 不兼容的类型: 从int转换到byte可能会有损失
byte r=a+b;
^
1 个错误
输出完成 (耗时 2 秒) - 正常终止
JAVA中的数据类型隐式转换(数据类型的自动提升)易错
当 byte short char 在参与运算时 会自动提升为int类型
如果还有long float double参与运算,则会相应的提升为 long float double类型。[double>float>long]
byte short char 他们三个不参与转换
boolean 类型不参与数学运算
强制类型转换
定义:强制类型转换,将数据类型强制转换为目标类型;
原理就是把多余的字节丢弃掉,保留目标数据类型的字节,但也有可能发生精度损失的问题;
常量优化机制
byte f=10+20;
不会报错!
常量优化机制:当多个常量参与运算时,会先计算他们的结果在不在数据类型的范围内,如果在就不会报错,如果不在就报错;
整数默认是int类型,小默认是double类型;
class Variable2
{
public static void main(String[] args)
{
byte a=10;
byte b=20;
//byte c=a+20;
byte f=10+20;
//常量优化机制:当多个常量参与运算时,会先计算他们的结果在不在数据类型的范围内,如果在就不会报错,如果不在就报错
//强制类型转换,将数据类型强制转换为目标类型;
//原理就是把多余的字节丢弃掉,保留目标数据类型的字节,但也有可能发生精度损失的问题;
System.out.println(f);
}
}
字符串参与运算时会自动转换为ASC码表中的数值
当byte short char 参与运算时会自动提升为int类型;
空格也算字符
class Char
{
public static void main(String[] args)
{
//字符参与运算时,会查找该字符在ASC码表中的十进制值;
char ch='a';
char sh=' ';//空格也是字符
int r=ch+1;
//a 97;
//A 65;
//0 48;
System.out.println(r);
}
}
“+”的作用
作用一:数学中的运算符
作用二:在代码中还有拼接符的作用;当加号的运算两端,只要任意一端是一个字符串,就会起拼接符的作用,将两端拼接起来,形成一个新的字符串;
注意输出语句的运算顺序;
运算符
运算符:对常量或者变量进行操作的符号;
运算符:数学运算符 比较运算符 逻辑运算符 位运算符 三元运算符;
数学运算符:+ - * / —— ++ %
赋值运算符:= += -= /= %=
+= 可以自动强制类型转换;
比较运算符(关系运算符):其运算结果为布尔类型 0/1
== != < > <= >= instance of()