1 java中的数字默认类型为int

**容易出现类型转换错误

long 定义的数字后面必须有 “l” “L”

float 定义的数字后面必须有 “f” “F”

  java中比int表述范围大的数,不会自动转出其他类型。所有必须要指定。

  如果数字比int表述范围小,会在赋值的时候自动转换。

2 boolean值不能为null

也不能用0或非0赋值boolean定义的变量,这和c语言不太一样。

3 类型转换

long型占8个字节,而float占4个字节,而long自动转float是可以的。大类型转小类型的特例。

byte转char是从小到大,但是要强制转换。

4 “+”号的重载

“+”号遇到字符串会重载为连接符。如   “5+5=”+5+5 -------> 5+5=55

                  5+5+"=5+5"  -------> 10=5+5

                  'a'+5+5     ----------> 107           char实际上还是int,所以不存在运算符重载。

5 模运算的符号问题

模运算的符号只取决于被模数的符号。和模数的符号没有关系。

6 位运算中需要注意的点

byte b= 127;

byte b2= (byte)(b+1);-------->结果为-128。如果直接把128赋值给b2,就会报错!

需要注意的是。位运算之后,结果为int值。强转之后可能会造成截断错误。

例如:        byte b1 =-9;
           byte b2 = (byte) (b1>>>3);
           System.out.println(b2);

(b1>>>3)-->结果是int,所移的也是int  ,强转之后,把移位所补的0截取丢掉了。剩下的值为-2.

总结:

  符号位扩展和移位操作总是发生在32位,计算机会默认将小值自动转换成int,所以对第7位为0的byte值进行无符号操作是没有意义的,在实际运算时,是对扩展后的32位int进行操作的。

7 +=的特点

保持类型不变。如上面的代码 byte b2= (int)(b+1) 等号右边加1后会转为int型。而如果使用+=就跳过了数值运算结束默认转int的机制。

8 i++ 与 (i++)是一样的。

不要被括号迷惑!!!

9 三元运算符

  1.?后面的语句必须有返回值。

  2.?后面两个语句返回值类型必须相同。如果不同,那么会无法判断三元运算符的返回值!

java基础语法中容易出错的细节的更多相关文章

  1. 简明易懂,将细节隐藏,面向新手树立web开发概念——学完Java基础语法,超快速上手springboot+mybatiJavaWeb开发

    简明易懂,将细节隐藏,面向新手树立web开发概念 --学完Java基础语法,超快速上手JavaWeb开发 Web本质(先忽视各种协议) Web应用可以理解为浏览器和服务器之间的交互. 我们可以看一个简 ...

  2. Java基础语法(8)-数组中的常见排序算法

    title: Java基础语法(8)-数组中的常见排序算法 blog: CSDN data: Java学习路线及视频 1.基本概念 排序: 是计算机程序设计中的一项重要操作,其功能是指一个数据元素集合 ...

  3. 011 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 05 变量的三个元素的详细介绍之三—— 变量值——即Java中的“字面值”

    011 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 05 变量的三个元素的详细介绍之三-- 变量值--即Java中的"字面值" 变量值可以是 ...

  4. 010 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 04 变量的三个元素的详细介绍之二——变量类型——即Java中的数据类型

    010 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 04 变量的三个元素的详细介绍之二--变量类型--即Java中的数据类型 Java中变量的三要素 变量名 变 ...

  5. 008 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 02 Java 中的关键字

    008 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 02 Java 中的关键字 关键字 关键字就是一些有特殊意义的词 之前学习的程序中涉及到的关键字 Java中 ...

  6. Java基础语法(上篇)

                     Java基础语法(上篇) 知识概要: (1)关键字的表示与规范       (2)标示符              (3)注释                (4 ...

  7. java基础语法(一)

    java基础语法(一) 1.类是一种抽象的概念,对象是类的一种具体表示形式,是具体的概念.先有类,然后由类来生成 对象(Object).对象又叫做实例(Instance). 2.类由两大部分构成:属性 ...

  8. Java匹马行天下之JavaSE核心技术——Java基础语法

    Java基础语法 一.   认识Java 1. Java 简介 java 是一种高级的面向对象的程序设计语言,使用Java语言编写的程序时跨平台的.从pc到手机,都有Java开发的程序和游戏,Java ...

  9. JAVA基础语法——标识符、修饰符、关键字(个人整理总结)

    JAVA基础语法——标识符.修饰符.关键字 一 . 标识符 1.1    什么是标识符 就是程序员在定义java程序时,自定义的一些名字,例如helloworld 程序里关键字class 后跟的Dem ...

随机推荐

  1. Java基础:(六)关键字

    一.final 数据: 声明数据为常量,可以是编译时常量,也可以是在运行时被初始化后不能被改变的常量. 对于基本类型,final使数值不变: 对于引用类型,final使引用不变,也就不能引用其他对象, ...

  2. Kendo MVVM 数据绑定(九) Text

    Kendo MVVM 数据绑定(九) Text Text 绑定可以使用 ViewModel 来设置 DOM 元素的文本属性,如果需要设置 input,textarea,或 select 的显示,需要使 ...

  3. nmap扫描开放端口

    nmap 192.168.1.1  -p1-65535 指定端口范围使用-p参数,如果不指定要扫描的端口,Nmap默认扫描从1到1024再加上nmap-services列出的端口 nmap-servi ...

  4. Country roads take me home, to the place I belong.

    Country roads take me home, to the place I belong.故乡的路,带我回家吧,回到我期盼已久的归宿.

  5. 理解 JavaScript 的 async/await

    随着 Node 7 的发布,越来越多的人开始研究据说是异步编程终级解决方案的 async/await.我第一次看到这组关键字并不是在 JavaScript 语言里,而是在 c# 5.0 的语法中.C# ...

  6. Layer:如何调用layer.open打开的的iframe窗口中的JS?

    layer.open({type: 2,content: 'test/iframe.html',success: function(layero, index){ var body = layer.g ...

  7. COGS 2815. 天黑请闭眼

    ★   输入文件:jos.in   输出文件:jos.out   简单对比时间限制:1 s   内存限制:256 MB [题目描述] 天亮了,请大家睁眼 昨晚是,平安夜. 处于集会中心的村民们大多数都 ...

  8. 《学习CSS布局》学习笔记

    近几天做了一个小的企业展示网站.虽然页面是在模板的基础上改的,但改的多了不熟悉CSS也很麻烦.正好我看到了学习CSS布局这个网站,于是补习了一下CSS知识. CSS的显示 CSS的元素分为两类:块级元 ...

  9. UVA 1451 Average平均值 (数形结合,斜率优化)

    摘要:数形结合,斜率优化,单调队列. 题意:求一个长度为n的01串的子串,子串长度至少为L,平均值应该尽量大,多个满足条件取长度最短,还有多个的话,取起点最靠左. 求出前缀和S[i],令点Pi表示(i ...

  10. 使用FontDialog组件设置字体

    实现效果: 知识运用: FontDialog组件的Font属性 //获取或设置选定的字体 public Font Font  { get;set; } 实现代码: private void butto ...