JAVA随笔(2021/12/12)

随笔

一、零碎知识

  1. 即使一个类未显示的定义构造函数,也会有一个缺省的构造函数,缺省的构造函数是无参的,函数体为空。

  2. 一个线程对象的具体操作是由run()方法决定的。有两种方法:
    a. Thread类中的run()方法是空的,所以用户必须要派生一个Thread的子类,重写run()方法。
    b. 写一个类实现Runnable接口,并书写其中的run()方法。

  3. Java的字符类型采用的是Unicode编码,具体一个unicode编码,占几字节,取决于unicode编码采用什么编码,如utf-8,utf-16,utf-32。一般认为占2字节,16位。

  4. 子类对象绝对大于父类对象。拥有但不一定能使用。

  5. Applet是一种特殊的Pannel,它是Java Applet程序的最外层容器。

  6. run()方法定义线程的执行体。

  7. synchronized可以用来给对象加互斥锁。

  8. 声明接口时,只能用public来修饰。

  9. 构造函数的返回值是:什么也不是(注意:不是void)

strim()去掉首尾空白字符

str = "  abs   "
str.strim();//删除头尾空白符的字符串
输出:abs

parseInt()解析字符串转换为整型。

a = Interger.parseInt("123");
输出:a=123,整型
  1. true不是Java的关键字
==//引用位置相同,则true
equals()//内容相等就true
  1. 正则表达式
.*xxxxxx.* //用于查找字符串中是否包了 xxxxxx 子串
String str = "I love you";
String pattern = ".*love.*";
boolean ifhave = Pattern.matches(pattern,str);
System.out.println(ifhave);//true

二、dos下编译出现乱码

  1. 问题描述:

在这里插入图片描述解决:
法一:

javac -encoding utf-8 Main.java

在这里插入图片描述
法二:
用notepat++转码:

在这里插入图片描述

三、 规范

  • Java命令尽量从一开始,就学的非常规范,严格要求自己。
  • 没有规矩,不成方圆。
  • 不然后面,你自己看自己的写的代码都觉得丑。

四、\r\n

  • \r是回车,英文是Carriage return,作用:使光标到行首
  • \n是换行,英文是New line/line feed,作用:使光标下移一行
  • 我们平时所说的键盘Enter键换行实则应该叫做叫做回车换行(\r\n)
  • windows下可直接使用\n来匹配换行符,但仍然推荐使用标准的\r\n来匹配键盘Enter键的换行符
  • 使用\r\n组合是有顺序的,调转顺序写成\n\r是错误的,将无法匹配换行符!

五、广度遍历与深度遍历

  • 深度优先遍历:说白了深度优先遍历就是一种不撞南墙不会头的算法,他会把一条路走完之后再回溯到有分叉的节点继续遍历。
  • 广度优先遍历:这是一种层层递进的算法,与树的层序遍历类似。在广度优先搜索时,会从起点开始“一层一层”扩展的方法来遍历,扩展时每发现一个点就将这个点加入到队列,直到整张图都被遍历过位置。

六、无参构造器与有参构造器

class Mai {
	public Mai() {
		System.out.println(1);
	}
	public Mai(int elem) {
		System.out.println(2);
	}
	Mai M;

}
public class Main {
	public static void main(String[] args) {
		Mai m = new Mai();
		System.out.println(3);
	}
}
  • 可以自己实验一下
  • 调用无参,有参不会执行
  • 调用有参,无参不会执行
  • M值为如何?

七、C语言中的unsigned int

  • int:定义整数类型变量的标识符。
  • unsigned int:需声明无符号类型的话就需要在类型前加上unsigned。
  • int 型的范围:-2^31 ~ 2^31 - 1,
  • 而unsigned int的范围:0 ~ 2^32
  • 如果表达式中既有int 又有unsigned int,则所有的int数据都被转化为unsigned int类型
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

姜满月

鼓励,鼓励,更加努力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值