java基本语法复习知识点大全
赋值运算符包括= 、+=、-=、*=、%=、/=等。
2、算术运算符
算数运算符用于对整型数或者浮点数进行运算,java语言中的算术运算符包括二元运算符和一元运算符。所谓的几元运算符即参加运算的操作数的个数。
1) 二元运算符
Java的二元运算符有+(加)、-(减)、*(乘)、/(除)、%(取余数)。
2) 一元运算符
Java的一元运算符有++(自加)、--(自减)
3、关系运算符
关系运算符用来比较两个值,返回布尔类型的值true或false。
等于 不等于 小于 小于等于 大于等于 大于
== != < <= >= >
4、条件运算符
条件运算符的作用是根据表达式的真假决定变量的值。
1> 格式:条件表达式 ? 表达式2 :表达式3
2> 功能:条件表达式为true,取“表达式2”值,为false,取“表达式3”的值
例: int a=0x10 , b=010 , max ;
max=a>b ? a : b ;
System.out.println(max) ; // 输出16
5、 逻辑运算符
运算符 结果
~ 按位非(NOT)(一元运算)
& 按位与(AND)
| 按位或(OR)
^ 按位异或(XOR)
>> 右移
>>> 右移,左边空出的位以0填充 ;无符号右移
<< 左移
&= 按位与赋值
|= 按位或赋值
^= 按位异或赋值
>>= 右移赋值
>>>= 右移赋值,左边空出的位以0填充 ;无符号左移
<<= 左移赋值
按位非(NOT)
按位非也叫做补,一元运算符NOT“~”是对其运算数的每一位取反。例如,数字42,它的二进制代码为: 00101010
经过按位非运算成为 11010101
六:流程控制语句
·分支语句
1.简单的if.....else语句
If(条件){
如果条件为真、、、、
}
Else{
如果条件为假、、、、、、
}
2、只有if的语句:
If(条件){
如果条件为真,执行。。。如果为假,不执行
}
3、switch语句是多分枝语句,基本语法:
Switch(expr){
Case value1:
Statements;
Break;
........
Case valueN:
Statements;
Break;
Default:
Statements;
Break;
}
注:
expr必须是与int类型兼容的类型,即为byte,short,char和int类型中的其中一种
Case valueN:中valueN也必须是int类型兼容的类型,并且必须是常量
各个case子句的valueN表达式的值不同
Switch语句中只能有一个default子句。
·循环语句
1.while语句
2.do......while语句(此处省略三百字)
3.for语句
基本格式:for(初始化;循环条件;迭代部分)
功能:
(1)第一次进入for 循环时,对循环控制变量赋初值;
(2) 根据判断条件检查是否要继续执行循环。为真执行循环体内语句块,为假则结束循环;
(3)执行完循环体内语句后,系统根据“循环控制变量增减方式”改变控制变量值,再回
(3) 到步骤(2)根据判断条件检查是否要继续执行循环。
4.流程跳转语句:break,continue和return语句用来控制流程的跳转
1)break:从switch语句,循环语句或标号标识的代码块中退出
2)continue:跳出本次循环,执行下次循环,或执行标号标识的循环体;
3)return:退出本方法,跳到上层调用方法。
4)Break语句和continue语句可以与标号联合使用。标号用来标识程序中的语句,标号的名字可以是任意的合法标识符。
带有标号的`循环体:
Loop:switch(expr){
}
}
七:字符串
字符串的几种用法:
拼接 直接用“+”把两个字符串拼接起来
例如:String firstName = “li”;
String secondName = “ming”;
String fullName = firstName+secondName;
检测字符串是否相等 检测两个字符串内容是否相等时使用“equals”;比较两个字符串的引用是否相等时用“==”
得到字符串的长度 字符串变量名.length();
String,StringBuffer,StringBuild区别
String 字符串常量
StringBuffer 字符串变量(线程安全)
StringBuilder 字符串变量(非线程安全)
简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常改变内容的字符串最好不要用 String ,因为每次生成对象都会对系统性能产生影响,特别当内存中无引用对象多了以后, JVM 的 GC 就会开始工作,那速度是一定会相当慢的。
而如果是使用 StringBuffer 类则结果就不一样了,每次结果都会对 StringBuffer 对象本身进行操作,而不是生成新的对象,再改变对象引用。所以在一般情况下我们推荐使用 StringBuffer ,特别是字符串对象经常改变的情况下。而在某些特别情况下, String 对象的字符串拼接其实是被 JVM 解释成了 StringBuffer 对象的拼接,所以这些时候 String 对象的速度并不会比 StringBuffer 对象慢,而特别是以下的字符串对象生成中, String 效率是远要比 StringBuffer 快的: