泛型接口、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 和创建映射文件,你就已经准备好来提升 ...
随机推荐
- python 列表的增删改查
列表 有序可变的,索引 作用:存储数据的,支持很多种数据类型 定义方式: lst = [1,"alex",True,('a','b')]增 append() # 追加 extend ...
- 从原理层面掌握@ModelAttribute的使用(使用篇)【一起学Spring MVC】
每篇一句 每个人都应该想清楚这个问题:你是祖师爷赏饭吃的,还是靠老天爷赏饭吃的 前言 上篇文章 描绘了@ModelAttribute的核心原理,这篇聚焦在场景使用上,演示@ModelAttribute ...
- 监控JVM
WAS配置visualVM 在was控制台:找到应用程序服务器--java和进程管理--进程定义--JAVA虚拟机/通用JVM 参数 ,对应英文Application servers > ser ...
- JMM浅析
背景 学习Java并发编程,JMM是绕不过的槛.在Java规范里面指出了JMM是一个比较开拓性的尝试,是一种试图定义一个一致的.跨平台的内存模型.JMM的最初目的,就是为了能够支多线程程序设计的,每个 ...
- R语言中如何找出在两个数据框中完全相同的行(How to find common rows between two dataframe in R?)
I would like to make a new data frame which only includes common rows of two separate data.frame. ex ...
- Element-UI 2.4.11 版本 使用注意(发现一点更新一点)
1.$Vue.$refs.addForm.resetFields() 的resetFields()方法重置到默认值并不是 ,你在form绑定对象上写的默认值 ,而是这个form被渲染出来之后第一次赋到 ...
- 常用高效 Java 工具类总结
一.前言 在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类.以下工具类.方法按使用流行度排名,参考数据来源于Github上随机选取的5万个开源项目源码 ...
- 《Java 8 in Action》Chapter 1:为什么要关心Java 8
自1998年 JDK 1.0(Java 1.0) 发布以来,Java 已经受到了学生.项目经理和程序员等一大批活跃用户的欢迎.这一语言极富活力,不断被用在大大小小的项目里.从 Java 1.1(199 ...
- Java基础之String、StringBuffer、StringBuilder浅析
Java基础之String.StringBuffer.StringBuilder浅析 一.前言: 位于java.lang包下的String.StringBuilder.StringBuffer一般都是 ...
- 如何使用有道云笔记的Markdown----初级版?
我一般整理笔记用的是用有道云笔记,在这里,Markdown怎么用? 什么是Markdown?Markdown是一种轻量级的「标记语言」,通常为程序员群体所用,目前它已是全球最大的技术分享网站 GitH ...