基本数据类型:字符型,逻辑型
类别 | 说明 | 长度 | 默认值 |
char | 字符型 | 16位(2字节) | 、u0000 |
boolean | 逻辑型(布尔类型) |
| flase |
1.字符型 char
Charc='a';
要求:
使用单引号,只能有一个字符(可以是数字,字母,汉字,符号或其他语言)
可以与ASCII码转换
每一个bit(字节)有0和1两种状态,一个byte可以组合出256种状态。用ASCII码来描述英文字符和8位二进制数对应的关系。ASCII一个定义了128个字符。只使用了1个字节的后7位,最前面的一位统一为0。
2.布尔类型
publicclassBooleanTest{
publicstaticvoidmain(String[]args){
booleanb=true;
booleanb1=false;
intx=10;
inty=5;
//boolean z=x<y;//false
booleanz=x>y;//true
System.out.println(z);
}
}
3.字符串
不是基本数据类型,是一种引用类型
使用string来声明
特殊转义字符
4.字面量和常量
字面量:表达的信息如字面所示,程序源码直接给出的一个值,诸如:整数,浮点数和字符串
常量:不可变的
字面量常量
定义的常量:使用final关键词来修饰,不能被重新赋值
5.编码风格
驼峰式编码风格
1.类名:首字母大写
一个单词组成,首字母大写,后面全部小写 Student Teacher
两个或两个以上单词组成的,每个单词首字母大写,其他小写 Teacher Name
2.变量名, 包名,方法名:
1个单词组成,全部小写 a b c nama student
两个或两个以上单词组成的,第一个单词全部小写,后面每个单词首字母大写studentName studentFirstName
3.常量:
一个单词组成,全部大写 NAME
两个或两个以上单词组成的,全部大写,中间建议使用下滑线分隔 USE_NAME_STUDENT_NAME
6.运算符
6.1算数运算符
加 + , 减 - , 乘 * , 除 / 求余(取模)% 。
任意数据类型和字符串使用 + 运算,+都表示连字符,得到的结果,都是String类型(字符串)
可以用括号()改变优先级。
6.2 自增自减
自增:自身+1
自减:自身-1
i++:整个表达式的结果是i,计算完成后,i自身+1
i--:整个表达式的结果是i,计算完成后,i自身-1
++i:先计算i自身+1,再将计算结果赋值给表达式
--i:先计算i自身-1,在将计算结果赋值给表达式
特殊情况:
6.3关系运算符
大于>
大于等于>=
小于<
小于等于<=
等于==
不等于!=
(单个= 表示赋值)
6.5 按位运算 (1相当于真 0相当于假)
将数字转化为二进制,按位运算,只能计算整数(字符型可以做转换),不能计算浮点数
按位与运算:使用&符号,两边同时为1,才为1,不然为0
Public class Bitwise{
Public static voidmain(String[]args){
Int x=1;
Int y=2;
System.out.println(x&y);
}
}
按位或运算:使用|符号,两边有一边为1,则运算结果为1,否则为0
按位异或运算 :两边使用^符号,两边相同,则结果为0,两边不同,则结果为1
不通过第三方变量,将两个值做交换处理
publicclassBitwise{
publicstaticvoidmain(String[]args){
intx=8;//00001000
inty=5;//00000101
//不通过第三方变量,将两个值做交换处理
x=x^y;//x=13(00001101)
y=y^x;//y=8(00001000)
x=x^y;//x=5(00000101)
//System.out.println(x^y);//(00001101)13
System.out.println(x+"\t"+y);
}
}
按位取反运算:使用 ~ 符号,按位取反,如果是0,则取值为1,如果是1,则取值为0
Int x=1;//00000001
System.out.println(~x);
//(11111110)补码
//其反码为(11111101)
//原码为(10000010)(-2)
6.6 移位运算
有符号移位
左移位运算:使用<<符号表示,整体将二进制位向左侧移动,右侧补0,相当于乘2
右移位运算:使用>>符号表示,整体将二进制位向右侧移动,左侧补0,右移动移位,
相当于除2
如果移动的位数超过所能表述的长度,则采用求余的方式计算
例如:如果移动32位时,32%32=0
如果移动33位时,33%32=1
无符号移位
无符号右移位运算:使用>>>符号表示,不考虑正负数的问题
正数移动和右移相同
负数移动不考虑最左侧负号的问题,意义不大
6.7赋值运算
6.8三元运算符(条件运算符)
变量=表达式1 ? 表达式2 : 表达式3
不允许 表达式1 ? 表达式2 : 表达式3 单独存在必须赋值给一个变量或放在语句中
表达式1必须是x必须是Boolean类型的值,如果表达式1为true,则整个表达式取值为表达式2,否则为表达式3