总结的java一些细节问题

1.public class  Demo
    {
    public static void main(String[] args)
        {
        System.out.println(1.3%0.2);//小数可取模
        }
    }


2.数值可加下划线,方便标识。例如 int b =1_2345_7433;
  数值表达方式:1.0b开头 二进制
                2.0X开头 十六进制
                3.0开头 八进制

3.默认整数为Int,默认小数为double。
      例:float f = 0.1会报错
      float f=0.1f;可用
      float f=(float)0.1 强制类型转换,会损失精度;

4.两个整数类型(byte,int ,long,short)运算,结果类型:两个整数类型中有long结果
  为long,否则为int;
  同理,两个浮点类型结果有double 为double,否则为float;

5.a+=j和a=a+j看似相似,但其实类型转换时不一样。
  例如 byte a=1;byte j=2;时,a=a+j会报错,因为a+j是int类型,不能等于a。

6.a|=j;或等于。
  用途:
    例如java中数组为引用数据类型,
    一个布尔类型32个字节,使用一个int数代替布尔类型数组,节省内存。
  例:
    a = 0;
    a |= 1<<1;                 //把第二位设置成1

    a &= (~(1<<1))             //将第二位设置成0

    if((a&(1<<1))!=0)    //判断第二位值是否为1,如果是1,结果为ture。

    - - - - - - - -
    0 0 0 0 0 0 1 0    1<<1
    1 1 1 1 1 1 0 1    ~(1<<1)


7.双目运算符不加空格,单目运算符和数值间加空格,方便阅读。

8.>>,>>>有符号右移(补符号位的值)和无符号右移(补0);
  <<左移只有一个。

9.^ 异或,相同为0不同为一。

10.&&,||短路与和短路或,与&和|区别是如果已知运算结果,则不看第二位。
   java中一般只使用短路与或,不适用&和|。

11.if中的值为布尔类型
   switch(){}选择程序入口;
   ()中只能放三种值,Int,enum,String(1.7之后);
   break跳出代码块,与switch无直接关系.

   _L:
   switch(a)
   ...
      switch(b)
      ...
    break _L;  //跳出_L代码块

12.//单行注释
   /* 多行注释 */
  /*
   * 多行注释
   */
  /**
   * 文档注释
  */
  文档注释一般用于方法或类上.
 
 13.公开的类,类名必须和文件名相同;
    一个java文件中可以有多个类;
    同一个java文件中类名不能相同;
 
 14. 打印语句,自动换行
     System.out.println("Hello World!");
     打印语句,不自动换行
     System.out.print("Hello World!");
     打印语句,和c中的printf作用完全一样(除了指针,JAVA中无指针)
     System.out.printf("Hello World!");

15.八个基本数据类型
        字位:一位二进制数字
        字节:8个字位
        byte b;   //1字节,其中第一位为符号位,7位数值位,负数为补码
        short s;  //2字节,其中第一位为符号位,15位数值位,负数为补码
        int i;    //4字节,其中第一位为符号位,31位数值位,负数为补码
        long l;   //8字节,其中第一位为符号位,63位数值位,负数为补码
        float f;  //4字节,以科学记数法记数
        double d; //8字节,
        char c;   //2字节,无符号,Unicode字符集
        boolean bool;//只有两个值true,false,不可以转换成其它任何类型

   Java基本类型包括 :八种基本数据类型和void

16. 运算符
        1.以运算数分为单目运算符(++,--,!,~);
      双目运算符(+,-,*,/,=);
      三目运算符(?:)
        2.数学运算符,+-*/%
          位运算符:<<,>>,>>>,~,^,&,|
          逻辑运算符:&,|,!,&&,||
          关系运算符:==,!=,>,<,>=,<=
          特殊运算符:=,+,?:,

17.标识符:由字母,数字,_,$组成,不能以数字开头,不能是关键字48(保留字50 goto cast)
       $是用于区别内部类和外部类,一般不使用
            类名:首字母大写,驼峰命名
            方法名:首字母小写,驼峰式命名
            参数名:首字母小写,驼峰式命名
            变量名:首字母小写,驼峰式命名
            代码块名:以_开头,所有字母大写,单词之间以_分割
            包名:所有字母小写
            常量名:以_开头,所有字母大写,单词之间以_分割
            属性名:首字母小写,驼峰式命名;以m开头,驼峰式命名

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值