字面量(Literal)
int a=10; 10就是字面量
1.整形字面量
100;(int) 可以被byte(存储范围) short(存储范围) long
100L ,100l; (long) 不能够从long到int short 无论是否存的下
进制:
十进制 100 100L
十六进制 0xFF 0xFFL
二进制 0b101 0b101L
2.浮点型的字面量
1.0 ; (double)
1.0F 1.0f (float)
double a=1.0F 没问题
float b=1.0 有问题,不允许
科学表示法:
double a=1E3;
3.boolean
true
false
4.char及String 类型
字符 字符串
char c='中'; 用单引号
char c='\u4e2d' 转义序列(Unicode)
String s="中国"
char的转义字符:\n \t \b \\ \' \"
String的加法运算
里氏转换原则:大范围的变量存储小范围的变量这是没有问题的,小范围的变量存储大范围的变量,这是会出现问题的,除了特列:int到byte,short 并且是需要在范围允许内
运算符:
赋值运算符 =
算术运算符 + - * / %
/向下取整除 %取余数
!逻辑取反只能用于boolean类型 int a=10; !a;// C语言合法 JAVA不合法
比较运算符 == != > <...
条件运算符 && || ?:
条件(只允许Boolean类型)?结果1:结果2
如果条件为真,表达式值为结果1,否则为结果2
在JAVA中,但凡需要逻辑运算的时候,都必须为Boolean类型
位运算符 ~ & | ^
位移运算符 << >> >>>
>>是带符号右移 >>>是不带符号右移
byte a=0b1000_1100
a>>2=0b1110_0011
a>>>2=0b0010_0011
instanceof类型判断运算符
对象 instanceof类型(类)==true | false
结构:
1.顺序结构
2.分支结构
if(逻辑表达式 备注:和C语言不通,一定是逻辑结果){条件为真时执行}
else{条件为假时执行}
switch(数字|String|enum)
{
case 1: ;break;
....
default:
}
3.循环结构
while(条件){}
for(初始化;条件;后续动作){}
do{}while(条件)
在JAVA中多了一种for的形式:foreach
for(元素类型 变量名:容量数组){} -> for(int i=0;i<数组长度;i++){元素类型 变量名=数组[i];}
循环控制:
continue和break都支持一种带标签的