1、数据类型:

数据类型范围:

byte:-2^7 ~ 2^7-1,即-128 ~ 127。1字节。Byte。末尾加B

short:-2^15 ~ 2^15-1,即-32768 ~ 32767。2字节。Short。末尾加S

有符号int:-2^31 ~ 2^31-1,即-2147483648 ~ 2147483647。4字节。Integer。

无符号int:0~2^32-1。

long:-2^63 ~ 2^63-1,即-9223372036854774808 ~ 9223372036854774807。8字节。Long。末尾加L。(也可以不加L)

Java整型常量默认为int类型,如果要声明long类型,后面加“L”:

long num = 1L;

  

java浮点型常量默认为double类型,如果要声明float类型常量,后面加“F”:

float num1 = 1.1;  // 编译错误,因为1.1默认为double类型,8字节,float4字节。
float num = 0.1F;

  

2、char数据类型:在Java中,char本质是一个整数,默认输出数字时,是Unicode对应的字符。

  如果是汉子以及英文字母是直接输出原值,如果是数字直接输出的话是Unicode对应字符。

  public static void main(String[] args) {
char c1 = '黄';
char c2 = 97;
// 在Java中,char本质是一个整数,默认输出时,是Unicode对应的字符
// 如果要输出对应的数字,使用(int)
System.out.println(c1); // 黄
System.out.println(c2); // a
System.out.println((int)c1); // 40644
System.out.println((int)c2); // 97
}

  

    // char类型是可以运算的,相当于一个整数,因为它有对应的Unicode码
System.out.println('a' + 10); // 97 + 10 = 107
char c3 = 'b' + 1; // 98 + 1 = 99
System.out.println((int)c3); // 99
System.out.println(c3); // 99对应的ASCII表=> c

  

3、数据类型转换:

  自动转换规则:低精度向高精度可以自动转换。

  

  public static void main(String[] args) {
int num = 'a'; // char -> int
double d = 80; // int -> double
System.out.println(num); // 97
System.out.println(d); // 80.0
}

  

4、强制类型转换:低精度转高精度。

  易造成精度损失。

  int m = 10;
short c = (short)m;

  

5、基本数据类型和String类型的互相转换:

  public static void main(String[] args) {
// 字符串转基本数据类型,使用基本数据类型对应的包装类。
String num = "10";
int num1 = Integer.parseInt(num);
float num2 = Float.parseFloat(num);
double num3 = Double.parseDouble(num);
System.out.println(num1 + " " + num2 + " " + num3); // 基本数据类型转string,后面加 ""即可
int nums = 10;
String str = nums + "";
System.out.println(str);
}

  

6、逻辑运算符:

  短路与:&&、短路或 ||、取反:!

  逻辑与:&、逻辑或 |、逻辑异或: ^

  逻辑异或:a^b,当a和b不同时,结果为true,否则为false。

  对于&&短路与而言,如果第一个条件为false,后面条件不在继续判断。

  对于&逻辑与而言,如果第一个条件为false,后面条件仍然会判断。

  短路或||:如果第一个为true,则第二个不会判断,最终结果为true,效率高。

  逻辑或|:不管第一个是否为true,都会判断第二个条件,效率低。

  开发中,基本用短路或 ||。

最新文章

  1. [NOIP2014]寻找道路 题解
  2. (翻译)Emacs Hooks
  3. C++11 auto_ptr 的问题
  4. QQ微信的备份
  5. DDD:订单管理 之 如何组织代码
  6. iOS中plist的创建,数据写入与读取
  7. Mysql存储日期类型用int、timestamp还是datetime?
  8. git fetch和git pull之间的区别--转载
  9. text-align:justify实现文本两端对齐布局,兼容IE
  10. NGUI panel使用soft clip时,屏幕缩放后无法正常工作的问题解决
  11. c 判断水仙花数,质数(素数)
  12. vc release模式设置断点调试
  13. 数轴line
  14. HeadFirst设计模式读书笔记之策略模式
  15. 007_Mac上安装Node和NPM
  16. java学习之—栈
  17. 用JS来实现的第一个简单游戏 :贪吃蛇
  18. 自学Python3.5-字符串格式化 作用域 递归
  19. linux笔记_day06
  20. python中简单文件的输入三种方式

热门文章

  1. C#校验GPS数据
  2. Win10官方1909版本无法打开windows安全中心中病毒和威胁防护的实时保护解决方案。
  3. windows server 2012以上版本离线安装 net framework3.5 方法
  4. Spark 中三种数据处理对象的区别: RDD-Dataset-Dataframe
  5. 注释:MARK与TODO、FIXME
  6. MyBatis_10(分页插件)
  7. winform高dpi问题探索
  8. 【笔记】小米路由器AX1800开启ipv6外部访问
  9. 力扣53. 最大子数组和(dp)
  10. mybatis-关联查询2-多对一关联查询