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:1
  • private:2
  • protected:4
  • static:8
  • final:16
  • synchronized:32
  • volatile:64
  • transient:128
  • native:256
  • interface:512
  • abstract:1024
  • strictfp: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
    
        
    }
}


posted @ 2020-01-26 01:21  destiny-2015  阅读(197)  评论(0)    收藏  举报