Java
读书札记2022
这个作者很懒,什么都没留下…
展开
-
Java Lambda表达式
一.简介:Lambda 表达式,是Java 8中的新特性;使用 Lambda 表达式可以使代码变的更加简洁紧凑。二.函数式接口:理解Lambda表达式的关键所在任何接口,如果只包含唯一 一个抽象方法,那么它就是一个函数式接口。对于函数式接口,我们可以通过Lambda表达式来创建该接口的对象。三.实例一:无参public class Test { public static void main(String[] args) { //1.普通方式 Person原创 2021-02-20 22:06:04 · 120 阅读 · 1 评论 -
tomcat 启动日志乱码
原因:windows下的编码格式为GBK解决方法:1.2.3.保存修改后的logging.properties文件4.关闭tomcat后重新启动原创 2021-02-09 20:42:31 · 141 阅读 · 0 评论 -
Java Swing 贪吃蛇小游戏
工程目录:源码:package snake;import javax.swing.*;import java.net.URL;/** * 存放蛇的数据 */public class Data { private static URL bodyURL = Data.class.getResource("img/body.png"); private static URL downURL = Data.class.getResource("img/down.png");原创 2021-02-06 11:51:10 · 215 阅读 · 0 评论 -
Java Swing编程 键盘监听有时成功有时失败
在获得焦点事件和键盘的监听事件时,我们应该注意:setFocusable(true)和addKeyListener(this)是放在setVisible(true)前面的;requestFocus(true)是放在setVisibale()后面的。原创 2021-02-05 17:24:05 · 327 阅读 · 0 评论 -
Java GUI编程之AWT和Swing
目的:为了了解MVC架构,了解监听,我们有必要学习Java GUI 编程。AWT:抽象窗口工具箱。1.弹出窗口实例:package GUI;import java.awt.*;public class TestFrame { public static void main(String[] args) { //设置标题 Frame myFrame = new Frame("myFrame"); //设置可见性 myFra原创 2021-02-03 16:50:52 · 915 阅读 · 4 评论 -
Java Swing开发 Label标签 界面中文出现乱码解决方案
问题:当使用Swing开发中的JFrame添加Label组件时在界面显示乱码:源码:package GUI.Swing;import javax.swing.*;import java.awt.*;public class TestJFrame { public static void main(String[] args) { new TestJFrame().init(); } //自定义初始化方法,贴近真实项目的游戏开发 public原创 2021-01-31 10:09:48 · 2915 阅读 · 1 评论 -
Java 数组
1.声明数组:两种方式 //声明数组 int[] a; int b[];2.初始化数组: //初始化数组 int[] c = new int[10]; //给数组元素赋值 for (int i = 0; i < c.length; i++) { c[i] = i; }说明:创建一个数字数组时,所有元素都初始化为0。boolean数组的元素会初始原创 2021-01-28 16:38:49 · 83 阅读 · 0 评论 -
Java 命令行参数 main(String[] args)
Test.java:public class Test { public static void main(String[] args) { if (args[0].equals("h")){ System.out.print("hello"); } for (int i = 1; i < args.length; i++) { System.out.print(" "+args[i]);原创 2021-01-27 18:25:34 · 112 阅读 · 0 评论 -
Java 8种基本数据类型
整型:byte:1字节short:2字节int:4字节long:8字节注意:长整形数值有一个后缀L或l。浮点类型:float:4字节double:8字节注意:float数值有一个后缀F或f。char类型:示例:public class Test { public static void main(String[] args) { char c1 = 'A'; char c2 = '\u03C0';// 4个十六进制数 Sys原创 2021-01-21 22:26:56 · 101 阅读 · 1 评论 -
Java 集合
一.Collection是所有单列集合的最顶层接口,定义了所有单列集合共性的方法。任意的单列集合都可以使用Collection接口中的方法。原创 2021-01-18 11:34:20 · 157 阅读 · 1 评论 -
null==和==null 两种写法的区别
简单来说,就是为了减少程序出错的概率。因为在写a==null,很可能写成a=null,有些情况程序并不会编译报错,因此很难发现问题。所以有些人习惯写成null ==.原创 2020-12-07 16:06:11 · 3928 阅读 · 0 评论 -
Java 定义和使用含有泛型的类、方法和接口 及 泛型通配符<?>的使用 及 泛型的上限限定和下限限定
一.定义和使用含有泛型的类/*说明:泛型是一个未知的数据类型,当我们不确定使用什么数据类型的时候,可以使用泛型;简单来说,就是在定义类或类的成员变量的类型的时候不把类型写死了。在创建对象的时候,想用啥类型就创建啥类型的对象。 */public class Person<E>{ private E userName; private E age; public E getUserName() { return userName; }原创 2020-09-02 08:10:52 · 337 阅读 · 0 评论 -
Java StringBuilder和StringBuffer
1.概述:StringBuilder和StringBuffer常用于字符串的拼接。二者区别在于,StringBuilder是线程不安全的(线程同步访问会出现问题)但是效率较高,StringBuffer是线程安全的。2.使用StringBuilder和StringBuffer的好处:String类使用加号进行字符串拼接的时候,会产生很多临时字符串对象,而StringBuilder或StringBuffer只产生一个对象。3.实例:在这里插入代码片...原创 2020-08-29 11:06:21 · 184 阅读 · 0 评论 -
Java Date、SimpleDateFormat以及GregorianCalendar时间日期类
1.Date类:常用功能较少,主要功能已经被分割成其他时间类了。import java.util.Date;public class Test { public static void main(String[] args) { /** * 可以用毫秒数比较两个时间的大小 */ Date date = new Date(); long time = date.getTime();//返回1970年1月1日0原创 2020-08-29 09:25:23 · 183 阅读 · 0 评论 -
Java 包装类
1.包装类的作用:把基本数据类型转换为包装类对象或者把包装类对象转换为基本数据类型。***以Integer包装类实例代码讲解,其他七种类型类似。public class Test { public static void main(String[] args) { //基本类型转换成Integer对象 Integer integer1 = new Integer(100); Integer integer2 = Integer.valueOf原创 2020-08-24 09:23:09 · 126 阅读 · 0 评论 -
Java File类、IO流 实例讲解
一.IO流概述:输入流(InputStream):把数据传到程序中(上传)。输出流(OutStream):把数据从程序中输出(下载)。二.实例化File类的三种方法:import java.io.File;public class TestFile { public static void main(String[] args){ //第一种 File file1 = new File("D:\\a"); //第二种原创 2020-08-23 12:28:39 · 324 阅读 · 0 评论 -
Java 对文本的内容进行排序以及因为记事本与IDEA的编码格式冲突导致排序失败的解决方法
文本内容如下:实现如下:import java.io.*;import java.util.HashMap;public class TestIO{ public static void main(String[] args) throws IOException{ /** * HashMap内部默认使用key值的升序排序; * 所以我们利用HashMap这一特性进行排序操作。 * * 关健思路:原创 2020-08-22 11:24:41 · 452 阅读 · 0 评论 -
Java 字符串
/** * 功能:将java_520_字符串截取改为520字符串截取。 */public class TestFile { public static void main(String[] args){ String name = "java_520_字符串截取"; int startNumber = name.indexOf("_");//4 String substring1 = name.substring(startNumber .原创 2020-08-16 17:14:33 · 120 阅读 · 0 评论 -
Java 生成随机数实例
一.Math.random()方法随机数范围:0<=Math.random()<1.0实例:public class TestRandom { /** * 定义获取任意字符之间的随机字符方法 * @param char1 * @param char2 * @return */ public static char getRandom(char char1,char char2){ return (ch原创 2020-08-09 08:59:14 · 186 阅读 · 0 评论 -
Java 成员内部类 静态内部类 局部内部类 匿名内部类
内部类:public class Outer { private int age = 11; public void out(){ System.out.println("外部类"); } //内部类 public class Inner{ public void in(){ System.out.println("内部类"); } public void getO原创 2020-08-07 10:30:31 · 222 阅读 · 0 评论 -
Java 类的构造方法
类的构造方法是一种特殊的方法:1.没有返回值,也不用void关键字标识。2.用类名作为方法名。简述:调用构造方法的方式也与普通方法不同,不需要使用new关键字来调用,而是在创建对象的时候就立即被调用了。构造方法的功能是对对象中的所有成员变量进行初始化,同时为对象开辟空间。如果用户没有定义构造方法,Java会自动提供一个默认的构造方法用于成员变量的初始化。默认提供的构造方法:可以在.Java文件对应的.class文件中找到。默认提供的构造方法如下:public 类名() { }构造方原创 2020-08-04 07:32:47 · 289 阅读 · 0 评论 -
Java 捕获异常 抛出异常
java异常类结构图:链接捕获异常:public class Test1 { public static void main(String[] args) { /** * catch()里面就是我们要捕获的异常,级别越高的异常写在越下面,层层递进。 */ try { int a = 1; int b = 0; int c = a/b;原创 2020-08-02 18:42:00 · 258 阅读 · 0 评论 -
Java interface关键字及接口实现的简单讲解
定义两个接口:/** * 定义一个接口 */public interface UserService{ void add(String name);//相当于public abstract void add(String name);因此不能写实现。}public interface Service { void delete();}实现以上两个接口:/** * 1.实现接口后,必须重写里面的方法,不然报错。 * 2.可以实现多个接口,并重写里面的方法原创 2020-08-02 11:14:07 · 221 阅读 · 0 评论 -
Java abstract关键字 抽象类 抽象方法的简要讲解
抽象的作用:把类和方法抽象出来,节省写重复代码的时间,提高开发效率。父类:/** * 抽象类: * 1.不能new这个抽象类,只能靠子类去继承然后重写其中的方法。 * 2.抽象类中可以写抽象方法和普通方法。 * */public abstract class Person { /** * 抽象方法: * 1.只有方法名字,没有方法的实现。 * 2.抽象方法必须写在抽象类中。 */ public abstract void doSome原创 2020-08-02 10:25:25 · 157 阅读 · 0 评论 -
Java中匿名代码块、静态代码块以及构造方法的执行顺序
public class Test { { //匿名代码块用来赋初值 System.out.println("匿名代码块"); } static { //静态代码块只执行一次 System.out.println("静态代码块"); } public Test(){ //构造方法 .原创 2020-08-02 09:47:13 · 522 阅读 · 0 评论 -
Java 利用系统时间计算程序算法耗费的时间 精确到纳秒
功能:可以简单比较多个算法哪一个更快。实例: long starTime = System.currentTimeMillis(); //具体算法代码 long endTime = System.currentTimeMillis(); long time = endTime-starTime;说明:System.currentTimeMillis()是java中常用的获取系统时间的方法,它返回的是1970年1月1日0点到现在经过的原创 2020-08-02 08:19:56 · 489 阅读 · 0 评论 -
Java 常用的日期和时间格式化转换符
1.常用的日期格式化转换符:实例:import java.util.Date;public class Demo15 { public static void main(String[] args) { Date date=new Date(); String year=String.format("%tY",date); String month=String.format("%tB",date); String day=St转载 2020-08-01 18:46:39 · 611 阅读 · 0 评论 -
Java super关键字
protected权限修饰符:链接实例一:使用super关键字调用父类的成员变量和方法。父类:public class Person { protected String userName = "小明"; protected void doSomething(){ System.out.println("doSomething....."); }}子类:public class Student extends Person{ pri原创 2020-07-31 16:51:25 · 103 阅读 · 0 评论 -
Java 继承
注意:1.Java中所有的类都直接或间接继承object类,意思就是说,我们随便实例化一个类后都可以调用object类里的方法。2.java中类只有单继承,没有多继承。意思就是说,直接继承的父类只能有一个。简单继承实例:父类:/** * * 通过set/get方法访问成员变量,体现封装思想。 * */public class Person { private int money = 1000; public void eat(){ System.out原创 2020-07-31 10:40:42 · 227 阅读 · 1 评论 -
Java 封装
详细参考资料:Java 封装实例:/** * 注意事项: * * 1.属性必须私有。因为不能让其他类直接访问这个类的属性,要通过get/set方法来间接访问。 * * 2.get/set方法必须为public修饰。因为public方法是外部类访问该类成员变量(属性)的入口。 * */public class Student { private String name; private int age; public String getName() {原创 2020-07-31 09:59:08 · 91 阅读 · 0 评论 -
简单了解Java中的增强for循环
public class Test1 { public static void main(String[] args) { int arr[] = {1,2,3,4,5}; /** * 普通for循环遍历数组中的元素 */ for (int i = 0; i < arr.length; i++) { System.out.println(arr[i]); }原创 2020-07-19 10:07:18 · 144 阅读 · 1 评论 -
java基础之Scanner扫描器的简单使用
案例一:import java.util.Scanner;/** * 接收字符串 */public class Test1 { public static void main(String[] args) { //创建一个扫描器对象,用于接收键盘数据 Scanner scanner = new Scanner(System.in); System.out.println("使用next方式接收:"); //判断用户有没原创 2020-07-18 17:09:09 · 944 阅读 · 0 评论 -
Java 解决商业货币计算中浮点数精度丢失问题
/** * 避免使用浮点数进行比较(特别是涉及到货币的业务),因为存在误差 */public class Test { public static void main(String[] args) { float e = 0.1f; double f = 1.0/10; System.out.println(e);//0.1 System.out.println(f);//0.1 Syst..原创 2020-07-17 21:35:14 · 216 阅读 · 0 评论 -
Java基础之进制
/** * Java中的进制表示 */public class Test { public static void main(String[] args) { int a = 10;//十进制 int b = 0b10;//二进制0b开头 int c = 010;//八进制0开头 int d = 0x10;//十六进制0x开头 System.out.println(a);//10 System原创 2020-07-17 21:30:00 · 108 阅读 · 0 评论 -
Java基础之length()和charAt()方法的简单使用
1.length()方法的简单使用int length()//用于返回字符串的长度实例:public class HelloWorld { public static void main(String []args) { String aa = "www.baidu.com"; int aaLength = aa.length(); System.out.println("aa的字符串长度为:"+aaLength);//aa长度为13 Strin原创 2020-06-04 08:23:13 · 675 阅读 · 0 评论 -
eclipse找不到源代码连接以及怎样在编程开发中搜索下载官方jar包
举例说明:1.使用Ctrl+鼠标左键来查看源码,提示我们是c3p0-0.9.2.1.jar没有任何源代码连接,因此我们要导入这个jar包的源代码:2.源代码:下载地址.如图,搜索出要下载的源码:3.找到要下载的版本并点击进入下载页面:4.点击View All进入到下载界面:5.如图点击下载sources.jar,下载后存放的位置无要求:6.在eclipse中点击“连接源代码”...原创 2020-01-31 21:15:10 · 1219 阅读 · 0 评论 -
eclipse查询jar包中的类
快捷键:Ctrl+ Shift+T原创 2020-01-29 19:34:08 · 986 阅读 · 0 评论 -
jdbc连接MySQL数据库并且查询遍历出数据以及Java中toString()方法的简单使用
一.创建一个User类,用来封装从数据库里查询出来的数据:public class User { private String username; private String age; private String sex; public String getUsername() { return username; } public void setUsername(S...原创 2020-01-14 21:24:53 · 1591 阅读 · 0 评论 -
Java枚举简单应用实例
/** * * 枚举简单应用实例 * */public enum EnumTest { CHECK(0,"审核中"); private int state; private String stateInfo; /** * 一旦为枚举类显式定义了带参数的构造器,则列出枚举值时也必须对应地传入参数; * 构造方法中的参数个数与类型必须与CHECK(0,"审核...原创 2019-12-16 16:35:20 · 213 阅读 · 0 评论