位运算补充
左移:就是乘以2的次幂运算,左移几位就是乘以2的几次幂。
例如
3<<2
00000000 00000000 00000000 00000011左移两位变为00000000 00000000 00000000 00001100
结果变为12
右移:就是除以2的次幂运算,右移几位就是除以2的几次幂。
注意:原最高位(符号位)是什么空位就补什么。
无符号右移:无论最高位是什么,最高位都补零
函数(方法)自定义
public class FunctionDome
{
public static void main(String[] args)
{
draw(4,5);//调用自定义方法
}
/*
如何自定义一个功能呢?
1.它应该是一个封闭的区间,就是在大括号里面;
2.它需要一个名称;
3.需要有参与运算的数据;
4.需要定义该功能的结束类型。
*/
static void draw(int row,int col)
{
for(int i=0; i<row; i++)
{
for(int j=0; j<col; j++)
{
System.out.print("*");
}
System.out.println();
}
}
}
/*
修饰符 返回值类型 函数名(参数类型 变量名1,参数类型 变量名1,……)
{
执行语句;
return 返回值;
}
public static即为修饰符(非固定格式),void是一种返回值类型
注意:return关键字用于结束该功能,并将后面的结果返回给调用者;
所有的自定义方法必须要有return!!!
void表示没有返回值的情况,return可以省略;
*/
1. 误区
一般方法不要超过20行,大功能分成小功能写。
2. 函数的重载
一个类中出现同名的函数,只要他们的参数个数或者参数的类型不同,就称之为函数的重载(overload)
和返回值的类型无关。
public class OverloadDemo
{
public static void main(String[] args)
{
/*int sum=add(2,5);
double sum1=add(0.5,0.5);
System.out.println(sum+"\t"+sum1);*/
//pritncfb(5);
//System.out.println();
printcfb();
}
//两个数求和
static int add(int a,int b)
{
return a+b;
}
//三个数求和
static int add(int a,int b,int c)
{
return a+b+c;
}
//两个小数求和
static double add(double a,double b)
{
return a+b;
}
public static void printcfb()
{
printcfb(9);//类似的功能可以简写
}
//对于不需要打印完整乘法表的情况,需要用到变量
public static void printcfb(int num)
{
for(int i=1; i<=num; i++)
{
for(int j=1; j<=i; j++)
{
System.out.print(j+"*"+i+"="+(i*j)+"\t");
}
System.out.println();
}
}
}