
Java基础
xiaoxaoyu
小小鱼
展开
-
解决Java文件读取字符串乱码以及虚拟机文件中文乱码的问题
有时候工作中会遇到别人发给你的文件在你这边打开乱码的情况,一般来说原因是文件创建时的编码和自己打开的编码格式不一致造成的,解决乱码通用的方法有以下三步:从文件源头方获取对方的编码将文件内容以getBytes()方法转为对应的字节序列,getBytes()方法内传对方的编码new一个String,把字节序列传进去,第二个参数填我们要转成的编码 //乱码内容 String info="krre030300030322"; //以对方的编码格式转为字原创 2021-03-03 14:30:00 · 525 阅读 · 0 评论 -
Java基础概念01-常见的小问题
Java基础1、JDK、JRE、JVM三者之间的关系和主要结构2、配置path环境变量3、数组的特点:4、数组常见的异常5、属性和局部变量在内存中加载的位置6、什么是方法的重写7、区分方法的重写和重载8、equals方法的概念和重写9、static修饰属性:静态变量(或类变量)10、使用static的注意点11、线程的内存结构12、String实例化对象13、String与基本数据类型、包装类之间的转换14、String与字符数组之间的转换15、String与字节数组之间的转换1、JDK、JRE、JVM三原创 2020-12-13 22:15:05 · 102 阅读 · 0 评论 -
MySQL-JDBC详细介绍
JDBC全称Java database connectivity,是Java和数据库连接的一个桥梁,是一种使用Java操作数据库的规范。JDBC编程步骤一、JDBC准备工作二、初始化资源类三、执行sql语句类四、实现JDBC操作数据库一、JDBC准备工作1、因为访问数据库需要用到专门的第三方工具类的jar包,所以我们在使用时需要引入外部jar包,以IDEA编辑器和mysql为例,这里我们需要使用Maven工程,新建Maven工程,在maven官网(https://mvnrepository.com/)原创 2020-11-18 01:32:43 · 7667 阅读 · 0 评论 -
Java数据分析类,使用基本的数据分组透视方法,处理二维数组结构的数据
一、问题:在Excel中拿到一张二维的数据表,要提取其中的有用的信息,常用的方法就是根据条件筛选和数据透视获取聚合后的信息,但现在在Java环境中分析类似的结构,思路其实是一样的。如果学过sql语言,会发现,和sql语言的分组聚合也是一个思路。怎样从一张二维数据表中做出类似的分析效果呢?二、思路:1.分组和聚合,筛选行和列,这些操作都是在原数组上操作的,一套简单的完整的流程是:选取想要的列,对目标列进行分组,聚合结果列。这是一个传递的关系,每一步操作都是在上一步操作结果接着做的。因此,在写分析类时,要原创 2020-11-11 15:29:56 · 531 阅读 · 0 评论 -
ArrayList方法及其作用整理
构造器//ArrayListpublic ArrayList(int initialCapacity) 构造具有指定初始容量的空列表。//ArrayListpublic ArrayList() 构造一个初始容量为10的空列表。//ArrayListpublic ArrayList(Collection<? extends E> c) 按照集合的迭代器返回的顺序构造一个包含指定集合元素的列表。//addpublic boolean add(E e) 一次性将一个元素增加到集合原创 2020-10-26 01:34:27 · 581 阅读 · 1 评论 -
Java基础——15只猴子围成一圈,依次报数1-7,最后剩下的那只猴子是大王
问题:15个猴子围一圈选大王,依次1-7循环报数,报到7的猴子被淘汰,直到最后一只猴子成为大王。请问哪只猴子?知识点:循环思路:每只猴子都设为true,然后循环报数,到7时变成false,下次循环跳过false的猴子,直到true的数量=1时结束循环。输出true的那个的索引值即可。 boolean[] monkey = new boolean[15]; for (int i = 0; i < monkey.length; i++) { mo原创 2020-10-11 22:30:43 · 1795 阅读 · 0 评论 -
Java基础——随机生成100个数,任何单值重复不超过两次,取值1~50之间的整数(可作为练习题锻炼自己)
问题:随机生成100个,任何单值重复不超过两次,取值1~50之间的整数知识点:思路:老师写的代码,还没有完全吃透理解,先记录下来 Random rand = new Random(); final int N=100; int[]arr = new int[N]; int[]uqarr = new int[N];//定义一个不重复数组 int[]uqcnt = new int[N];//定义一个和上面数组对应的,上面每个元素原创 2020-10-08 15:32:14 · 1538 阅读 · 0 评论 -
Java基础——二维数组打印回型数
问题:打印回型数组知识点:二维数组思路:回型数组可以拆开为上下左右四条边,每一条边都是线性的排序,第二轮的每一条边都比第一轮的每一条边短一位数。代码如下: int n=6; int[][] arr = new int[n][n]; int minX=0,minY=0,maxX=n-1,maxY=n-1; int count=0; while (minX<=maxX){ for (int x =原创 2020-10-07 15:21:29 · 400 阅读 · 0 评论 -
Java基础——打印杨辉三角
问题:打印出一个10行的杨辉三角形知识点:二维数组思路:先分析杨辉三角形的规律:1.n行的元素数量是n;2.每行的收尾都是1;3.从第三行开始,每一非首末的数字都满足:yangHui[i][j]=yangHui[i-1][j-1]+yangHui[i-1][j]。代码如下:// 1.声明初始化二维数组 int[][] yangHui = new int[10][];// 2.给数组的元素赋值 for (int i = 0; i < y原创 2020-10-07 12:09:33 · 375 阅读 · 0 评论 -
Java基础——二分法找数组中中位数位置
问题:查找一组随机数中第一个值的中位数索引知识点:while循环,if函数,数组排序思路:生成一组随机数,把第一个值拿出来,从末位倒序开始比较,比第一个值大,end–,直到遇到比第一个值小的停下;再从begin的索引开始正序比较,比第一个值小,begin++,直到遇到比第一个值大的停下;交换begin和end位置的数。当begin和end相遇时,这个位置就是第一个值中位数的位置,输出。代码如下: Random rand = new Random(); int[] arr原创 2020-10-05 21:19:11 · 781 阅读 · 0 评论 -
Java基础——不能确定循环次数时用while
问题:现在有如下的一个数组:int[] arr = {1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5} ;要求将以上数组中值为0的项去掉,生成的新数组为:{1,3,4,5,6,6,5,4,7,6,7,5}知识点:for循环,while循环思路:在第一层循环中依次遍历数组,遇到0时,后位依次往前挪一个位置;因为数组中0的数量是未知的,如果遇到连续的两个0,则第二个零依然在数组里,所以这里用到while,同时加个计数器截取掉后面的元素。代码如下: int[] arr = {1原创 2020-10-05 17:17:26 · 2741 阅读 · 0 评论 -
Java基础——冒泡、选择、插入、希尔、桶排序
冒泡排序:两两交换,交换完最大的值跑到了最后面,所以内层循环的数量不超过外层循环的次数 for (int i = 0,t; i < arr.length-1; i++) { for (int j = 0; j <arr.length-1-i ; j++) { if (arr[j]>arr[j+1]){ t=arr[j]; arr[j]=ar原创 2020-09-29 18:42:25 · 130 阅读 · 0 评论 -
Java基础——找出10000以内的所有质数(知识点:二重循环,代码优化)
问题:10000以内的质数有哪些?知识点:思路:不能被小于根号内的所有质数整除,则为质数;减少循环次数 int count=0;//计数换行 int circle = 1;//循环次数 int[]arr = new int[5000];//质数容器 arr[count++]=2; for (int i = 3; i <=10000 ; i+=2,circle++) { boolean isPrime = t原创 2020-09-29 09:18:06 · 1058 阅读 · 0 评论 -
Java基础——输入年月打印出当月月历(知识点:一重循环、日期算法)
排序算法原创 2020-09-28 18:19:35 · 533 阅读 · 0 评论