java学习笔记
常见的修饰符及其对应的位掩码:
在反射中,调用getModifiers方法会返回一个整数值,该值代表了修饰符的位掩码,可以使用Modifier下的静态方法或位运算来判断是否具有某个修饰符。
int mod = field.getModifiers();//位掩码
if (Modifier.isStatic(mod) || Modifier.isFinal(mod)) {//判断位掩码
continue;
}
常见的修饰符包括:
public:表示公共访问权限。private:表示私有访问权限。protected:表示受保护访问权限。static:表示静态成员。final:表示不可被继承(对于类)或不可被修改(对于成员变量和方法)。abstract:表示抽象成员(对于方法)或抽象类。synchronized:表示同步方法或同步代码块。volatile:表示易变的成员变量。transient:表示非持久化的成员变量。native:表示本地方法。interface:表示接口。enum:表示枚举类型。
常见的修饰符及其对应的位掩码
public:1private:2protected:4static:8final:16synchronized:32volatile:64transient:128native:256interface:512abstract:1024strictfp:2048
--测试字符类型
package myJavaNotes;
/**
* 测试字符类型
* @author 康爸爸
* */
/*char类型表示在Unicode编码中的字符。
* Unicode编码被设计用来处理各种语言的文字(万国码),占2个字节,可允许有65536个字符
* 范围:0~65535;通常从'\u0000'到'\uFFFF'之间的十六进制值表示(前缀u表示Unicode)
* */
/**
* 字符串运算符 '+'
*@author 康爸爸
*
*/
public class Char {
public static void main(String[] args) {
//单引号 ' ' 括起来表示字符
char a = 'T';
char b = '商';
char c = '\u0061';//表示字符 a
char 阿 = 's';//支持char一个汉字类型的变量
System.out.println(c);//c==a
//双引号 " " 括起来表示字符串,但要用String声明
//String就是字符序列
String s = "abc";
System.out.println(s);
//转义字符
System.out.println("=====================");
System.out.println('a'+'b');//遇到 + char类型自动转化为int类型
System.out.println('a'+'\n'+'b');// '\n'换行符的值为10
System.out.println("=====================");
System.out.println(""+'a'+'\n'+'b');//防止char类型转化为int类型,需要在前面加上双引号表示字符串连接符
System.out.println(""+'a'+'\''+' '+'"');//结果为 a' "
System.out.println(""+'a'+'\''+' '+'\"');//与上面结果一致
System.out.println(""+'a'+'\\');//结果为 a\
System.out.println("============================================================");
/*
* 字符串连接符 +
* 当 + 左右两边有一个是字符串时,相加的结果为字符串 如:3+"4" = 34,此时为字符串34
* 当 + 左右两边有一个是字符时,会将字符转为ascII码再与数值相加
* 当 + 左右两边一个是字符,一个是字符串时,结果为字符串
* */
String d = "3";
int e = 4;
int f = 5;
char g ='a';
System.out.println(d+e);//结果为 34
//执行顺序从左向右
System.out.println(d+e+f);//结果为345,d为字符串,d+e的结果为字符串34,再+f也是字符串345
System.out.println(e+f+d);//结果为93,e和f均为数值,e+f结果为十进制数,d为字符串,+d后为字符串93
System.out.println(g+e);//结果为101;字符与数字相加,字符转为ascII码再与数字相加;a的ascII码为97,所以97+4==101
System.out.println(g+d);//a3
System.out.println(g+d+e);//字符串a34
System.out.println(e+d+g);//字符串43a
System.out.println(e+g+d);//先执行e+g,e为十进制4,g为字符a,ascII码为97,所以e+g==101,再+字符串3,结果为1013
}
}

浙公网安备 33010602011771号