2020.3.13
自动转化类型:
long可以转化为float
原则:数据范围从小到大(和所占字节不同,而是能表示数的范围)
强制类型转化:
范围大的可以强制转化成范围小的,但是可能有数据溢出 ,精度损失
byte、short,char都可以进行数学运算,例如加法+,都是先提升成int类型,然后计算
byte+byte--》int+int得到的是int,不是byte。但是可以强制转换。但是不能
bool类型不能进行数据类型转化
ascii码:
记住的48是0,65是A,97是a。
2.1
运算符:算术运算符
3.2加法的用法
1,数值来说就是加法,
2,对于字符char类型就是先变成int然后加Unicode表国际通用的,
3,对于字符串String,加法代表字符串连接操作。任何数据类型和字符串类型相加都是字符串String+int还是连接操作。
3.3自增自减运算
1单独使用:num++;和++num是完全一样的
2混合使用:和自己理解的之前一样。前++立马加,后++,先用后加。和打印语句和赋值混合都是会变化的
3.4赋值运算符
基本赋值运算
符合赋值运算:x%=3和x=x%3'只有变量才能用赋值运算。赋值运算符可以自动强制转换
3.5逻辑运算符
与&&,或||,非!,短路效果就是前面的已经判断好了,后边不影响结果了,就不用算了后边的
3.6编译器优化
1如果没有超出左侧范围,编译器补上强制转换。就针对byte。short和char类型
2如果右侧超过了就直接报错
编译器的常量优化 ,一旦表达式里面有变量参与就不能进行这种优化了
第一章流程控制
1.顺序结构
2判断语句
单if语句,符合就执行,不符合就跳过,
if -else,就是俩个选择,选其一
if-else if-else,看条件一满足不?如果满足就执行,不满足就看条件二,就是看各个条件的不同。
switch,break,default这个是从一开始就开始选择。而上一个是不满足第一个才走第二个。switch是后面小括号是必须要基本数据类型:byte,short,char,int。还有引用类型:String字符串,enum枚举类型。剩下的都不行
switch可以相互颠倒。
3循环结构
while(){
}
do{
}while();记住一定有这个;号
break的用法:
可以用在switch和循环语句中,一旦执行,整个语句swicth或者整个for循环立刻结束。
continue的用法:
一旦执行,立刻跳过当前次的剩余内容,马上开始下一次循环。
idea开发环境
项目结构:新建项目project----》模块module-----》包package-------》多个文件
写代码要全部写到src文件夹下,还有external
包的名字有要求:一般用域名或者所造公司的颠倒过来只能用小写英文数字和.点这个符号。包名好几个句点是包含关系
在包下新建java程序,输入psvm可以直接出来主函数,sout直接出来输出语句
alt+4重新出来
idea里生成的.class文件是放在out里的自己自动生成的
调字体就是settings找editer里面有调字体
自动补全是settings找keymap--》到小齿轮,选一下然后enter,再来找到main menu---》code---》complete把basic改成别的快捷键alt+正斜杠比较好
alt+enter是导入包ctrl+y删除光标所在行ctrl+d是复制当前光标所在行。ctrl+alt+L是把代码格式化,就是变整齐。ctrl+/单行注释 ctrl+shift+/多行注释
alt+ins自动生成代码get,set,toString 。alt+shift+上下箭头,移动代码
导入module可以在project structure里面导入4