JAVA进阶1
间歇性混吃等死,持续性踌躇满志系列-------------第1天
1、冒泡排序法
import java.util.Arrays;
public class SumNum{
public static void main(String[] args){
int[] array = new int[]{43,23,1,64,32}; //声明并初始化一维数组
System.out.println("冒泡排序法的过程是:");
for(int i =1;i<array.length;i++){
for(int j =0;j<array.length-i;j++){ //比较相邻两个元素,较大的数往后冒泡
if(array[j]>array[j+1]){
int temp = array[j]; //把第一个元素值保持到临时变量中
array[j] = array[j+1]; //把第二个元素值保存到第一个元素单元中
array[j+1] =temp; //把第一个元素原值保存到第二个元素中
}
System.out.print(array[j]+" "); //把排序后的数组元素显示到文本域中
}
System.out.print("【");
for(int j = array.length-i;j<array.length;j++){
System.out.print(array[j]+" "); //把排序后的数组元素显示到文本域中
}
System.out.println("】");
}
}
}
运行结果截图

2、输出九宫格
public class SumNum{
public static void main(String[] args){
int arr[][] = new int[3][3]; //创建一个3阶矩阵
int a =2; //第3行的行下标
int b =3/2; //第2列的列下标
for(int i=1;i<=9;i++){ //给数组赋值
arr[a++][b++] = i;
if(i%3==0){ //如果i是3的倍数
a =a-2;
b =b-1;
}else{ //不是3的倍数
a = a%3;
b = b%3;
}
}
System.out.println("输出九宫格:"); //遍历输出九宫格
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
System.out.print(arr[i][j]+" ");
}
System.out.print("\n");
}
}
}
运行结果截图

3、实现字符串加密
public class SumNum{
public static String EandU(String value,char secret){ //对value加密,secret密文字符
byte[] bt = value.getBytes(); //将需要加密的内容转换为字节数组
for(int i =0;i<bt.length;i++){
bt[i] =(byte)(bt[i]^(int)secret); //通过异或运算进行加密
}
return new String(bt,0,bt.length); //返回加密后的字符串
}
public static void main(String[] args){
String value = "你好时间"; //需要加密的字符内容
char secret = '祈'; //密文字符
System.out.println("原字符串为:"+value);
String encrypt = SumNum.EandU(value,secret); //加密
System.out.println("加密后的值"+encrypt);
String uncrypt = SumNum.EandU(encrypt,secret); //解密
System.out.println("解密后的值:"+uncrypt);
}
}
4、对象的比较
public class SumNum{
public static void main(String[] args){
String c1 =new String("avsdf"); //创建两个String型对象
String c2 =new String("avsdf");
String c3=c1; //将c1对象引用赋予c3
System.out.println("c2==c3的运算结果为:"+(c2==c3)); //使用==比较c2,c3
System.out.println("c2.equals(c3)的运算结果为:"+(c2.equals(c3))); //使用equals比较c2,c3
}
}
运行结果截图

5、汉诺塔问题
public class SumNum{
public static void moveDish(int level,char from,char inter,char to){
if(level==1){ //如果只有一个盘子就退出迭代
System.out.println("从"+from+"移动盘子1号到"+to);
}else{ //如果有大于一个盘子就继续迭代
moveDish(level-1,from,to,inter);
System.out.println("从"+from +"移动盘子"+level+" 号到"+to);
moveDish(level-1,inter,from,to);
}
}
public static void main(String[] args){
int sDisks =3; //设置汉诺塔为3阶
moveDish(sDisks,'A','B','C'); //实现移动算法
}
}
运行结果截图

JAVA进阶1的更多相关文章
- 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端,进入一个死循环以便一直监听某端口是 ...
随机推荐
- mysql安装和操作
1.install: 下载地址:https://dev.mysql.com/downloads/ 2.下载zip包解压: 3.自己在该文件夹下创建 my.ini,并编辑内容: [mysql] # 设置 ...
- day-17(基础加强)
回顾: listener(了解) 监听器,监听javaweb中三个域对象 监听对象的创建和销毁 ServletContextListener 在项目启动的时候加载配置文件 ServletRequest ...
- maven直接饮用jar包的写法
<dependency> <groupId>sample</groupId> <artifactId>com.sample</artifactId ...
- Jsp语法九大内置对象和四大作用域
一.JSP 原理:JSP其实就是一个servlet. Servlet负责业务逻辑处理,JSP只负责显示.开发中,JSP中不能有一行JAVA代码 二.JSP语法 1. JSP模板元素:JSP中HTML标 ...
- Python package下载中遇到ReadTimeoutError: HTTPSConnectionPool?
问题描述: Python package下载中遇到ReadTimeoutError: HTTPSConnectionPool? 问题解决: 方法1:继续重复下载 pip install virtual ...
- MyBatis-Plugins
MyBatis 允许在已映射语句执行过程中的某一点进行拦截调用.默认情况下,MyBatis 允许使用插件来拦截的方法调用包括: Executor (update, query, flushStatem ...
- python 面向对象(三)类与类之间的关系 初始化方法一些类
###################总结################# 面试的时候 让写python一些特殊方法 __init__ 创建对象的时候初始化 __new__对象实例化调用第一个方法 ...
- async+await处理异步问题
在编写网页的时候我们常常会遇到异步问题,async+await是es6提出的解决异步的方法,下面我们来看看这个方法怎么实现解决异步的, 大家都知道,setTimeout是一个定时器.他是一个异步执行的 ...
- [JUC-4]ThreadPoolExecutor源码分析
相关博文: https://segmentfault.com/a/1190000008693801 https://www.jianshu.com/p/fa1eac9710c8 //构造器1 publ ...
- sqlyog创建数据库表关系图
作为一个后台前端,数据库,需求分析,运维,PPT全包的码农来说.uml建模不存在的,对不起我没有时间,就用sqlyog拉几个你看看吧.看的懂的一眼就看清了,看不懂的整再好也是白瞎. 第一步:选择增强工 ...