![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java学习笔记
文章平均质量分 64
张李浩
这个作者很懒,什么都没留下…
展开
-
江苏科技大学Java高级编程实验一:字符串的解码与编码
转载import java.io.UnsupportedEncodingException;public class Experiment1 { public static void main(String[] args) throws UnsupportedEncodingException { String str = "张李浩123"; byte[] buf = str.getBytes("GBK");//可能抛出编码格式错误异常 Sys转载 2022-05-18 10:00:57 · 381 阅读 · 1 评论 -
Java高级编程实验六---如何验证Java字符串的不变性,及使用StringBuffer减少内存的消耗
参考地址验证不变性代码String str = "Hello"; System.out.println(str);//输出为Hello str.concat("World");//该方法是在原来的变量后面添加一个字符串然后变成新的字符串 System.out.println(str);//输出为Hello str=str.concat("World"); System.out.println(str);//输出为HelloWorld就是指引用的对象实例的是不转载 2022-05-17 14:25:00 · 322 阅读 · 0 评论 -
Java中INT_MIN和INT_MAX怎么表示(Integer.MAX_VALUE和Integer.MIN_VALUE)
java int 类整数的最大值是 2 的 31 次方 - 1 = 2147483648 - 1 = 2147483647可以用 Integer.MAX_VALUE 表示它,即 int value = Integer.MAX_VALUE;Integer.MAX_VALUE + 1 = Integer.MIN_VALUE = -2147483648一般用于找最小最大如果比较找最小先定义min为 Integer.MAX_VALUE如果找最大定义max=Integer.MAX_VALUE+1...原创 2021-12-11 21:53:08 · 4573 阅读 · 0 评论 -
Java---GUI---drawOval()方法注意事项,不是从圆心开始画的,是从左上角开始画
原创 2021-12-04 23:42:16 · 793 阅读 · 0 评论 -
Java-----GUI------如何实现鼠标自己取点(GUI创建模板)
实现效果点击“自己取点”按钮后,即可在myframe上自己绘制点,点坐标将会记录在ArrayList P1中 。代码MouseAdapter类package Java_GUI;import javax.swing.*;import java.awt.*;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;public class MouseAdapater { JButton btn01=ne原创 2021-11-28 23:23:50 · 373 阅读 · 0 评论 -
文件的相对路径和绝对路径
目录JavaSE相对路径:从工程名开始算绝对路径:盘符:/目录/文件名JavaWeb相对路径:绝对路径:JavaSE相对路径:从工程名开始算绝对路径:盘符:/目录/文件名JavaWeb在web中路径分为相对路径和络对路径两种相对路径:. 表示当前文件所在的目录… 表示当前文件所在的上一级目录文件名 表示当前文件所在目录的文件,相当于 ./文件名 ./可以省略绝对路径:正确格式是:http: //ip:port/工程名/资源路径错误格式是:盘符:/目录/文件名...原创 2021-11-01 21:13:29 · 812 阅读 · 0 评论 -
Java反射
目录反射机制简单使用反射机制解决问题Java反射机制可以完成反射相关的主要类;演示反射机制package Reflection.question;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;import java.util.Properties;public class ReflectionQuestion { public static voi原创 2021-11-01 16:47:57 · 423 阅读 · 1 评论 -
Java线程(基础)
目录线程介绍进程线程单、多线程并发和并行线程的使用创建线程的两种方法机制说明举例说明(继承Thread类重写run()方法实现线程)为什么调用start()不直接调用run()方法?举例(实现Runnable接口实现线程)继承Thread和Runnable接口对比售票系统(出现了超票问题,该怎么解决)线程介绍进程线程单、多线程1.单线程:同一个时刻,只允许执行一个线程2.多线程:同一个时刻,可以执行多个线程,比如:一个qq进程,可以同时打开多个聊天窗口,一个迅雷进程,可以同时下载多个文件原创 2021-10-16 23:35:38 · 867 阅读 · 2 评论 -
坦克大战(Tank Battalion)------Java代码实现
目录1.0版本Java绘图1.0版本Java绘图由于绘图功能比较强大实用,且内容较多,所以我决定采用链接方式。原创 2021-10-15 15:20:04 · 1831 阅读 · 3 评论 -
Java GUI键盘监听--绘图(绘制坦克)和事件处理机制(如何让tank动起来)
目录坐标系坐标体系-像素绘图原理Graphics 类常用方法代码演示绘图实践坐标系坐标体系-像素1.绘图还必须要搞清一个非常重要的概念-像素一个像素等于多少厘米?2.计算机在屏幕上显示的内容都是由屏幕上的每一个像素组成的。例如,计算机显示器的分辨率是800×600,表示计算机屏幕上的每一行由800个点组成,共有600行,整个计算机屏幕共有480 000个像素。像素是一个密度单位,而厘米是长度单位,两者无法比较绘图原理绘图原理√Component类提供了两个和绘图相关最重要的方法:pa原创 2021-10-15 16:39:54 · 368 阅读 · 0 评论 -
comparable和comparator的区别
目录ComparableComparator相同点区别:举例Comparablepackage java.lang;public interface Comparable<T> { public int compareTo(T o);}Comparatorpackage java.util;public interface Comparator<T> { //必须实现的方法 int compare(T o1, T o2); //选择实现原创 2021-10-14 14:25:20 · 237 阅读 · 0 评论 -
Java集合框架(含源码解读)-----B站千锋、韩顺平学习笔记
在参考“如何快速转载CSDN中的博客”后,由于自己不懂html以及markdown相关知识,所以花了一些时间来弄明白怎么转载博客,以下为转载CSDN博客步骤和一些知识小笔记。 参考博客原址:http://blog.csdn.net/bolu1234/article/details/51867099 转载CSDN博客步骤: 1.CSDN博客页面右键,点击【检查】 点击检查后,页面右侧出现html代码,如下图 2.如果需要转载全文,则在html代码下侧点击选中articl...原创 2021-10-08 16:13:43 · 313 阅读 · 0 评论 -
Java常用类(含常用方法)==具体内容看摘要==
包装类、String类、StringBuffer类、StringBuilder类(三类的区别面试题)、Math类、Arrays类(sort()函数重要)、System类、大数处理、日期类原创 2021-10-04 20:03:17 · 184 阅读 · 0 评论 -
Java异常
目录异常的引出异常体系图(重点)异常处理机制try-catch-finally使用try-catch-finally的注意事项课堂练习(第三题比较综合也比较新颖)利用异常纠正输入throws细节自定义异常自定义异常的步骤throw 和throws的区别测试题异常的引出try-catch快捷键:ctrl+alt+t异常体系图(重点)1.异常分为两大类,运行时异常和编译时异常.2运行时异常,编译器检查不出来。一般是指编程时的逻辑错误,是程序员应该避免其出现的异常。java.lang.Runtime原创 2021-10-03 20:32:21 · 60 阅读 · 0 评论 -
唐僧取经小代码
package Java_base_study.homework;public class Homework06 { public static void main(String[] args) { //实例化Person对象"唐僧",要求一般情况下用Horse作为交通工具,遇到大河时用Boat作为交通工具 Horse bailong = new Horse(); Person tang=new Person("唐僧", bailong); .原创 2021-10-03 15:02:07 · 146 阅读 · 0 评论 -
Java面向对象应用--------枚举和注解
目录枚举枚举的定义方法自定义枚举系统自带的enum关键字枚举的常用方法课堂练习注解Annotation三个基本的Annotation:@Override:限定某个方法,是重写父类方法,该注解只能用于方法@Deprecated: 用于表示某个程序元素(类,方法等)已过时@SuppressWarnings: 抑制编译器警告JDK元注解(了解)枚举枚举是一组常量的集合,可以将其理解为一种特殊的类,里面只包含一组有限的特定的对象使用enum关键字后,就不能再继承其它类了,因为enum会隐式继承Enum,而Ja原创 2021-10-02 23:40:43 · 107 阅读 · 0 评论 -
Java I/O流
堆实现的功能查找堆中的最小元素向堆中插入一个数在堆中删除最小数删除任意一个元素修改任意一个元素原创 2021-09-25 22:13:48 · 88 阅读 · 0 评论 -
Java 面向对象(高级)------类方法类变量(static)、main语法、代码块(面试高频问题)、单例设计模式(饿汉式懒汉式:面试)、final关键字、抽象类(模板设计模式)、接口、内部类
目录类变量类变量的引出类变量类变量的引出原创 2021-09-24 22:39:57 · 224 阅读 · 1 评论 -
Object类详解(面向对象编程)-------(==和equals())、(hashcode)、(toString)、(finalize)
目录==和equals()方法= =和equals()方法的区别(面试)重写equals方法练习hashcodetoString 方法finalize()方法(不实用)==和equals()方法= =和equals()方法的区别(面试)= =是一个比较运算符= =:既可以判断基本类型,又可以判断引用类型= =:如果判断基本类型,判断的是值是否相等。示例:int i=10; double d=10.0;3.= =:如果判断引用类型,判断的是地址是否相等,即判定是不是同一个对象equals()是原创 2021-09-22 14:49:19 · 98 阅读 · 0 评论 -
封装、继承、多态(面向对象编程中级)-------很重要
目录封装封装的作用封装的步骤继承继承的作用继承的格式:继承细节:注意点1:默认访问修饰符的特殊性注意点2:注意点3:注意点4:注意点5:注意点6:注意点7:继承的本质分析(重要)封装封装的作用封装操作和我们利用遥控器调节音量控制电视机很类似封装的步骤person.salary=2000;//报错了因为salary是private的所以只能在本类使用这里就体现出来封装的重要性,对于私有属性的数据不能随意更改和访问package Java_base_study;public class原创 2021-09-21 09:58:01 · 1828 阅读 · 7 评论 -
访问修饰符(面向对象编程)
目录四种访问修饰符的访问范围四种访问修饰符的访问范围牢记!!!原创 2021-09-20 21:39:29 · 120 阅读 · 0 评论 -
Java包(面向对象编程)
包的作用和命名规则原创 2021-09-20 19:52:22 · 62 阅读 · 0 评论 -
Java面向对象编程(基础)
目录(关注重点):对象的内存布局(重要)对象的分配机制:(重要)成员方法:方法的调用机制:(重要)同一个类下的方法可以直接调用:跨类中A类调用B类的方法,需要通过对象名调用跨类的方法的调用还有方法的访问修饰符有关方法的传参机制:引用数据类型和基本数据类型不一样,它传递的是地址,所以main方法里的数组会改变...原创 2021-09-19 14:45:36 · 147 阅读 · 0 评论 -
关于Java中如何建立链表
链表的创建和使用一、定义一个class类 ListNode 如下://创建一个链表的类class ListNode{ int val; //数值 data ListNode next; // 结点 node ListNode(int x){ //可以定义一个有参构造方法,也可以定义一个无参构造方法 val = x; } // 添加新的结点 public void add(int newval) { ListNode newNode = new ListNode(newva转载 2021-08-02 18:43:31 · 6885 阅读 · 1 评论 -
括号序列Leetcode020(有效的括号)-------->栈的应用(男女配对)
题目:https://leetcode-cn.com/problems/valid-parentheses/题解:https://blog.csdn.net/qq_42124842/article/details/91420306?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162771045816780366553827%2522%252C%2522scm%2522%253A%252220140713.130102334..%原创 2021-07-31 19:56:22 · 74 阅读 · 0 评论 -
Java栈
栈的创建和使用1.测试堆栈是否为空。boolean empty()2.查看堆栈顶部的对象,但不从堆栈中移除它。 Object peek( )3.移除堆栈顶部的对象,并作为此函数的值返回该对象。 Object pop( )4.把项压入堆栈顶部。 Object push(Object element)5.返回对象在堆栈中的位置,以 1 为基数。int search(Object element)6.用栈Stack 创建对象(类型不同)栈stack的创建:栈stack数据的插...转载 2021-07-31 19:53:30 · 91 阅读 · 0 评论 -
DFS回溯算法及例题
题目:题解:一:回溯算法解释的比较清楚二:代码用了hashmap和我的思路差不多解题历程:自己写的(部分实现)错误点总结:回溯算法地址:1概念:2 回溯函数的组成3 简单的回溯函数3.1 问题描述3.1.1 问题分析3.1.2 完整代码上面举了一个数字全排列的例子,再让我们来看leetcode017这题具体思路:代码(解法一):注意点:代码(解法二):利用了hashmap题目:https://leetcode-cn.com/原创 2021-07-30 22:46:43 · 578 阅读 · 0 评论 -
hashmap如何根据value值查找对应的key值
import java.util.HashMap;import java.util.Map;public class Main{ public static void main(String[] args) { HashMap<Integer,Integer> map=new HashMap<>(); //key---value map.put(1,2); map.put(2,3); map.转载 2021-07-29 23:38:01 · 3344 阅读 · 0 评论 -
整形,字符串String,字符类型之间的相互转化
定义:1.字符串转为int(这里只默认字符串的内容为数字);(Integer.parseInt):2.int转为字符串(Integer.toString):3.字符(char)转为字符串(Character.toString):4.整形(int) 转为字符(char)5.字符(char)转为整形(int)总结:定义: char c = '2'; int i = 3; String si = "4"; String...转载 2021-07-29 23:33:12 · 1402 阅读 · 0 评论 -
List与Array之间的互相转换(asList()和toArray())方法
数组转换成List集合:利用java中集合自带的asList()方法: String[] array = new String[] {"zhu", "wen", "tao"}; // String数组转List集合 List<String> mlist = Arrays.asList(array); // 输出List集合 for (int i = 0; i < mlist.size(); i++) { System.out....转载 2021-07-28 21:31:38 · 386 阅读 · 0 评论 -
Leetcode015(三数之和)
地址:https://leetcode-cn.com/problems/3sum/解法一(暴力求解)————超出时间限制: List<List<Integer>> threeSum=new ArrayList<>();//存放结果 if(nums.length<3) return null;//假如数组长度不足3,肯定没有三个数相加为0 for(int i=0;i<nums.length-2;i++) { for(int j原创 2021-07-28 20:11:16 · 74 阅读 · 0 评论 -
Leetcode006(Z字型变换)找规律
地址:https://leetcode-cn.com/problems/zigzag-conversion/题解:https://leetcode-cn.com/problems/zigzag-conversion/solution/hua-jie-suan-fa-6-z-zi-xing-bian-huan-by-guanpengc/思路:整体的思路是遍历字符串,遍历过程中将每行都看成新的字符串构成字符串数组,最后再将该数组拼接起来即可如果 numRows=1 则说明当前字符串即为结果原创 2021-07-27 23:10:05 · 93 阅读 · 0 评论 -
集合的框架
别人做的笔记挺好的:https://www.cnblogs.com/coderzjz/p/13587167.html关于与数组的区别中数组可以存储基本类型和引用类型,集合只能存储引用类型这点我们进行一下进一步的说明:基本类型和引用类型的区别:https://blog.csdn.net/lanselianyu/article/details/89450738?ops_request_misc=%257B%2522request%255Fid%2522%253A%252216265048原创 2021-07-19 17:45:16 · 58 阅读 · 0 评论 -
中心扩散法(找最大回文字串)
由于暴力遍历法无法通过Leetcode005所以这里我们需要运用到中心扩散法:暴力遍历法:class Solution { public static boolean isPalindrome(String s) //判断是否是回文数的函数 { int len = s.length(); for (int i = 0; i < len / 2; i++) { if (s.charAt(i) != s.charAt(len - i - 1)) { return f原创 2021-07-15 11:03:21 · 370 阅读 · 0 评论 -
字符串常用方法
字符串的截取操作(转自):常用:substring()截取2、substr()截取字符串的截取操作(转自):https://blog.csdn.net/qq_45163122/article/details/104595883?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162625970316780264065449%2522%252C%2522scm%2522%253A%252220140713.130102334.转载 2021-07-14 18:56:27 · 563 阅读 · 0 评论