学习Java这么久了,总算也了点笔记,一个一个字码的哟!
1、Java中的int等类型变量既然已经有默认值为0,为什么还会出现没有初始化,编译出错呢?
一个变量作为类成员使用的时候,如果没有被初始化,java会为其分配默认值:
Boolean false
Char ‘\u0000‘(null)
byte (byte)0
short (short)0
int 0
long 0L
float 0.0f
double 0.0d
如果在一个方法中定义一个变量,java不会给其分配默认值,就必须我们来给他初始化,否则将得到编译错误的提示;
2、不使用第三个变量交换两数的值。
方法一、a=a^b;
b=b^a;
a=a^b;
方法二、a=a+b;
b=a-b;
a=a-b;
方法三、a=a*b;
b=a/b;
a=a/b;
3、基本数据类型不包括string
4、两个数值进行运算时结果至少是int型,如果参与运算的两个数值级别比int型低或是int型,结果就为int型,若有一个数值级别比int型高,则结果与数值高的级别相同。
5、数组初始化时不可将静态初始化和动态初始化同时使用,即不可在数组初始化时指定数组长度的同时为每一个数组元素赋值, 如:Stringpoetry[]=newString[5]{“1”,”2”,”3”,”4”,”5”}编译会出错
6、foreach语句
for(数据类型 变量名:数组名){
//循环体
}该语句不能通过循环改变数组中元素的值
7、定义数组时,内层数组是在外层数组内创建的,所以不能没有行数,但可以没有列数
8、关于获取StringBuffer对象的容量问题
1、没有指定容量的大小时,系统默认16字符的容量
2、如果修改后的StringBuffer对象容量小于字符串的内容,增长规律为:(容量+1)*2
3、如果2增长后还是小于字符串容量则它的容量就等于字符串容量
9、类中的成员变量如果隐藏的话可以通过setName(),setAge()之类的形参与数据成员同名,可以通过前缀this访问该成员变量
10、只要是类就一定有构造函数,并且只要创建对象会执行构造函数,构造函数不能直接访问构造函数,但可以使用this关键字
11、静态方法无法访问非静态方法的实例变量和方法
12、程序入口main()函数输入参数时,每一个参数要用空格分开,如果参数中有空格,则将其用(“”)括起来
13、一个原文件中只能有一public类,且累的访问权限只有public和default两种
14、直接在类中定义的且没有加static的代码块{}称为构造块,每次创建对象时都要调用,并优先于构造函数
15、无论创建多少对象,静态代码块之执行一次
16、子类不能继承父类的构造函数,但可以通过super关键字调用
17、子类和父类在同一包中,子类不能调用父类的private的属性和方法,但可以调用非private的属性和方法。若不爱哟个包中,在则不可访问private和默认级别的属性和方法
18、出现递归构造器调用错误时,构造方法之间相互调用时,一定要留出一个出口,一般会将无参构造函数作为出口,即它不在带哦用其他构造函数。
19、对象的成员变量初始化顺序
1、父类静态成员和静态初始化块,按在代码中的顺序执行
2、子类静态成员和静态初始化块,按在代码中顺序执行
3、父类实例成员和实例初始化块,按在代码中顺序执行
4、执行父类构造方法
5、子类实例成员和实例初始化块,按在代码中顺序执行
6、执行子类构造方法
20、parseBoollean()方法在接收字符串时,规则和Boolean类的构造方法一样,只要字符串为true(区分大小写),返回值为true,否则返回false
21、final修饰基本数据变量后不可修改,且只能在定义时初始化或用构造块初始化;修饰引用数据类型后,引用不可修改,但是可以修改引用对象的属性;只有非抽象类的方法才可以被final修饰
22、使用正则表达式验证邮箱格式
import java.util.Scanner;
public class ScannerDemo {
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
String pattern = "[a-zA-Z0-9_\\.]+@[a-zA-Z0-9]+[\\.a-zA-Z]+$";
System.out.println("请输入邮箱地址:");
String mail=null;
if(scan.hasNext(pattern)){//输入数据
mail=scan.next(); //将数据再次读入
System.out.println("您输入的邮箱:"+mail);
}else{
System.out.println("您输入的邮箱格式不正确!");
}
}
}
我的Java问题集(1)(重点、难点、疑点)未完待续...