泛型接口、JAVA API、包装类
泛型接口就是拥有一个或多个类型参数的接口
语法:
public interface 接口名<类型形参>{
方法名(类型形参 类型形参实例);
}
示例:
public interface TestInterface<T>{
public T print(T x)
}
需要注意的是,不具体指定数据类型,由使用此接口的用户决定数据类型。
实例:定义姓名,年龄性别,并赋值输出。
首先定义姓名,年龄,性别属性
private T name;
private E age;
private K sex;
并生成对应的get set方法.
在主方法中创建对象,并指定传入的数据类型。
Student<String, Integer, Character>stu=new Student<String, Integer, Character>();
然后用set方法存入,最后输入姓名,年龄,性别
运行结果:张 22 男
Java API
Java API 即Java应用程序接口,它是运行库的集合,预先定义了一些接口和类,程序员可以直接使用已经打包好的接口和类做具体的应用。
Java语言的强大之处在于它提供了多种多样的类库,从而大大提高了程序编程的效率和质量。
Java API提供的常用包
java.lang 包装类、Math类、String类等 提供了java程序的基础类和接口
java,util Collection、List和Map等集合接口和类 系统辅助类
java.io 字节流、字符流等 文件操作类‘
java.net Socket ServerSocket等类 网络编程相关类
java.sql Connection Statement等类 数据库相关类
枚举
语法:
[Modifier] enum enumName{
enumContantName1[,enumConstantName2...[;]]
//[field,method]
}
枚举指由一组固定的常量组成的类型
使用枚举的好处
类型安全、代码清晰、易于输入
包装类
Java语言是面向对象的,但是Java中的基本数据类型却不是面向对象的,为了解决这个不足,在设计类时为每个基本类型设计了一个对应的类,称为包装类
包装类是件基本类型封装到一个类中,包含属性和方法,方便对象操作,包装类位于java.lang包中
包装类和基本数据类型对应表(基本类型 包装类)
byte Byte boolean Boolean short Short char Character int Integer long Long float Float double Double
基本数据类型转换为包装类
Integer int Value=new Integer(21);
或Integer intValue=new Integer("21");
Integer intValue=Integer.valueOf("21")
包装类转换成基本类型
Integer integerld=new Integer(25); int intld=integerld.intValue();
基本类型和包装类的自动转换
Integer intObject=5; int intValue=intObject;
Math类
java.lang.Math类提供了常用的数学运算方法和两个静态常量E(自然对数的底数)和PI(圆周率);
Random类可以生成随机数
Random生成随机数实例:
需求说明及分析
编码实现双色球的功能
分析:双色球规则红球33选6,蓝球16选1,不允许重复,使用Math类的random()方法再1-33内随机产生6个红球号码,每产生一个判断是否已经在数组中存在,不存在则保存于数组,否则重选,从1-16见随机产生一个蓝球号码
package com.caipiao;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Test {
public static void main(String[] args) {
//产生1--33的数字,不重复,升序
List<Integer> list=new ArrayList<Integer>();
//产生随机数
//循环添加,循环次数不确定
System.out.println("中奖号码:");
while (true) {
int rand=(int)((Math.random()*33)+1);
//产生的随机数在集合中不存在,则添加
if(!list.contains(rand)){
list.add(rand);
}
//判断
if(list.size()==6){
break;//退出循环
}
}
//排序
Collections.sort(list);
//遍历输出
for (Integer integer : list) {
System.out.print(integer+" ");
}
int rand=(int)((Math.random()*16)+1);
System.out.println("+"+rand);
}
}
输出结果为(随机):
中奖号码:
3 5 9 15 16 28 +6
equals():检查组成字符串内容的字符是否完全一致
==:判断两个字符串在内存中的首地址,即判断是否是同一个字符串对象
将小写转换为大写:toUpperCase()
将大写转换为小写:toLowerCase()
泛型接口、JAVA API、包装类的更多相关文章
- Java API ——包装类
1.包装类的概述 · 将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据. · 常用的操作之一:用于基本数据类型与字符串之间的转换. · 基本类型和包装类的对应 为了对基本数据 ...
- Java API 快速速查宝典
Java API 快速速查宝典 作者:明日科技,陈丹丹,李银龙,王国辉 著 出版社:人民邮电出版社 出版时间:2012年5月 Java编程的最基本要素是方法.属性和事件,掌握这些要素,就掌握了解决实际 ...
- 浅谈Java的包装类
一.什么是Java包装类 所谓Java包装类,就是将Java中的8种基本数据类型分别包装成为类的形式.包装类与基本数据类型的对应关系如下表所示. 基本数据类型 包装类 byte Byte short ...
- mybatis Java API
既然你已经知道如何配置 MyBatis 和创建映射文件,你就已经准备好来提升技能了. MyBatis 的 Java API 就是你收获你所做的努力的地方.正如你即将看到的,和 JDBC 相比, MyB ...
- Java数据持久层框架 MyBatis之API学习八(Java API详解)
对于MyBatis的学习而言,最好去MyBatis的官方文档:http://www.mybatis.org/mybatis-3/zh/index.html 对于语言的学习而言,马上上手去编程,多多练习 ...
- Java开发知识之Java的包装类
Java开发知识之Java的包装类 一丶什么是包装类 包装类的意思就是对基本数据类型封装成一个类.这些类都是Number的子类.区别就是封装数据类型不同.包含的方法基本相同. 具体可以查询JAVA A ...
- MyBatis——Java API
Java API 既然你已经知道如何配置 MyBatis 和创建映射文件,你就已经准备好来提升技能了. MyBatis 的 Java API 就是你收获你所做的努力的地方.正如你即将看到的,和 JDB ...
- Mybatis学习--Java API
学习笔记,选自Mybatis官方中文文档:http://www.mybatis.org/mybatis-3/zh/java-api.html#directoryStructure 既然你已经知道如何配 ...
- Java-MyBatis: MyBatis3 | Java API
ylbtech-Java-MyBatis: MyBatis3 | Java API 1.返回顶部 1. Java API 既然你已经知道如何配置 MyBatis 和创建映射文件,你就已经准备好来提升 ...
随机推荐
- SonarQube系列二、分析dotnet core/C#代码
[前言] 本系列主要讲述sonarqube的安装部署以及如何集成jenkins自动化分析.netcore项目.目录如下: SonarQube系列一.Linux安装与部署 SonarQube系列二.分析 ...
- 全世界仅有的唯一最高LINUX版本的白菜路由,支持NAND记
在上上篇 真千兆路由的极限之OPENWRT MAKE, 某品牌白菜价QCA9558/QCA9880/QCA8337N纯种组合OS搭建时记 里,有没有还记否之模式退一步,海阔天空 回到了远古时代的ar7 ...
- java字符串详解
一.String 类的定义 public final class String implements java.io.Serializable, Comparable<String>, C ...
- 写给新手的 Go 开发指南
转眼加入蚂蚁已经三个多月,这期间主要维护一 Go 写的服务器.虽然用的时间不算长,但还是积累了一些心得体会,这里总结归纳一下,供想尝试 Go 的同学参考. 本文会依次介绍 Go 的设计理念.开发环境. ...
- Lasso估计学习笔记(二)
先看Lasso估计学习笔记(一),这篇是续的上一篇
- Unable to load template file 'rj\ThinkPHP/Tpl/dispatch_jump.tpl'----thinkphp3.2.3
Unable to load template file 'rj\ThinkPHP/Tpl/dispatch_jump.tpl'----thinkphp3.2.3 1.报错原因:将thinkphp默认 ...
- nodeCZBK-笔记2
目录 day04 mongoDB数据库使用 day05 node使用mongoDB数据库 day04 mongoDB数据库使用 电脑全局安装数据库 开机命令:mongod --dbpath c:\mo ...
- Log4j2源码分析系列:(一)配置加载
前言 在实际开发项目中,日志永远是一个绕不开的话题.本系列文章试图以slf4j和log4j2日志体系为例,从源码角度分析日志工作原理. 学习日志框架,首先要熟悉各类日志框架,这里推荐两篇文章,就不再赘 ...
- Hive的安装及配置
title: Hive的安装及配置 summary: 关键词:Hive ubuntu 安装和配置 Derby MySQL PostgreSQL 数据库连接 date: 2019-5-19 13:25 ...
- RocketMQ 4.3.2 standalone Installation and Configuration
1 Download RockeMQ Package: You need to download it and put it to the OS Image. wget http://apache.c ...