一,常量
常量的定义:
常量表示不能改变的数值。
常量的分类:
1,整数常量
2,小数常量
3,布尔型(Boolean)常量,值有两个:true,false。
4,字符常量,
定义:将一个(只能是一个)数字、字母、符号用单引号(‘’)标识
5,字符串常量,
定义:将一个或多个字符用双引号(“”)标识
6,null常量,它只有一个数值:null。
二,在计算机中,整数的四种表现形式
二进制:
用0和1表示的计算机能识别的语言,
正数最高位是0,负数最高位是1.
八进制:
用0,1,2,3,4,5,6,7八个数字表示,用0开头表示,
十进制:
用0,1,2,3,4,5,6,7,8,9十个数字表示,一般数字默认为十进制的
十六进制:
用0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F十六个数字表示,以0x开头
三,各进制之间的转换
二进制转换成十进制:
是一个乘以2然后相加的过程,从二进制的地位入手,例如:二进制数1011转换成十进制
1*2(0)+1*2(1)+0*2(2)+1*2(3)=11
简单算法:由低到高,1,2,4,8,16,32,64,123……,1位相加,0位不加
十进制转换成二进制:
是一个除以2并获取余数的过程,然后把余数从后往前(从下往上)写下,即为二进制的数值
十进制转换成八或十六进制:
先二后八, 或 先二后十六
**快速的进制转换法(8421码)**
* 8421码是中国大陆的叫法,8421码是BCD代码中最常用的一种。在这种编码方式中每一位二值代码的1都是代表一个固定数值,把每一位的1代表的十进制数加起来,得到的结果就是它所代表的十进制数码。
* B:通过8421码的方式进行二进制和十进制的相互转换
* C:二进制到八进制的简易方式
* D:二进制到十六进制的简易方式
四,变量
定义:在程序执行的过程中,在某个范围内其值可以发生改变的量。
定义格式:数据类型 变量名 = 变量值。
注意:变量值不可超过其数据类型的赋值范围。
好处:可以重复作用
五.基本数据类型
Byte(字节型):取值范围 -2^7——2^7-1 即-128——127。(一个字节,八个二进制位)
Short(短整型):取值范围 -2^15——2^15-1 (两个字节,16个二进制位)
Int(整形):取值范围-2^32——2^32-1 (四个字节,32个二进制位)
Long(长整形):取值范围-2^64——2^64-1 (八个字节,64个二进制位)
Char(字符型):任何字符都占两个字节。 (0到65535)
整数默认为int型,小数默认为double型。所以:
Long和float需分别用L,f 标识(例如: long x=23434L; float y= 3.32f )
boolean(布尔型):true、false
boolean理论上是占八分之一个字节,因为一个开关就可以决定是true和false了,但是java中boolean类型没有明确指定他的大小
注意:
Java语言中的字符char可以存储一个中文汉字。因为Java语言采用的是Unicode编码。Unicode编码中的每个字符占用两个字节。中文也是占的两个字节
六,自动类型提升
1,所有的byte型、short型和char的值将被提升到int型
byte b = 3;
int x = 4;
x = x + b;//b会自动提升为int类型进行运算。
强制类型转换
byte b = 3;
b = b+ 4;//报错
b = (byte)(b+4);//强制类型转换,强制将b+4的结果转换为byte类型,再赋值给b。
七,赋值运算符
=(等号):把有边赋给左边
+=(加等):把左边和右边的和赋给左边 (强转)
Short s = 4 ;
s=s+5; //编译错误,二两的碗不能放四两的米
s+=5 ; //成功,因为“+=”有强转功能,s+=5 相当于 s=(short) (s+5)
八.算术运算符++和–的用法
自减(--):将变量的值减1,分前缀式(如--i)和后缀式(如i--)。前缀式是先减1再使用;后缀式是先使用再减1。自增(++):将变量的值加1,分前缀式(如++i)和后缀式(如i++)。前缀式是先加1再使用;后缀式是先使用再加1。
class demo01
{
public static void main(String[] args)
{
int a = 10;
int b = 10;
a = a--;
b = --b;
System.out.println("a="+a);
System.out.println("b="+b);
}
}
输出:---------- java ----------
a=10
b=11
class demo02
{
public static void main(String[] args)
{
int i = 5;
int j = 4;
i = i++;
j = ++j;
System.out.println("i="+i);
System.out.println("j="+j);
}
}
输出:---------- java ----------
i=5
j=5
练习:
int x = 4;
int y = (x++)+(++x)+(x*10);
System.out.println(“x=”+x);
System.out.println(“y=”+y);
输出:x=6 y=70
九、字符和字符串参与运算
字符参与运算,实际上是字符对应的ASCII码进行运算。
字符串运算实际就是字符串的连接操作,但要严格注意运算顺序。
public static void main(String[] args) {
System.out.println('a');
System.out.println('a' + 1);
System.out.println("Hello World" + 'a' + 1);
System.out.println('a' + 1 + "Hello World");
System.out.println("5+5=" + 5 + 5);
System.out.println(5 + 5 + "=5+5");
}
a //直接输出一个字符‘0’即可
98 // '0'的ASCII码值48与1进行加法运算,结果为49
HelloWorlda1 //从左到右运算,先进行"HelloWorld"和'a'的连接操作,再和1连接操作
98HelloWorld //从左到右运算,先进行'a'和1的加法操作,再和"HelloWorld"进行连接操作
5+5=55 //从左到右依次进行连接操作
10=5+5 //从左到右运算,先进行5和5的加法操作,再和"=5+5"进行连接操作