2-20学习总结

2-20

常量的定义 final

  1. 常量一旦被初始化后,便不可被更改s
  2. 常量的命名全部大写,每个单词用下划线隔开
  3. 字符常量赋值给符号常量

Java命名规范总结

  • 所有变量、方法、类名做到见名知义
  • 类成员变量&局部变量:首字母小写和驼峰原则:monthSalary
  • 常量:大写字母和下划线:MAX_VALUE
  • 类名:首字母大写和驼峰原则:GoodMan
  • 方法名:首字母小写和驼峰原则:runRun()

基本数据类型

  • 引用数据类型包含类、接口、数组,都是四个字节,记录被引用数据类型的地址

Java整型常量的四种表示方式

  • 八进制:以0开头 015
  • 十六进制:0x开头
  • 二进制:0b开头
  • 十进制

Long类型数字后需要添加L long t = 30000000000L;


Java常见数据类型表示范围

byte 一字节 -27~27-1 (-128~127)
short 二字节 -215~215-1 (-32768~32767)
int 四字节 -231~231-1 (±21亿)
long 八字节 -263~263-1

float 和 double

1、因为存储的原理不同,表达不精确, 但是表达范围更大

2、float 四字节(并不是2的31次方),double 八字节

3、浮点型不精确,不能用于比较,普通用足够,商业用 BigDecimal

4、浮点常量默认为 double ,需要用 float 则最后需要加 F

5、科学计数法:5E-1 表示5乘10的-1次方

char 和字符类型

  • '\u0012' 表示 unicode码 为12的字符
  • 转义字符
    • \n 换行
    • \t 制表符
    • \r 回车
    • \' 单引号
    • \" 双引号
    • \\反斜杠

字符集

  • Java采用了 Unicode字符集
  • Unicode 字符集没有兼容GBK(否则就不会乱码)
  • Unicode字符集兼容了ASCII字符集
  • Unicode采用了字符集和编码分开的策略,平时编码一般使用UTF-8

boolean 布尔型

  • 只有两个常量值
  • 在内存中占 1 字节 或 4字节 不可以用0 或正整数代替 false 和 true 与C不同

二元运算符的远算规则

整数远算

  • 如果两个操作数中有一个是long类型,则结果必为long
  • 若没有long类型,则无论是什么类型整数结果必为Int

浮点运算

  • 操作数中有一个double,则结果为double
  • 否则为float

取模运算

  • 操作数可为浮点数
  • 余数符号和左边操作数相同 7%3 =1 7%-3 =1 -7%3 =-1

赋值拓展运算符

3_=2+3 => 3 _ (2+3) =15

整个等号右边为一个整体,且不可以直接在输出框中输出全是数字的赋值拓展运算符

关系运算符

== != 基本和引用数据类型都可以用

<= 等只能基本类型使用

逻辑运算符

& 、或 | 、非 !

短路与、短路或、短路非

异或 ^ ------相同为false ,不同为 true

移位运算符

<< 1 左移一位,相当于乘2

0111 -》 1110

十进制结果:7 -》14

字符串连接符

+ 连接的出现一个字符串(不是字符)时,就会让整体变成字符的拼接,而不是加法

直接输出字符变量,会输出该字符的ASCII码而不是字符本身

需要输出字符可以前面操作 ""+ 相当于加了个空字符串

运算符的优先级

  1. 一元运算符 ! + - 的优先级仅次于括号
  2. 算术运算符 优先 关系运算符 优先 逻辑运算符
  3. 逻辑运算符中 ! 优先级高于 && 优先级高于 ||

自动类型转换

  1. 容量小的可以自动转换为容量大的类型

特例:int 可以转为 byte 、short 、char 要求其范围不超过要转换的类型

java 复制代码
int a = 100;
byte b = 100;
//b = a; 会报错,只有赋值的时候可以直接给一个整数而不是给一个变量
  1. char也可以参加转换,boolean不行

强制类型转换

当超过了表述的范围时,则会产生一个完全不同的值

巧妙地溢出

相关推荐
ImomoTo40 分钟前
HarmonyOS学习(十三)——数据管理(二) 关系型数据库
数据库·学习·harmonyos·arkts·鸿蒙
Dola_Pan3 小时前
Linux文件IO(二)-文件操作使用详解
java·linux·服务器
wang_book3 小时前
Gitlab学习(007 gitlab项目操作)
java·运维·git·学习·spring·gitlab
weixin_455446173 小时前
Python学习的主要知识框架
开发语言·python·学习
蜗牛^^O^4 小时前
Docker和K8S
java·docker·kubernetes
从心归零4 小时前
sshj使用代理连接服务器
java·服务器·sshj
IT毕设梦工厂5 小时前
计算机毕业设计选题推荐-在线拍卖系统-Java/Python项目实战
java·spring boot·python·django·毕业设计·源码·课程设计
Ylucius6 小时前
动态语言? 静态语言? ------区别何在?java,js,c,c++,python分给是静态or动态语言?
java·c语言·javascript·c++·python·学习
LvManBa6 小时前
Vue学习记录之六(组件实战及BEM框架了解)
vue.js·学习·rust