&&和&的区别:
&&代表短路与,如果左边出现False则不继续进行判断
||和|的区别
||具有短路效果,左边为true,则不继续判断
位运算符&(和) |(或) ^(异或) ~(按位取反 有补码换回原码) 进行二进制操作
一个数对另外一个数位异或两次,该数不变
不需要中间变量来定义两个数的交换
(有弊端,可能会超出X的取值范围)
x = x+y
y = x-y
x = x-y
采用异或计算非常方便
x = x^y;
y = x^y;
x = x^y;
位移运算符
<< 左移 左边最高位丢弃,右边补齐0 (向左移动几位就是乘2的几次幂)
>> 右移 最高位为0 左边补齐0 最高为1 左边补1
>>>无符号右移 无论最高位0还是1,左边补0 (向右移动几位就是除2的几次幂)
例如最有效率算出2*8
三元运算符 获取三个整数中的最大值
(a>b?a:b)>c?((a>b?a:b)):c
键盘录入数据
import java.util.Scanner;
Scanner sc = new Scanner(System.in);
int x = sc.nextInt();
逻辑结构中
三元运算符可以转换为If 而If不一定可以转换为三元运算符 因为运算符输出的应该是结果而不是数据
最好都进行初始化赋值操作
Switch语句可以使用 long short String作为表达式吗
可以接受基本数据类型 byte short int char
(只有提升为int的才可以)
引用数据类型(jdk1.5)枚举 String字符串(jdk1.7)
注意:
1、case 后面只能是常量,不能是变量
2、default不建议胜率
3、break 不建议胜率
4、default不一定需要放置在最后 不放在最后要加Break防止出现穿透现象
Switch选择固定值而If一般判断区间范围
for(初始化表达式;条件表达式;循环后操作表达式){
循环体
}
其中条件判断语句无论是简单还是复杂结果,都是boolean类型
三位数m求
个位数m%10
十位数m/10%10
百位数m/10/10%10
----------------------------------------------------------------------
初始化语句
while(判断条件语句){
循环体语句
控制条件语句
}
-----------------------------------------------------------------------
do{
循环体
控制条件语句
}while(判断条件语句);
三中循环语句的区别:
1、do..while 先执行再判断
2、while 和for 先判断再执行,而在for语句执行后,变量会被释放,不能在使用,而while语句执行时,初始化变量仍然可以继续使用
*
**
***
****
*****
for(int i =1: i<=5;i++){
for(int j=1;j<=i;j++){
System.out.println("*");
}
System.out.println("");
}
------------------------------------------------------------------------
九九乘法表(转义字符 \t 水平制表符)
for(int i = 1;i<=9;i++){
for(int j = 1;j <=i;j++){
System.out.println(j+"*"+i = i*j+"\t");
}
}
-------------------------------------------------------------------------
break适用于switch和循环中
continue 只能适用于循环操作中,终止本次循环,继续下次循环
控制跳转语句 标号 写多层循环,跳出指定循环
a:for(;;){
break a;
}
return 结束方法
-------------------------------------------------------------------------
方法的概述:提高代码的复用性,完成特定功能的代码块
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型,参数名2){
方法体语句;
return 返回值类型;
}
参数分为实参和形参
注意事项:
1、有返回值单独调用不推荐使用方法,没有意义,最好用变量
2、参数之间用逗号隔开
3、方法调用无需再传递数据类型
4、return要返回值操作
方法调用:1、单独调用 2、输出调用 3、赋值调用
方法重载:方法相同、参数列表不同,与返回类型无关
1、参数个数不同
2、参数类型不同
3、参数顺序不同