学习记录🤔
- 变量(小数计算为近似值)
- 运算符
- Scanner类接收输入
- 进制
- 位运算(对补码进行操作再输出原码)
- JavaAPI
- 异常类型
- 命名规范
- 讨论总结
- 谢谢点赞交流!(❁´◡`❁)
更多代码: Gitee主页:https://gitee.com/GZHzzz
博客主页: CSDN:https://blog.csdn.net/gzhzzaa
变量(小数计算为近似值)
基本元素:类型+名称+值
同一作用域变量不能重名
- 整数(1、2、int4、long8):默认int,long类型值后面加L,byte(128)
- 浮点(float4、double8):默认double精度更高,float后面加F;科学计数法5.12e2
- 不要对运算后的小数进行比较,小数会近似;最好以一定精度范围进行对比
- 字符char(2):存放单个字符;只能用单引号‘’;双引号代表字符串“”;char转换为int表明输出编码的数字
- 字符与数字相加表示int相加,而不是拼接
- 布尔(1):boolean,
不能用0/1表示true/false
,需要进行类型转换?
自动类型转换:容量1-2-4-8-4-8,混合类型计算直接转换为类型最大
- 1.1默认是double,1.1F是float,1L是long,1默认是int
- 最好都用double,容量小的类型会自动转换
- char与byte、short不能转换,char只能自动转换为int
- char与byte、short相互计算类型直接
变为int
,需要int类型接受
- 布尔类型不参与自动转换
强制类型转换:数据从大到小转换,int n1 = (int)1.9
- 数据溢出或精度损失
- 小数默认是double,整数默认int
基本数据类型转换String:(基本类型+“”)双引号进行拼接
String转换basic:Integer.parseInt(),方法名用小驼峰
String转换char
运算符
运算时着重考虑数据类型:小数或者整数
- 第一个数的符号决定求模后的符号
- ++i表示先加再赋值,
赋值时用tmp临时变量当中间值
- 短路与的效率高,一旦发现左边为false直接返回
复合运算符自动进行类型转换
- 三元运算需要考虑类型转换
Scanner类接收输入
- 导入包
- 实例化Scanner(System.in)
- 接受用户输入myScanner.next()
import java.util.Scanner//导入类
//Scanner类是大驼峰
public class Input{
public static void main(String []args) {
//创建一个对象实例-小驼峰,new关键字
Scanner myScanner = new Scanner(System.in);
//接受用户输入,需要考虑数据类型
String name = myScanner.next();//接受字符串nextInt,nextDouble
}
}
进制
- 0开头代表八进制,0x16进制
位运算(对补码进行操作再输出原码)
- ~为
所有位取反
,1->0,反码为去除符号位第一位取反
- 正数
三码合一
,负数取反、加一 - 二进制第一位为符号位
- 补码可以统一二进制的正数与负数
- 正数算数右移等于地板除以2
- 负数需要转换补码,一般不常用
JavaAPI
- 包-类-方法
异常类型
在实际开发中,经常会在程序编译时产生一些异常,而这些异常必须要进行处理,这种异常被称为编译时异常,也称为checked异常。另外还有一种异常是在程序运行时产生的,这种异常即使不编写异常处理代码,依然可以通过编译,因此称为运行时异常,也称为unchecked异常。
- 编译时异常
在Java中, Exception类中除了 RuntimeException类及其子类都是编译时异常。编译时异常的特点是Java编译器会对其进行检查,如果出现异常就必须对异常进行处理,否则程序无法通过编译。处理编译时期的异常有两种方式,具体如下:
- 使用try…catch语句对异常进行捕获。
- 使用throws关键字声明抛出异常,调用者对其处理。
- 运行时异常
RuntimeException类及其子类都是运行时异常。运行时异常的特点是Java编译器不会对其进行检查,也就是说,当程序中出现这类异常时,即使没有使用try…catch语句捕获或使用throws关键字声明抛出,程序也能编译通过。运行时异常一般是由程序中的逻辑错误引起的,在程序运行时无法恢复。比如通过数组的角标访问数组的元素时,如果超过了数组的最大角标,就会发生运行时异常。
- 一般是变量处理出错,比如数组越界、类型转换
命名规范
讨论总结
java需要严格考虑变量类型,包括类型的自动转换与强制转换(int)。。
需要区分char与String,单引号与双引号
++i,i++,区别为tmp = i与i = i + 1的顺序,后续对tmp进行操作
实际开发中用短路运算效率高
时间还很多,每天保持思考、保持进步,跬步至千里!
- Fighting!😎
while True:
Go life