第四天Java基础01(内部类、Obj、Data、Calendar、System、StringBuilder、iterator、泛型、斗地主)

政府科技管理者如何提升科技成果转化项目进场交易的备案效率?.docx 政府科技管理者如何提升科技成果转化项目进场交易的备案效率? 立即下载

1.成员内部类如何调用

1.如何new内部类
Outer.Inner name = new Outer().new Inner();
2.如何取Outer的变量
Outer.this.num

2.局部内部类如何调用

1.意思是在方法中定义的类,该类只能由该方法使用,超出方法不得使用。

3.类的权限修饰

1.外部类:public / (default)
2.成员内部类:public /protected / (default) / private
3.局部内部类:都不能写

4.匿名内部类

1.匿名内部类{}这样一种写法的类。
2.定义一个接口,然后直接new接口他就会出现这样一种效果

MyInterface obj = new MyInterface(){//此时这里面就是匿名内部类
	@Override
	public void mothed(){
		//System.out.prinln();
	}
}
obj.mothed();

5.发红包的两种方式

1.普通平均红包

public ArrayList<Integer> divide(int totalMoney, int totalCount) {
        ArrayList<Integer> arr = new ArrayList<>();
        int pj = totalMoney / totalCount;//平均值
        int ys = totalMoney % totalCount;//取余
        for (int i = 0 ; i < totalCount - 1 ; i++){
            arr.add(pj);
        }
        arr.add(pj+ys);
        return arr;
    }

2.随机红包

@Override
    public ArrayList<Integer> divide(int totalMoney, int totalCount) {
        ArrayList<Integer> arr = new ArrayList<>();
        Random rd = new Random();
        int leftMoni = totalMoney;
        int leftCoun = totalCount;
        for (int i = 0 ; i < totalCount -1; i++ ){
            int hb = 1+rd.nextInt(leftMoni/leftCoun*2);
            arr.add(hb);
            leftMoni -= hb;
            leftCoun--;
        }
        arr.add(leftMoni);
        return arr;
    }

6.Object中的方法

6.1 equals方法的重写

 @Override
    public boolean equals(Object o) {
        if (this == o) return true; //1.先判断地址是否相同
        if (o == null || getClass() != o.getClass()) return false; //2.判断类型是否相同
//        if(o instanceof Person){
//            Person person = (Person) o;
//            return Objects.equals(name, person.name) &&
//                    Objects.equals(age, person.age);
//        }
        Person person = (Person) o;
        return Objects.equals(name, person.name) &&
                Objects.equals(age, person.age);
    }

6.2Objects类中的equals方法,防止空指针异常

Objects.equals(obj,obj);//该方法还是比较地址值

7.Data类(日期类)

7.1日期和时间工具类,精确到毫秒。

7.2计算机中的毫秒。

1.时间原点:(0毫秒)1970 年 1 月 1 日 00:00:00(英国格林威治),
中国属于东八区,在这基础上加八个小时。所以中国的时间原点为
1970 年 1 月 1 日 08:00:00
2.毫秒和天的换算关系:2466*1000 = 86400,000 等于一天。

7.3Data类中的方法

new Data();//获取当前时间
new Data(0L);//毫秒日期
new Data().getTime();//当前日期到时间原点给的毫秒

7.4DataFormat

1.时间格式化输出:

SimpleDateFormat sdf = new SimpleDateFormat(yyyy-MM-dd  HH:mm:ss);
Date date = new Date();
System.out.println(sdf.format(data));

2.反输出

sdf.parse("2020年等等等等等");//该方法需要抛异常

8.Calendar类(日历类,取代Data)

 Calendar car = Calendar.getInstance();
        final int i = car.get(Calendar.YEAR);//年
        int i1 = car.get(Calendar.MONTH);//月,西方的月0到11,加1等于东方的月
        int i2 = car.get(Calendar.DATE);//月中的某一天
        int i3 = car.get(Calendar.DAY_OF_MONTH);//月中的某一天
        int i4 = car.get(Calendar.HOUR);//时
        int i5 = car.get(Calendar.MINUTE);//分
        int i6 = car.get(Calendar.SECOND);//秒

2.设置set(String s,int n);

//使用set()方法
car.set(Calendar.YEAR,9999);//参数与上面一样

3.add()把指定的字段增加或减少

car.add(Calendar.YEAR,2);//参数与上面一样,在原来的基础上添加2年。

4.getTime(),返回Date

car.getTime();//把Calendar类转化为Data

9.System类(系统类)

1.currentTimeMillis();//返回系统毫秒时间
2.arrayCopy(原数组,原数组中起始位置,目标数组,目标数组起始位置,要复制的数量)

10.StringBuilder(类,字符串缓冲区)

1.StringBuilder底层也是用数组,没有被finel修饰,所以数组长度可累加,
初始长度为16,后面*2增加。
2.常用的方法有append()、toString()方法。
append()追加字符串、toString()方法把StringBuilder转化为String。

11.包装类

基本上基础类Java中都有自己的包装类

12.Collection(接口)集合

1.所有单列集合的顶层接口
在这里插入图片描述

12.1Collection中的常用功能(7个)

1.add(); //集合添加元素,返回值boolean
2.clear(); //清空所有元素
3.remove();//把给定的对象在当前集合中清除,返回值为boolean
4.contains();//看看里面是否包含给定元素,返回值为boolean
5.isEmpty();//判断集合是否为空,返回值为boolean
6.size();//集合的个数
7.toArray();//把集合转化为数组

13.iterator(迭代器)

1.集合中没有索引可以来取元素,所以要遍历元素可以通过迭代器。
2.迭代器通过集合中的iterator()方法来调用。

Collection<String> ce = new ArrayList<>();
        ce.add("迪丽热巴");
        ce.add("古力娜扎");
        ce.add("马儿扎哈");
        ce.add("降央卓玛");
        Iterator<String> iterator = ce.iterator();
        while(iterator.hasNext()){
            String next = iterator.next();
            System.out.println(next);
        }

14.foreach

1.增强版的for循环,重要用来遍历集合和数组的。底层就是迭代器。

15.泛型

1.含有泛型类,new的时候,传递的是说什么类型就是什么类型。

public class<E> HelloWord{
	private <E> name;
	public void <E> getName(){
	}////////
}

2.含有泛型方法,调用的时候,传递的是什么类型就是什么类型。

public <M> void name(M m){
	System.out.println(m);
}

3.含有泛型接口,实现类实现接口的时候,传递的是什么类型就是什么类型。
4.泛型的通配符<?>
要求定义一个方法,打印所有类型的ArrayList集合

public void show(ArrayList<?> list){
	while(list.hasNext()){
		Object o = list.next();
		System.out.println(o);
	}
}

5.泛型通配符的高级使用:

public static void getElement2(Collection<? super Number> coll){
	//该泛型关键字为super意思是传递的泛型只能是Number本身或其父类
}
public static void getElement2(Collection<? extends Number> coll){
	//该泛型关键字为extends意思是传递的泛型只能是Number本身或其子类
}

斗地主小练习

package puke;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;

/**
 * 准备牌
 * 1.定义一个集合放牌
 * 2.定义两个数组存放花色和牌号
 * 3.循环组合拼牌,然后放入集合中
 * 4.大王小王另外放入集合中
 * 洗牌
 * 5.使用Collections打乱集合
 * 发牌
 * 6.轮流发牌依照索引取模3可分为3种情况,0、1、2
 * 在发牌前先判断什么时候留底牌,最后三张为底牌,所以当索引大于等于51的时候给底牌发牌
 * 7.定义好四个集合存放
 */
public class puke {
    public static void main(String[] args) {
        List<String> puke = new ArrayList<>();
        String hua [] = {"♠","♣","❤","♦"};
        String number [] = {"2","A","K","Q","J","10","9","8","7","6","5","4","3"};
        puke.add("大王");
        puke.add("小王");
        for (String str: hua) {
            for (String n: number) {
                puke.add(str+n);
            }
        }
        Collections.shuffle(puke);
        List<String> userOne = new ArrayList<>();
        List<String> userTow = new ArrayList<>();
        List<String> userThree = new ArrayList<>();
        List<String> diPai = new ArrayList<>();
        for (int i = 0; i < puke.size(); i++) {
            String p = puke.get(i);
            if(i>=51){
                diPai.add(p);
            }else if (i%3==0){
                userOne.add(p);
            }
            else if (i%3==1){
                userTow.add(p);
            }
            else if (i%3==2){
                userThree.add(p);
            }
        }
        System.out.println("一号的牌"+userOne);
        System.out.println("二号的牌"+userTow);
        System.out.println("三号的牌"+userThree);
        System.out.println("底牌牌"+diPai);

    }
}
科技中介服务机构如何通过智能体技术提升服务效率与专业度?.docx 科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。 立即下载

相关推荐

山区道路边坡落石隐患检测数据集VOC+YOLO格式241张1类别.md

【重要提示】本页面仅为资源介绍,不含外部下载地址 亲爱的 优快云 用户: 感谢你浏览本资源页面,在这里提前向大家说明相关情况,避免后续产生误解。本资源我设置的初衷是 0 积分免费分享文档介绍,希望可以无偿给到有需要的朋友。但 优快云 平台存在自动调控机制,系统会根据资源下载热度、文件体积、平台规则等因素,自动修改资源所需下载积分,页面显示为 1 积分、2 积分或更高积分都属于平台自动调整结果,并非我手动修改设置,我没有权限自主锁定积分数值。 如果你打开页面后,发现下载所需积分不为 0,请务必谨慎考虑是否下载。一旦你支付积分完成下载,后续遇到资源内容和描述不符、文件损坏等问题,我无法承担对应的积分损失,也没有渠道为你办理积分退还。在此强烈建议,只有页面明确显示 0 积分的时候,再进行下载操作。 同时特别说明:这份资源介绍文案里,没有附带任何外部下载地址。资源本身是通过 优快云 官方上传通道上传的附件,正常情况下直接点击页面自带的下载按钮即可获取文件。页面找不到外部下载链接属于正常情况,并非资源缺失。 如果因为平台积分显示异常,导致你被扣取积分,积分退款、积分异常相关问题,请直接联系 优快云 官方客服咨询处理。平台规则由官方制定,我无法干预积分变动,望各位理解。

Date方法

package com.zking.test; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; public class Test { public static void main(String[] args) throws ParseE...

T283gonglei的博客 309

高空作业栏杆检测数据集VOC+YOLO格式230张3类别.md

【重要提示】本页面仅为资源介绍,不含外部下载地址 亲爱的 优快云 用户: 感谢你浏览本资源页面,在这里提前向大家说明相关情况,避免后续产生误解。本资源我设置的初衷是 0 积分免费分享文档介绍,希望可以无偿给到有需要的朋友。但 优快云 平台存在自动调控机制,系统会根据资源下载热度、文件体积、平台规则等因素,自动修改资源所需下载积分,页面显示为 1 积分、2 积分或更高积分都属于平台自动调整结果,并非我手动修改设置,我没有权限自主锁定积分数值。 如果你打开页面后,发现下载所需积分不为 0,请务必谨慎考虑是否下载。一旦你支付积分完成下载,后续遇到资源内容和描述不符、文件损坏等问题,我无法承担对应的积分损失,也没有渠道为你办理积分退还。在此强烈建议,只有页面明确显示 0 积分的时候,再进行下载操作。 同时特别说明:这份资源介绍文案里,没有附带任何外部下载地址。资源本身是通过 优快云 官方上传通道上传的附件,正常情况下直接点击页面自带的下载按钮即可获取文件。页面找不到外部下载链接属于正常情况,并非资源缺失。 如果因为平台积分显示异常,导致你被扣取积分,积分退款、积分异常相关问题,请直接联系 优快云 官方客服咨询处理。平台规则由官方制定,我无法干预积分变动,望各位理解。

Date格式化(转换对象为Object时)

SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy-MM-dd");//先将要格式化的字符串转为Date类型Date date = dateFormat.parse(map.get("date").toString());//然后再格式化dateFormat.format(date)

邱正卫的博客 1万+

ti-cgt-c2000-22.6.0.LTS-windows-x64-installer

ti-cgt-c2000-22.6.0.LTS-windows-x64-installer

光伏板太阳能板尘土灰尘脏污检测数据集VOC+YOLO格式1006张3类别.md

【重要提示】本页面仅为资源介绍,不含外部下载地址 亲爱的 优快云 用户: 感谢你浏览本资源页面,在这里提前向大家说明相关情况,避免后续产生误解。本资源我设置的初衷是 0 积分免费分享文档介绍,希望可以无偿给到有需要的朋友。但 优快云 平台存在自动调控机制,系统会根据资源下载热度、文件体积、平台规则等因素,自动修改资源所需下载积分,页面显示为 1 积分、2 积分或更高积分都属于平台自动调整结果,并非我手动修改设置,我没有权限自主锁定积分数值。 如果你打开页面后,发现下载所需积分不为 0,请务必谨慎考虑是否下载。一旦你支付积分完成下载,后续遇到资源内容和描述不符、文件损坏等问题,我无法承担对应的积分损失,也没有渠道为你办理积分退还。在此强烈建议,只有页面明确显示 0 积分的时候,再进行下载操作。 同时特别说明:这份资源介绍文案里,没有附带任何外部下载地址。资源本身是通过 优快云 官方上传通道上传的附件,正常情况下直接点击页面自带的下载按钮即可获取文件。页面找不到外部下载链接属于正常情况,并非资源缺失。 如果因为平台积分显示异常,导致你被扣取积分,积分退款、积分异常相关问题,请直接联系 优快云 官方客服咨询处理。平台规则由官方制定,我无法干预积分变动,望各位理解。

object转date类型_JavaScript之类型判断(上)

类型判断在 web 开发中有非常广泛的应用,简单的有判断数字还是字符串,进阶一点的有判断数组还是对象,再进阶一点的有判断日期、正则、错误类型,再再进阶一点还有比如判断 plainObject、空对象、Window 对象等等。以上都会讲,由于篇幅原因,今天是上半场。1. typeof我们最最常用的莫过于 typeof,注意,尽管我们会看到诸如:console.log(typeof('yayu')) ...

weixin_39837727的博客 1183

【AAOS】【源码分析】用户管理(五)-- MUMD介绍

MUMD(多用户多屏显示)是Android Automotive OS为车载多乘员场景设计的功能,支持不同座位用户独立操作各自屏幕。

码农的历程 1514

JPQL排序,命名查询,构造器,带参数查询

JPQL就是一种查询语言,具有与SQL相 类似的特征,JPQL是完全面向对象的,具备继承、多态和关联等特性,和hibernate HQL很相似。 查询语句的参数 JPQL语句支持两种方式的参数定义方式:命名参数和位置参数。。在同一个查 询语句中只允许使用一种参数定义方式。 命令参数的格式为:“: +参数 名” 例: Query ...

webcenterol 219

普冉PY32F002B ADC内部参考电压VREFINT的误差补偿与低功耗优化实践

本文详细介绍了普冉PY32F002B单片机在锂电池供电场景下ADC内部参考电压VREFINT的误差补偿与低功耗优化实践。通过分析GPIO配置、分压电阻匹配、采样时间设置等硬件设计要点,结合实时测量VREFINT电压值和软件补偿算法,有效提升了ADC测量精度至5mV以内,并实现了分压电路功耗控制与采样频率优化,为低成本消费电子项目提供了完整的解决方案。

847

告别反复刷写:用英飞凌XCP Overlay功能实现ECU标定与诊断的‘热更新’

本文详细介绍了英飞凌XCP Overlay功能在ECU标定与诊断中的应用,实现参数的'热更新',避免反复刷写Flash。通过地址重映射技术,将标定变量从Flash重定向到RAM,显著提升工作效率并保护Flash寿命。文章涵盖技术原理、工程实践、功能安全考量及高级应用场景,为汽车电子工程师提供完整解决方案。

weixin_30689307的博客 533

正则表达式、Date、Long、Calendar、(迭代器)Iterator、泛型:编译语法、Date\long\Calendar 三个时间的互相转换

正则表达式 \d \s \w . ? * + {n} [abc] boolean matches(regex) String[] split(regex) String replaceAll(regex, newStr) 字符串编码 Unicode \uffff 操作系统编码:UTF-8 GBK 编码 new String(b...

FatherW的博客 350

加速度计解算姿态角

姿态角(欧拉角) 欧拉角主要用于描述刚体在固定三维参考坐标系下由于绕三轴任意旋转而形成的姿态角,具体描述参看欧拉角说明 图中xyz为固定参考系坐标,XYZ为刚体自有坐标系 (假定右手定则,即大拇指指向某一轴正方向,握拳是其余手指的转动方向为姿态角变化的正方向),则定义 绕固定坐标系的z轴旋转:航向角yaw, 转动 y 角度 绕固定坐标系的y轴旋转:俯仰角pitch,转动p 角度 绕固定坐标系的x轴旋转:横滚角roll, 转动r 角度 可以看出欧拉角或者姿态角是相对各个轴的角度偏移,再假定旋转的顺规为Z

卢平光的博客 1万+

js 创建Date对象5种方式

js 创建Date对象5种方式

fade 7409

单粒子翻转对FPGA的影响及解决方法

单粒子翻转对FPGA的影响及解决方法

航天领域资深码农,型号经验丰富,一线干货分享 2446

计算机毕设项目十四:美团酒店评论情感分析完整数据代码-可直接运行

计算机毕设项目十四:美团酒店评论情感分析完整数据代码-可直接运行

694

java 静态内部类和Builder模式

1. 概念 在java中可以在类内部定义静态内部类。可以用于构建多参数的对象,并且保证类的一致性。 2. 与非静态内部内的区别 静态内部类与非静态内部类的区别如下: 在非静态内部类中不可以声明静态成员。只有静态内部类才能够定义静态的成员变量与成员方法。非静态内部类,可以随意的访问外部类中的成员变量与成员方法。静态内部类只能引用外部类中的静态的成员(变量或方法),而不能够访问非静态的

通往花开的路上 4548

Python调用CANoe(1)(启动与停止,变量和信号读写)

CANoe因为其封闭性(Vector独有),开发的时候,有很多局限性;Python 因为其开源,容易上手,功能强大,那么Python 和 CANoe结合会产生怎样的火花呢?

蚂蚁小兵 4万+

javascript的日期对象Date操作时间日期值

创建一个日期对象: var objDate=new Date([arguments list]); 我总结了参数形式主要有以下3种: new Date("month dd yyyy hh:mm:ss");//后面的hh:mm:ss可选(不选的话就是默认的开始时间),而且前三项的顺序可以随意,甚至各字段后面可以加逗号 new Date(yyyy,mth,dd,hh,mm,ss); //除了前两

未名胡的博客 6170

Y-Branch and a closed y-branch loop

双臂后面的区域,我们将它的双臂使用一个波导进行了连接,使得它本身形成了一个闭合回路,因此,该结构被称作。它们均是用来对经过它们的光束能量进行分割的一种器件。首先,我们知道一点,在光波导层面,今天给大家介绍一下,什么是。

u011699626的博客 632

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

javascript Date日期对象

[b]创建一个日期对象:[/b] var objDate=new Date([arguments list]); 参数形式有以下5种: new Date("month dd,yyyy hh:mm:ss"); new Date("month dd,yyyy"); new Date(yyyy,mth,dd,hh,mm,ss); new Date(yy...

互联网Web开发 192

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

js 的 Date

  function getDate() {  objDate = new Date(2006,06,31) ;  alert(objDate.getFullYear()+"年"+objDate.getMonth()+"月"+objDate.getDate()+"日") ;  objDate.setDate( objDate.getDate() + 5);  alert(objDate.getFu

redbednil的专栏 640

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

javascript Date日期对象

创建一个日期对象:var objDate=new Date([arguments list]);参数形式有以下5种:new Date("month dd,yyyy hh:mm:ss"); new Date("month dd,yyyy"); new Date(yyyy,mth,dd,hh,mm,ss); new Date(yyyy,mth,dd); new Date(ms...

weixin_30693683的博客 188
上一篇: 第三天Java基础(String对象,static关键字,静态,Arrays类,Math类,继承,抽象,接口)
下一篇: 第四天Java基础02(集合)
RestartJava
博客等级 码龄7年 1粉丝 53原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值