注释

  • 文档注释:   以“/**”开头以“*/”结尾,注释中包含一些说明性的文字及一些JavaDoc标签(后期写项目时,可以生成项目的API)
  • 行注释:   以“/*”开头以“*/”结尾,在“/*”和“*/”之间的内容为注释,我们也可以使用多行注释作为行内注释。但是在使用时要注意,多行注释不能嵌套使用

标识符

  • 标识符必须以字母、下划线_、美元符号$开头($符号一般用于系统编译内部类,由系统自动生成,eg:Stack.class Stack$Node.class,意思是Node是Stack的内部类,不推荐coder用于命名)
  • Java 标识符大小写敏感,且长度无限制
  • Java不采用通常语言使用的ASCII字符集,而是采用Unicode这样标准的国际字符集。因此,这里字母的含义不仅仅是英文,还包括汉字等等
  • 变量和常量命名规范(规范是程序员的基本准则,不规范会直接损害你的个人形象):

  • 包名:com.公司名.项目名.模块名... 全部小写

  • 所有变量、方法、类名:见名知意

  • 类成员变量:首字母小写和驼峰原则:  monthSalary

  • 局部变量:首字母小写和驼峰原则

  • 常量:大写字母和下划线:MAX_VALUE

  • 类名:首字母大写和驼峰原则:  Man, GoodMan

  • 方法名:首字母小写和驼峰原则: run(), runRun()


数据类型

  • 基本数据类型

    1. 数值型-

      1. [整型] :byte(1)、 short(2)、int(4)、 long(8)

        1. 如果两个操作数有一个为Long, 则结果也为long

        2. 没有long时,结果为int。即使操作数全为short,byte,结果也是int

        3. 不存在byte,short常量 ,byte b=19; 19是int型,因为太常用,java内部自动会进行显式转换

        4. double d = 2.0e-6*100000000.1;
          System.out.println(d); 结果:200.0000002
      2. [浮点型]:float(4)、 double(8)

        • 不要使用浮点数进行比较,浮点数因为精度问题可能出错,如果要精确计算用BigDecimal

          float d1 = 423432423f;

          float d2 = d1+1;d2是等于d1的

        • 如果判断两个浮点数是否相等,但不需要精确计算的时候应该使用(f1-f2)< 1e-N 而不是使用(f1==f2),特别是在使用浮点数进行for循环的时候,切记使用(f1-f2)<1e-N


          示例代码: double d = 0.001;
          for (double i = 0; i<d ; i += d/10) { }
          这样写是错误的,极有可能出现数学意义上i>d的情况,因为计算机在存取浮点数时是有精度损失的 正确的写法应该是类似下面的写法 double d = 0.001;
          for (double i = 0; (d-i)>1e-9 ; i += d/10) { }
        • float数值要加F/f

        • double转float的时候采取的是四舍五入原则,double和float转整型时是截尾取整,而若要选用四舍五入则可以使用Math.round(参数)方法

        • 因为精度问题,看起来相等的float值和double值不一定相等

          eg:  float f=0.4f; double d = 0.4;      f > d ; f=0.40000000059604645 d=0.400000000000000000;

        • float 的最小值不是Float.MIN_VALUE(代表float能表示的最小精度 1.4E-45),float的最小值是-Float.MAX_VALUE
    2. 字符型- char(2)

      1. 'a' != "a" 前者是字符,后者是字符串

      2. char ch='';是错的,char里面不能存NULL,ch=' '才是正确的,里面存了个空格

      3. char进行运算时,会转成int进行计算 eg:'2'+'2'=100

      4. char的取值范围非负,所以与其他类型之间没有包含关系无法自动类型转换。char转换为int,long时进行无符号拓展

    3. 布尔型-boolean(1位 或 1byte,不同编译器并不一样,官方也没有说明,更广泛的说法是后者 1 byte)

      1. 不是C语言,0和1并不代表true/false

      2. java中不允许if(a=b),除非a和b都是Boolean值,这时相当于执行下面语句

        boolean a = true;
        boolean b = false; if(a=b){
        system.out.printf("false");
        } /*
        if(a=b) 等价于 a=b; if(a); */ /*
        int m = 2;
        int n = 4; if(m=n)是错误的 */
  • 引用数据类型()
  1. 接口
  2. 数组
    1. 数组的申明及初始化
      
      int[] arr = new int[5];
      
      int[] arr = {1,2,3,4};
      
      /*不允许分开写,下面是错误的
      
           int[] arr;
      arr={1,2,3,4} */ int[] arr = new int[]{1,2,3,4}; //注意右边不需要指明长度 //允许这样写 int[] arr;
      arr = new int[]{1,2,3,4}

      2.注意:arr.length是数组长度,不一定是元素长度,数组内部可能是空的,但length还是会计数

注意:基本数据类型变量是不会自行初始化

但引用数据类型会,整型为0,boolean为false,字符型&字符串型为NULL(unicode的0),object为NULL


运算符

  1. 位运算符

    1. &(按位与) 和 |(按位或)既是位运算符也是逻辑运算符
    2. 如果两侧操作数都是boolean类型,就作为逻辑运算符。如果两侧的操作数是整数类型,就是位运算符
    3. &(按位与) |(按位或)~(按位取反) ^(按位半加,不进位) 异或“相同取0,相异取1”
  2. 逻辑运算符
    1. & 和 &&都是与运算符,&&是短路运算符,一假直接跳出
    2. | 和 ||都是或运算符,通理
  3. 关系运算符
    1. =是赋值运算符,而真正的判断两个操作数是否相等的运算符是==。

    2. ==、!= 是所有(基本和引用)数据类型都可以使用

    3. > 、>=、 <、 <= 仅针对数值类型(byte/short/int/long,  float/double。以及char)

  4. 扩展赋值运算符

    1. 自带强转功能 eg:short s =10; s+=10;是正确的

  5. 移位运算符

    1. a>>n(a右移n位),,负数高位补1,正数高位补0,移移位相当于除2

    2. a>>>  n  :     无符号右移,忽略符号位,高空位都以0补齐

    3. 左移和右移都可以与等号组合使用 eg int a =10;a>>=2;意为a右移2位


强制类型转换

  1. 不能在布尔类型和任何数值类型之间做强制类型转换
  2. 强制类型转换格式是(int) num, 不是int (num)

变量

  1. 被final修饰的变量,不可变的是变量的引用,不是数值,map等等的内容都可以改
  2. static

java 一些容易忽视的小点-数据类型和运算符篇的更多相关文章

  1. java基础知识(一)之数据类型和运算符

    1.标识符:JAVA里面我们可以为之命名的就是标识符,如变量.方法.类等. 但是标识符只能包含字母.数字.下划线(_)和美元符号($),并且只能以字母.下划线和美元符号开头不能以数字开头.2.变量:在 ...

  2. Java 第二章 变量、数据类型和运算符

    第二章      变量.数据类型和运算符 什么是变量: 变量代表一块内存区域,变量类型不一样,这一块内存的大小也不一样. #在编程语言里面,你可以通过定义变量,向内存里添加数据或者修改内存已有的数据. ...

  3. Java中的变量,数据类型和运算符

    变量,数据类型和运算符 1.变量是一个数据存储空间的表示,它是储存数据的基本单元. 如何理解这句话,下面用一个表格可以形象的表达: 变量与房间之间的对应关系 房间名称 变量名 房间类型 变量类型 入住 ...

  4. Java1变量数据类型和运算符

    day02_变量数据类型和运算符   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 public class jh_01_数据类型说明 {     public  ...

  5. IOS开发新手教程(一)-数据类型和运算符

    OC语法入门(一) 数据类型和运算符 1.1凝视 凝视和其它语言一样,同意单行 ,多行凝视,一份规范的代码里面须要有一些正式的凝视,例如以下凝视: /* 这是多行 凝视 */ //这是多行凝视 OC语 ...

  6. PostgreSQL自学笔记:5 数据类型和运算符

    5 数据类型和运算符 5.1 PostgreSQL 数据类型介绍 5.1.1 整数类型 整型类型 字节 取值范围 smallint 2字节 -2^15 ~ 2^15 int integer 4字节 - ...

  7. 使用 JavaScript 中的变量、数据类型和运算符,计算出两个 number 类型的变量与一个 string 类型的变量的和,根据 string 类型处于运算符的不同位置得到不同的结果

    查看本章节 查看作业目录 需求说明: 使用 JavaScript 中的变量.数据类型和运算符,计算出两个 number 类型的变量与一个 string 类型的变量的和,根据 string 类型处于运算 ...

  8. 初识java之变量、数据类型和运算符(一)

    博友目标: 1.掌握变量的概念 2.引子----会使用常用数据类型 众所周知,每台电脑都有一个内存这么个必不可少的元素,那么到底内存到底是用来干什么的呢?其实啊,计算机内存相当于人类的大脑,计算机在处 ...

  9. java 数据类型和运算符

    1.注释 单行注释:  //哈哈哈 多行注释: /* 啦啦啦 */ 文档注释: /**    */注释中包含一些说明性的文字及一些JavaDoc标签(后期写项目时,可以生成项目的API)        ...

随机推荐

  1. 前端调用接口报错看不到报错响应时 console.dir

    console.dir() 可以看到很多.log看不到的属性和方法

  2. 学习笔记58—3D杯子设计

    软件下载:http://www.i3done.com/ 界面如下: 3D杯子设计步骤(参考:http://www.i3done.com/news/video/402.html): 生成杯体 1.点击基 ...

  3. 使用Qpaint在图片上写文字

    开发过程中需要实现在图片上叠加文字,可以采用Qpaint在图片上写文字,然后将图片显示在上面.再将Qlabel加到Qwidget中.效果如下 //创建对象,加载图片 QPixmap pix; pix. ...

  4. pdf can't copy text 无法复制文字

    有些 pdf 是通过图片弄出来的,或者被 protect 了. 我们会无法 copy 里面的字. 这个时候可以用 OCR (Optical character recognition) 就是从图片中识 ...

  5. word2010怎么把白色方框变成黑色方框?

    word2010怎么把白色方框变成黑色方框? 打开Word 2010文档,选中第四个白色方框.  切换到“插入”功能区,在符号选项组单击“符号”按钮,出来的窗口单击“其他符号”.  在“符号”选项卡单 ...

  6. Navicat Premium 12如何激活

    Navicat Premium 12如何激活 一.总结 一句话总结:激活过程中一定要断开网络连接,点电脑的飞行模式没有用,断开网络连接之后才有手动激活的选项 需要断网 点电脑的飞行模式无用 二.Nav ...

  7. 雷林鹏分享:jQuery EasyUI 树形菜单 - 树形网格惰性加载节点

    jQuery EasyUI 树形菜单 - 树形网格惰性加载节点 有时我们已经得到充分的分层树形网格(TreeGrid)的数据. 我们还想让树形网格(TreeGrid)按层次惰性加载节点. 首先,只加载 ...

  8. springboot---->java.lang.IllegalArgumentException

    springboot aop编程时,在方法上加入通知的注解,添加织入路径测试,发生报错: java.lang.IllegalArgumentException: Pointcut is not wel ...

  9. Python自学:第二章 使用制表符或换行符来添加空白

    print("Languages:\n\tPython\n\tC\n\tJava") 输出为: Languages: Python C Java

  10. Lab 6-2

    Analyze the malware found in the file Lab06-02.exe. Questions and Short Answers What operation does ...