
if 语句:单分支:if(条件判断){ //语句体} 双分支:if(条件判断){//分支1} else {//分支2}多分支:1. 双分支或多分支嵌套形成。2. 并列 if ... else ...多分支。
package com.situ;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
import java.util.Calendar;
import java.util.Date;
public class Test1 {
public static void main(String[] args) {
//int a= (int)(Math.random()*1000);
//RunYear(a);
//numm2(100);
//test3(0.1);
//test4(0);
//test5(100);
getPastDate(12345);
int a = 12345;
numbers(a);//某天之前日期
}
public static void numbers(int a) {//过去past天时间日期
int year =2021; int month=9; int day=26;
boolean isrun=false;
while(isrun&&a>=366 || !isrun&&a>=365) {//闰年减去366,常年减去365,
if (a % 4 == 0 && a % 100 != 0 || a % 400 == 0) {
isrun = true;
} else {
isrun = false;
}
if(isrun) {
a =a-366;
}else {
a =a-365;
}
year--;
}
System.out.println(a);
//月份的加减
//month=9 day=26
for( ;a31)
a-=31;
else if((i==4||i==6||i==9||i==11)&&a>30)
a-=30;
else if(i==2)
{
if(RunYear(year))
if(a>29)a-=29;
else
if(a>28)a-=28;
}
month--;
}
if(month==0)
{ month=12; year--;}
}
//day=day-a;
// int[][] monthnum = { {0,31,28,31,30,31,30,31,31,30,31,30,31}, {0,31,29,31,30,31,30,31,31,30,31,30,31}};
// 1-12月份天数
System.out.println(year+"-"+month+"-"+day);
}
int leap(int year)//判断闰年,是则返回1
{
if((year%4==0&&year%100!=0)||year%400==0)
return 1;
else
return 0;
}
public static boolean RunYear(int a) {//是否是闰年的判断
// a = (int)(Math.random()*1000);
// swap(a,b);
if(a%400==0||(a%4==0&&a%100!=0))
return true;
else
return false;
}
public static void numm2(int a) {//三位数中,十位数是5的数的总和
int max=0;
while(a<1000) {
if(a/10%10==5) {
max=max+a;
}
a++;
}
System.out.println(max);
}
public static void test3(double a) {//折叠纸到8848
int count=0;
while(a<8848000) {
a=2*a;
count++;
}
System.out.println(count);
}
public static void test4(int a) {//获取当前时间
LocalDate localDate = LocalDate.now();
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("YYYY-MM-dd");
String date = localDate.format(dateTimeFormatter);
System.out.println(date);
}
private static void getPastDate(int past) {//过去past天时间日期
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) - past);
Date today = calendar.getTime();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String result = format.format(today);
System.out.println(result);
}
public static void test5() {
}
}
比较基础的if判断分支
关于静态代理
定义一个程序员接口
public interface Programmer {
//程序员接口
void coding();
}
实现程序员功能函数,接口具体实现,程序员Java3y
public class Java3y implements Programmer {
@Override
public void coding() {
System.out.println("实现程序员功能函数,写代码");
}
}
有 大V 代理程序员发布代码,但是仅是代为转发,本质上还是程序员自己实现功能
public class ProgrammerBigV implements Programmer {
// 大V要让谁发文章
private Java3y java3y ;
public ProgrammerBigV(Java3y java3y) {
this.java3y = java3y;
}
// 程序员大V点赞评论收藏转发
public void upvote() {
System.out.println("程序员大V点赞评论收藏转发!");
}
@Override
public void coding() {
// 让Java3y发文章
java3y.coding();
// 程序员大V点赞评论收藏转发!
upvote();
}
}
main函数的实现
public class Main {
public static void main(String[] args) {
// 想要发达的Java3y,代理
Java3y java3y = new Java3y();
// 受委托程序员大V
Programmer programmer = new ProgrammerBigV(java3y);
// 受委托程序员大V让Java3y发文章,大V(自己)来点赞
programmer.coding();//P本质上rogrammer programmer.coding()
}
}
-----------------------------------------------------------------------------------------------------------------------
后半部分主要是关于静态代理的应用实例
参考segmentfault大牛 Java3y
原转载地址给女朋友讲解什么是代理模式 - SegmentFault 思否
明天继续动态代理