2021-07-23(方法的传参,多种日期表示,高精度大数据, Math方法(随机数),运算符,分支语句,循环语句,简单递归)

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);
    }

}

运行结果:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值