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视图中看到程序在圆点标记处暂停运行了

学习心得:

​ 今天打瞌睡有点恼火,在明天一定会控制住自己,思维导图今天没有画,后面找个时间补上,感觉一天下来挺充实的吧,就是学校的事情有点烦人。

标签

评论

this is is footer