1.1    建造者模式

【静态内部类的引用------Builder构建器】

public static class Builder{

private AlertDialog dialog;

public Builder(){

dialog = new AlertDialog();

}

/*

public void setIcon(int icon){

dialog.icon = icon;

}*/

public Builder setTitle(String title){

dialog.title = title;

return this;

}

public Builder setMessage(String message){

dialog.message = message;

return this;

}

public Builder setIcon(int icon){

dialog.icon = icon;

return this;

}

public AlertDialog create(){

return dialog;

}

}

Builder b= newAlertDialog.Builder();

AlertDialog dialog =b.setIcon(1000)

.setTitle("千锋")

.setMessage("我在加班")

.create();

System.out.println(dialog);      //建造者模式

1.2    接口回调与事件监听

【1:

//监听器接口

public interface Listener {

//抽象方法,一点击就....

void onClick();

}

2:

public class MyListener implements Listener {

public void onClick() {

System.out.println("访问服务器");

}

}

3:

public class Button {

private Listener listener;   //聚合、组合

public void setListener(Listener listener) {

this.listener = listener;

}

//模拟按键被用户手指点击触发,就去执行监听器的逻辑

public void drive(){

listener.onClick();//调用逻辑部件、监听器的onClick逻辑

}

}

4:测试

Button button = new Button();//视图  按钮

MyListener listener = new MyListener();//逻辑点击后该怎么做

Cat cat = new Cat();

button.setListener(listener);//逻辑组装到视图

button.drive();//驱动按钮,模拟用户点击

1.3    反射机制实现低耦合代码

1:

public class Human {

private Weapon weapon;    //聚合,组合

public void setWeapon(Weapon weapon){

this.weapon = weapon;

}

public void attack(){

weapon.attack();        //多态,向上转型子类对象,调用从父类复//写的方法

}

}

2:

BufferedReader br = new BufferedReader(new FileReader("asad/config.txt"));

String line = br.readLine();

Class clz = Class.forName(line);

Weapon w = (Weapon)clz.newInstance();

Human h = new Human();

h.setWeapon(w);

h.attack();

1.4    回文字符判定

//上海自来水来自海上

//黄山落叶松叶落山黄

public static void main(String[] args) {

// TODO Auto-generatedmethod stub

String line = new Scanner(System.in).nextLine();

//将字符串转为字符数组

char[] array = line.toCharArray();

boolean flag =true;

for(int i=0;i<array.length/2;i++){  //除以2可以进行优化

//      System.out.println(array[i]);

if(array[i] !=array[array.length-i-1]){

flag=false;

break;

}

}//写一个判断用户输入是否回文程序

if(flag){

System.out.println("是回文");

}

else{

System.out.println("不是回文");

}

}

1.5    冒泡排序

public static void main(String[] args) {

// TODO Auto-generatedmethod stub

int[] array ={2,8,1,9,5,7};

sort(array);

for(int i=0;i<array.length;i++){

System.out.println(array[i]);

}

}

public static void sort(int[] arr){//排序算法

for(int j=0;j<arr.length-1;j++){

for(int i=0;i<arr.length-1-j;i++){

//如果当前元素比右边的元素大

if(arr[i]>arr[i+1]){

int temp = arr[i];

arr[i] = arr[i+1];

arr[i+1] = temp;

}

}

}

}

1.6    选择排序

public static void main(String[] args) {

// TODO Auto-generatedmethod stub

int[] array ={6,3,2,5,4,9,1};

sort(array);

for(int i=0;i<array.length;i++){

System.out.println(array[i]);

}

}

public static void sort(int[] arr){

for(int i=0;i<arr.length-1;i++){

int minIndex = i;//每次外层循环都把i作为默认最小值下标

//遍历默认最小值右边的子数组,遍历到最后

for(int j=i+1;j<arr.length;j++){

//如果扫描到的当前值比

if(arr[j] < arr[minIndex]){

minIndex = j;//最小值下标就改为当前元素的下标

}

}

if(minIndex != i){

int temp = arr[minIndex];

arr[minIndex] = arr[i];

arr[i] = temp;

}

}

}

1.7    插入排序

public static void main(String[] args) {

// TODO Auto-generatedmethod stub

int[] array ={6,3,2,5,4,9,1};

sort(array);

for(int i=0;i<array.length;i++){

System.out.println(array[i]);

}

}

public static void sort(int[] arr){

//

for(int i=1;i<arr.length;i++){

//每一次循环先把插入的值拿出来,也就是将其值赋给一个临时变量,临时保存下

int temp = arr[i];

//往左扫描,左边无东西扫描时停止循环

int j;

for(j=i;j>0;j--){

if(arr[j-1]>temp){//如果扫描到的数字比要插入的数字大

//往右拨,确切说往右赋值一份,或者说右边的数的值=左边的数

arr[j] = arr[j-1];

}

else{//如果扫描到的数字比要插入的数字小

break;

}

}

arr[j] = temp;

}

}

1.8    二进制数

【倒序输出情况:

1.输入一个数,输出它的二进制(倒序) */

import java.util.Scanner;

public class Test8{

publicstatic void main(String[] args){

Scanners = new Scanner(System.in);

intnum = s.nextInt();

intyu = 0;

while(num>0){

yu= num%2;

num= num/2;

System.out.print(yu);

}

for(;n!=0;n/=2){

System.out.print(n%2);

}

}

}

【二进制顺序输出:

//二、让用户输入一个10进制数,打印出相应的二进制数(顺序)

public class Home2 {

public static void main(String[] args) {

int num = new Scanner(System.in).nextInt();

int ni=0;

int[] array = new int[50];

for(;num!=0;num/=2){

array[ni]=num%2;

ni++;

}

for(int i=ni-1;i>=0;i--){

System.out.print(array[i]);

}

}

}

Java应用小实例总结相关推荐

  1. Java 交互小实例:(ATM机模拟、饮料自助机模拟)

      交互实例:   ( 算法思想基本应用:基本语句的熟练掌握.逻辑思维.注意第二个小程序的小细节处理.) 1.ATM机 取款 ------模拟: 功能:查询余额.取款.存款.退卡. 具体代码: pac ...

  2. java axis2小实例_java webservice axis2简单开发实例

    Web Service学习之axis 看着网上的资料学习了一下,做点笔记以防以后忘记. 一.准备工作: 到axis官方网站下载相应的jar包,我下的是1.4final版. http://www.doc ...

  3. java 模拟停车_Java多线程编程小实例模拟停车场系统

    下面分享的是一个Java多线程模拟停车场系统的小实例(Java的应用还是很广泛的,哈哈),具体代码如下: Park类 public class Park { boolean []park=new bo ...

  4. java读写mysql数据库_Java读写MySQL数据库小实例

     Java读写MySQL数据库小实例 首先需要安装和配置好MySQL数据库.接下来,先创建一个数据库,Java代码连接此数据库,然后读写. 假设基于MySQL命令行创建一个叫做:phildatab ...

  5. java局部变量全局变量,实例变量的理解

    java局部变量全局变量,实例变量的理解 局部变量 可以理解为写在方法中的变量. public class Variable {//类变量static String name = "小明&q ...

  6. android-sqlite小实例

    学习android-sqlite数据库的一个小实例,只需要有数据库文档,就可以获取里面的数据,而不需要本地链接.此实例,是将数据库文档mydb.db里面某个表里面的信息显示出来,仅供参考,希望共同进步 ...

  7. spring aop实例讲解_小实例理解Spring中的AOP----面向切面编程

    关于面向切面编程(Spring AOP),是在java面试中经常提及的,只有在充分理解了,日常工作中才能得心应手. 如何理解AOP呢?首先我们要思考为什么要使用切面编程,如下图: 对于一个系统来说保存 ...

  8. spring+mybatis之声明式事务管理初识(小实例)

    前几篇的文章都只是初步学习spring和mybatis框架,所写的实例也都非常简单,所进行的数据访问控制也都很简单,没有加入事务管理.这篇文章将初步接触事务管理. 1.事务管理 理解事务管理之前,先通 ...

  9. 前端vue后端java,Vue调用后端java接口的实例代码_亦心_前端开发者

    前段时间 做了个学校的春萌项目,其中用到 先上后端接口代码: package controller; import net.sf.json.JSONObject; import util.DBUtil ...

最新文章

  1. [项目过程中所遇到的各种问题记录]部署篇——项目部署过程中那些纠结的问题-SQLServer...
  2. Linus Torvalds:Linux背后的智者
  3. 软件测试工程师的角度看论证学问
  4. 网络广告推广浅析网站中的关键词密度要如何控制呢?
  5. HDU 1297 Children’s Queue
  6. ASP.NET运行环境配置
  7. Python常用模块之sys模块
  8. windows10中git-bash闪退的解决办法
  9. Python正则表达式:最短匹配
  10. SSM系类代码:org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer
  11. python 解析pys文件,并将其写入txt和excel文件
  12. pkpm弹性时程分析计算书怎么出_一套软件,带你掌握复杂建筑结构分析方法
  13. Matlab中hold on与hold off的用法
  14. 如何在 JavaScript 中使用SpreadJS导入和导出 Excel 文件
  15. 用JAVA写一个俄罗斯方块游戏tetrisGame
  16. Mac Docker配置阿里云镜像(最新)
  17. 得到-薛兆丰的北大经济学课-0-目录
  18. 湿度传感器 DHT11
  19. 递归、回溯-图的m着色问题
  20. `Computer-Algorithm` 有向无环图DAG

热门文章

  1. 3GS到iPhone6P+ 历代iPhone屏幕尺寸、像素分辨率
  2. Flutter App感染a.gray.Bulimia.a病毒
  3. Linux离线安装Maven
  4. 计算机上的查找替换功能快速格式化,Excel 2016中使用查找替换功能应用技巧
  5. html2canvas图片跨域问题
  6. hive -- return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
  7. unity制作愤怒的小鸟笔记
  8. 记一个微商城促销方案实现流程图
  9. 如何计算EEG信号的香农熵Shannon entropy(附Matlab程序)
  10. 交互式多模型算法IMM——机动目标跟踪中的应用