JAVA进阶4
间歇性混吃等死,持续性踌躇满志系列-------------第4天
1、静态内部类求极值
class MaxMin{
public static class Result{
//表示最大值、最小值
private double Max;
private double Min;
//使用构造方法进行初始化
public Result(double max,double min){
this.Max = max;
this.Min = min;
}
//获得最大值
public double getMax(){
return Max;
}
//获得最小值
public double getMin(){
return Min;
}
}
public static Result getResult(double[] array){
double max = Double.MIN_VALUE;
double min = Double.MAX_VALUE;
//遍历数组获得最大值和最小值
for(double i :array){
if(i>max){
max =i;
}
if(i<min){
min = i;
}
}
return new Result(max,min);
}
}
public class Test{
public static void main(String[] args){
double[] array = new double[4];
for(int i =0;i<array.length;i++){
//初始化数组
array[i] = 100*Math.random();
}
System.out.println("源数组:");
for(int i = 0;i<array.length;i++){
//显示数组中的各个元素
System.out.println(array[i]);
}
//显示最大值、最小值
System.out.println("最大值:"+MaxMin.getResult(array).getMax());
System.out.println("最小值:"+MaxMin.getResult(array).getMin());
}
}
运行结果图
2、利用反射重写toString()方法
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier; public class StringUtils{
@SuppressWarnings("unchecked")
public String toString(Object object){
//获得代表该类的class对象
Class clazz = object.getClass();
//利用StringBuilder来保存字符串
StringBuilder sb = new StringBuilder();
//获得类所在的包
Package packageName = clazz.getPackage();
//输出类所在的包
sb.append("包名:"+packageName.getName()+"\t");
//获得类的简单名称
String className = clazz.getSimpleName();
//输出类的简单名称
sb.append("类名:"+className+"\n");
sb.append("公共构造方法:\n");
//获得所有代表构造方法的Constructor数组
Constructor[] constructors = clazz.getDeclaredConstructors();
for(Constructor constructor:constructors){
//获得修饰符
String modifier = Modifier.toString(constructor.getModifiers());
//查看修饰符是否含有public
if(modifier.contains("public")){
sb.append(constructor.toGenericString()+"\n");
}
}
sb.append("公共域:\n");
//获得所有域的Field[]数组
Field[] fields = clazz.getDeclaredFields();
for(Field field:fields){
String modifier = Modifier.toString(field.getModifiers());
//查看修饰符是否含有public
if(modifier.contains("public")){
sb.append(field.toGenericString());
}
}
sb.append("公共方法:\n");
//获得代表所有方法的Method[]数组
Method[] methods = clazz.getDeclaredMethods();
for(Method method:methods){
String modifier = Modifier.toString(method.getModifiers());
//查看修饰符是否含有public
if(modifier.contains("public")){
sb.append(method.toGenericString()+"\n");
}
}
return sb.toString();
}
public static void main(String[] args){
System.out.println(new StringUtils().toString(new java.util.Date()));
}
}
利用反射重写toString()方法
运行结果图
3、创建集合对象
运行结果图
4、Set接口的常用方法
set集合由set接口和set接口的实现类组成。由于set集合中不允许存在重复值,因此可以使用set集合中的addAll()方法,将collection集合添加到Set集合中并去重
import javax.print.DocFlavor;
import java.util.*; public class CollectionDemo{
public static void main(String[] args){
//创建List集合对象
List<String> list = new ArrayList<String>();
//向集合中添加元素
list.add("apple");
list.add("pear");
list.add("banada");
list.add("apple");
//创建list集合对象
Set<String> set = new HashSet<String>();
//将list集合添加到set集合中
set.addAll(list);
//创建set集合迭代器
Iterator<String> it = set.iterator();
System.out.println("集合中的元素是:");
while (it.hasNext()){
System.out.println(it.next()+"\t");
}
}
}
运行结果图
5、求出1-100之间的偶数和
public class Demo01{
public static void main(String[] args){
int sum = 0;
for(int i=0;i<=100;i+=2){
sum = sum+i;
}
System.out.println(sum);
}
}
运行结果图
JAVA进阶4的更多相关文章
- Java 进阶 hello world! - 中级程序员之路
Java 进阶 hello world! - 中级程序员之路 Java是一种跨平台的语言,号称:"一次编写,到处运行",在世界编程语言排行榜中稳居第二名(TIOBE index). ...
- Java进阶(五)Java I/O模型从BIO到NIO和Reactor模式
原创文章,同步发自作者个人博客,http://www.jasongj.com/java/nio_reactor/ Java I/O模型 同步 vs. 异步 同步I/O 每个请求必须逐个地被处理,一个请 ...
- Java线程间通信方式剖析——Java进阶(四)
原创文章,同步发自作者个人博客,转载请在文章开头处以超链接注明出处 http://www.jasongj.com/java/thread_communication/ CountDownLatch C ...
- Java进阶(三)多线程开发关键技术
原创文章,同步发自作者个人博客,转载请务必以超链接形式在文章开头处注明出处http://www.jasongj.com/java/multi_thread/. sleep和wait到底什么区别 其实这 ...
- 当我们说线程安全时,到底在说什么——Java进阶系列(二)
原创文章,同步发自作者个人博客,转载请以超链接形式在文章开头处注明出处http://www.jasongj.com/java/thread_safe/ 多线程编程中的三个核心概念 原子性 这一点,跟数 ...
- Java进阶03 IO基础
链接地址:http://www.cnblogs.com/vamei/archive/2013/04/11/3000905.html 作者:Vamei 出处:http://www.cnblogs.com ...
- Java进阶01 String类
链接地址:http://www.cnblogs.com/vamei/archive/2013/04/08/3000914.html 作者:Vamei 出处:http://www.cnblogs.com ...
- 从ConcurrentHashMap的演进看Java多线程核心技术 Java进阶(六)
本文分析了HashMap的实现原理,以及resize可能引起死循环和Fast-fail等线程不安全行为.同时结合源码从数据结构,寻址方式,同步方式,计算size等角度分析了JDK 1.7和JDK 1. ...
- Java进阶(七)正确理解Thread Local的原理与适用场景
原创文章,始自发作者个人博客,转载请务必将下面这段话置于文章开头处(保留超链接). 本文转发自技术世界,原文链接 http://www.jasongj.com/java/threadlocal/ Th ...
- Java进阶(四十七)Socket通信
Java进阶(四十七)Socket通信 今天讲解一个 Hello Word 级别的 Java Socket 通信的例子.具体通讯过程如下: 先启动Server端,进入一个死循环以便一直监听某端口是 ...
随机推荐
- 2-STM32带你入坑系列(点亮一个灯--Keil)
1-STM32带你入坑系列(STM32介绍) 首先是安装软件 这一节用Kei来实现,需要安装MDK4.7这个软件,怎么安装,自己百度哈.都学习32的人了,不会连个软件都不会安装吧....还是那句话 没 ...
- 《PyQt5快速开发与实战了》正式发售 !!!
<PyQt5快速开发与实战>正式出售了,该书是国内第一本介绍PyQt5的书籍.是两位一线工程师耗费一年的心血.本书github网址:https://github.com/cxinping/ ...
- [Oracle]Sqlplus 中使用 new_value
通过再sqlplus 中使用 new_value,可以把从表中查询出来的值,放置到 变量中.然后使用变量时,类似与宏定义一样,就可以像使用表中字段一样方便. 这使得sqlplus 的脚本具备和pl/s ...
- Outlook插件开发(非VSTO),欢迎交流
https://www.cnblogs.com/Charltsing/p/OutlookSample.html 联系QQ:564955427 最近写了个Outlook插件,实现了读取邮件联系人的功能, ...
- Vue-router的三种传参方式
第一种传递参数:name传参 两步完成name传参并显示在模板中: 第一在router/index.js中配置name属性, routes: [ { path: '/', name: 'HelloWo ...
- error:Microsoft Visual C++ 14.0 is required.
1,下载14.0安装包,解压,再次执行pip install XX命令 2,安装包已经在下载文件中 3,最不行找这个网站 https://www.microsoft.com/zh-cn/downloa ...
- Qt如何去掉按钮等控件的虚线框(焦点框)
方法1:可以通过代码ui->pushButton->setFocusPolicy(Qt::NoFocus)或在Qt Creator的属性列表中设置. 方法2:如果在嵌入式设备中需要通过按键 ...
- 鼠标事件-MouseEvent【转】
原文地址> 鼠标事件-MouseEvent 当鼠标进行某种操作时,就会生成一个event对象,该对象记录着鼠标触发事件时的所有属性. 可以通过如下方法在google控制台打印出 MouseEve ...
- 洛谷P2634 聪明可可
还是点分治 树上问题真有趣ovo,这道题统计模3为0的距离,可以把重心的子树分开统计,也可以一次性统计,然后容斥原理减掉重复的.. 其他的过程就是点分治的板子啦. #include <bits/ ...
- 爬虫,基于request,bs4 的简单实例整合
简单爬虫示例 爬取抽屉,以及自动登陆抽屉点赞 先查看首页拿到cookie,然后登陆要携带首页拿到的 cookie 才可以通过验证 """""" ...