20200922_陈宇_
日志
学习总结:
int强转byte:
当int类型转换为byte类型时,如果没有超出byte的范围,那么byte值就等于int的值;如果超出了byte的范围,那么对256进行求余,若余数为0,byte值为0;若余数不为0,则用余数减去256,得到byte值
位运算符:
<<:左移,最低位空位补0;
note:左移操作,在不越界的情况下,x << n等同于x乘以2的n次幂;
>>:右移,最高位空位补符号位;
note:右移操作,在不越界的情况下,x >> n等同于x除以2的n次幂;
>>:无符号右移,最高位空位补0;
原码、反码、补码:
正数的原码、反码、补码都是一样的;
负数位运算先转换为反码(符号位不变,其余取反),再转换成补码(反码+1),再进行相应的位运算之后,然后得到新的补码,将其进行-1操作,得到新反码,再取反得到原码即可;
三目运算符(三元表达式):
语法格式:条件 ?表达式1 :表达式2
1.条件的结果是布尔类型(true or false);
2.如果为true,则返回表达式1的值;
3.如果为false,则返回表达式2的值
运算符优先级:
优先级最低的是赋值运算符; 可以通过()控制表达式的运算顺序,()的优先级最高
程序的基本结构:
顺序结构:是指程序从上到下依次执行每一条语句
选择结构:是指根据条件判断的结果来选择执行不同的代码;选择结构又可以分为单分支结构、双分支结构、多分支结构。
循环结构:是根据判断条件来重复性地执行某段代码;
三大循环结构:while、do-while、for JDK1.5新增了foreach循环;
Scanner:
package:声明本类所在的包;
import导入:正确执行此类需要用的其他包下的类,Java中除了Java.lang包下的类不需要import外,其他的都需要导入;
创建Scanner对象(固定写法): Scanner input = new Scanner(System.in);
hasNext():判断还有没有输入的值,如果有返回true;
next():获取输入到的信息,空格和回车会中断获取;
nextBoolean():将获取到的信息,转换成boolean类型
nextLine():获取当前行的输入;
close():关闭Scanner对象;
switch:
switch、case、break、default是关键字;
case是让程序从上到下依次与表达式进行匹配;
switch后面的表达式允许是int、byte、short、char、枚举类型,在JDK7.0版本之后,还支持String类型
循环结构:
一个循环是由四个部分构成的:
1.循环变量:用于控制循环次数;
2.循环条件:用于判断循环是否要继续;
3.循环体:当循环条件为true时,要执行的代码;
4.改变循环变量的值:不改变循环变量的值会进入死循环,不会结束
三个循环:
while:是先判断条件是否成立,再决定是否执行循环体;如果第一次循环循环条件为false,那么循环一次也不会执行;
do-while:先执行一遍循环体,然后再判断循环条件是否成立,即使循环条件不成立,那么循环至少也会执行一次;
for循环:无论循环执行多少次,第一个表达式只会执行一次
跳出循环:
break:在循环中,当执行到break时,整个循环都会被结束;
continue:结束本次循环,进行下次循环;
return:表示返回,return后边什么都没有表示结束当前方法,返回到方法的调用处,如果是main方法,表示整个程序结束运行
String类型的变量判断是否相等是调用equals()方法,不是"";""是判断内存地址是否相等
调试程序:
deBug试图:可以看到程序的运行过程,具体运行到哪一条程序了
在想暂停的代码行左侧的侧边栏处双击,会出现一个圆点标记,就可以在deBug视图中看到程序在圆点标记处暂停运行了
学习心得:
今天打瞌睡有点恼火,在明天一定会控制住自己,思维导图今天没有画,后面找个时间补上,感觉一天下来挺充实的吧,就是学校的事情有点烦人。
评论留言