1、参数传递
值传递
引用传递
参数传递(实际参数给形式参数赋值的过程)
值传递(实际参数和形式参数值相同的两个不同变量)
引用传递(实际参数和形式参数指向同- -地址的两个变量)
2、时间相关
java.util.Date和java.sql.Date 第二种现在基本不用
Calendar
SimpleDateFomat时间格式
@Test
public void test01() {
Date d1 = new Date();
java.sql.Date d2 = new java.sql.Date(System.currentTimeMillis());
System.out.println(d1);// 当前的时间
System.out.println(d1.toLocaleString());
long t1 = d1.getTime();// 时间毫秒数
long t2 = d2.getTime();
System.out.println(t1 > t2);
}
@Test
public void Calendar01() {
Calendar cal = Calendar.getInstance();
long t1 = cal.getTimeInMillis();//
cal.set(1, 2, 1, 1, 1, 1);
cal.get(Calendar.MONTH);// 获取静态成员
System.out.println(cal.getTime());
System.out.println(cal.get(Calendar.MONTH));
System.out.println(cal.get(Calendar.DAY_OF_MONTH));
cal.add(Calendar.MONTH, +2);
System.out.println(cal.get(Calendar.MONTH));
}
@Test
public void SimpleDateFormate01() {
SimpleDateFormat s1 = new SimpleDateFormat("yyy-MMM-ddd HHH:mmm:sss");
}
2、BigDecimal
高精度大数据储存
运算时使用方法进行运算
@Test
public void BigDemical() {
BigDecimal b1 = new BigDecimal(1.1);
System.out.println(b1);
BigDecimal b2 = new BigDecimal("1.1");
System.out.println(b2);
b1.setScale(2);
System.out.println(b1);
}
3、数学方法
Math StrictMath
随机数
EX:随即一个浮点数,范围是【0.0,1.0】
double d=Math.random();
使用Random类来生成随机数:
Random random=new Random();
random.nextInt();//随机整型数据0-1
//更改方法内的参数,可以设置生成从0-n 的随机数
4、运算符
取余和取模是不同的,符号不同
+两边数字类型的时候是相加
String引用类型的时候+是拼接
位运算符:&按位与,|按位或,^按位异或,~按位取反(只能处理整数)
位移运算符
>> 右移除2
<< 左移乘2
位移运算要比算术运算快很多
2、流程控制语句
顺序结构
分支语句
输入整数时:
String s=cin.nextLine();
循环语句
@Test
public void test03() {
for(int i=1;i<7;i++) {
for(int n=1;n<3-Math.abs(4-i);n++)
System.out.print(" ");
for(int m=1;m<=2*Math.abs(4-i)+1;m++)
System.out.print("*");
System.out.println(" ");
}
}
5分支
switch语句
@Test
public void switch01() {
int t=1;
switch(t) {
case 1:
System.out.println(11);
break;
case 2:
System.out.println(22);
break;
default:
System.out.println(t);
}
}
2、循环
for循环
public void test03() {
for(int i=1;i<7;i++) {
for(int n=1;n<3-Math.abs(4-i);n++)
System.out.print(" ");
for(int m=1;m<=2*Math.abs(4-i)+1;m++)
System.out.print("*");
System.out.println(" ");
}
}
6、递归
递归就是一个程序或函数在其中定义或说明有之间或者间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个原问题相似的规模较小的问题来求解,递归策略只需要少量的程序就可以描述出解题过程所需要的多次重复计算,大大的减少了程序的代码量,递归的能力在于用有限的语句来定义对象的无限集合,一般来说,递归需要边界条件,递归前进段和递归返回段,当边界条件不满足时,递归前进,当边界条件满足时,递归返回。
例:
算阶乘
public class DiGui {
public static int getFactorial(int n) {
if (n >= 0) {
if (n == 0) {
System.out.println(n + "!=1");
return 1;
} else {
System.out.println(n);
int temp = n * getFactorial(n - 1);
System.out.println(n + "!=" + temp);
return temp;
}
}
return -1;
}
public static void main(String[] args) {
getFactorial(4);
}
}
运行结果: