初学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
    评论
### 回答1: 《Effective Java》是一本由Joshua Bloch所著的Java开发指南。它与其他的Java书籍不同之处在于,它并不是一本介绍Java语法或概念的书籍,而是提供了一些最佳实践指南和设计模式,以及Java程序员需要知道的一些细节和陷阱。 在这本书中,Joshua Bloch强调了Java程序设计中的可读性、正确性、灵活性和性能等方面的重要性,并提供了实用的解决方案和技巧。例如,他介绍了一些常用的设计模式,如单例、工厂和建造者模式,还介绍了一些避免常见陷阱的实践方法,如避免空指针异常和Java序列化问题。 《Effective Java》的受众主要是Java程序员和软件设计师,它可以帮助读者更好地理解和使用Java编程语言,提高代码质量和效率。无论是初学者还是有经验的程序员,这本书都是学习和参考Java编程中必不可少的工具。 ### 回答2: “Effective Java”是一本经典的Java编程指南,由Java大师Joshua Bloch所著。这本书详细讲解了Java编程中的实践经验、设计模式、最佳实践等内容,对于想要成为高效Java程序员的开发者来说,是一本非常有价值的读物。 本书的内容主要涉及如何使用Java中的各种语言特性和机制以及Java中的最佳实践。书中对于各种Java编程语言细节进行了详尽而精准的阐述,并推荐了在实际项目中使用的最佳实践,包括使用泛型、枚举、注解、Lambda表达式、函数式编程等等。 通过学习“Effective Java”这本书,可以让人更好地了解Java编程语言的特性和机制,掌握Java编程语言的一些细节,从而编写出更加优雅、高效、可维护的Java程序。不仅如此,“Effective Java”还能够帮助人们更好地设计和开发Java程序,了解各种编程模式、设计模式等,达到编写高质量Java程序的目的。 总之,“Effective Java”是一本非常有价值的Java编程指南,对于想要掌握Java编程语言的开发者来说,是一本不可多得的好书。 ### 回答3: 《Effective Java》是一本Java程序设计者必备的经典之作,作者是Java语言之父James Gosling的学生Joshua Bloch。这本书通过短小精悍的语言,深入浅出的阐述了Java的一些核心问题,面向Java程序员的实践问题提供了许多有益的指导。该书共分为11个章节, 针对各种Java编程中的实际问题提供了153个有效的解决方案,其中包括对象创建和销毁、方法设计、泛型设计、并发、异常、IO等方面的问题。这些技巧正是伴随着Java从刚刚诞生到如今流行全球编程语言之一的这段历程中,Java程序员们所总结出的高效编程经验的结晶。而且,该书对Java语言的各种特性与细节都有详尽的解释,并对Java虚拟机的底层技术进行深入的剖析。这本书的全面性、实际性和深度都是业内公认的。因此,对于Java程序设计者而言,阅读《Effective Java》对于提高技术水平是非常有用的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值