ctrl+F11快捷运行程序
整型与浮点型底层存储的结构不一样,浮点型底层是采用科学计数法来存储数据的,取值范围非常大,所以类型能否转换,看的是存储方式.
浮变整 小数没–>舍去小数部分得到的.
byte,short,char三种比int小的类型可以用范围内数 直接赋值
后缀 L F D
前缀 二进制–0b 八进制–0 十六进制–0x
5条运算规则:
1)运算结果与最大类型一致
2)三小运算时会自动提升成int再参与运算
3)整数运算溢出现象
4)浮点运算不精确现象
5)浮点数的特殊值inifinity NaN
运算符+操作数=表达式
##################################################
<<等腰三角形>>:
每打印一行都是一次循环,当i=LN时意味已经位于最后一行,
[当前行]距离[最大行]越远,空格越多,第一行空格总长最多(仅比最大行数少1)
第二行空格总长会-1,因为让了一个位置给*,接下来以此类推
空格循环体中,每打印一个空格,消耗一个本行空格总长,为0时打印最后一个空格
[当前行]距离[最大行]越远,越少,每行数皆为[当前行数]X2-1,做出1-3-5的效果
最后一行数量正好是最大行数X2-1
本行的空格和都打印完毕后,换行
##################################################
比较运算符结果是布尔型
&单与 |单或
&&双与(逻辑与单与一致,只是增加了短路功能)
||单或(逻辑与单或一致,只是增加了短路的功能)
1?2:3;
1真取2,1假取3。
##################################################
写代码技巧:先写结构:/* 再写细节,否则难以形成编程思维.
*/
##################################################
[&&]普通闰年:能被4整除,但不能被100整除—>1900是平年
[ || ]世纪闰年:能被400整除—>2000是闰年
±-------------------------+
┆[&]:if(条件1){ ┆
┆ if(条件2){ ┆
┆ 执行语句; ┆
┆ } ┆
┆ } ┆
±-------------------------+
┆ [ | ]:if(条件1){执行语句1}┆
┆ if(条件2){执行语句1}┆
±-------------------------+
##################################################
if(条件1){
}else if(条件2){
}//这里条件1范围应当小于条件2,否则条件1处需要增加短路与写满判断条件(低效).
程序的’健壮性’:不容易出bug,对用户的错误操作应对机制完善.
如对非法输入的报错.
±----------------------------------------------------+
┆一种代码结构:(在正常运行功能之前先执行健壮性判断) ┆
┆if(非法/合法操作判断){ ┆
┆ 报错; ┆
┆}else{ ┆
┆ 正常功能; ┆
┆} ┆
±-----------------------------------------------------+
单分支–>if(1){A}
多分支–>if(1){A}else{B}
嵌套分支–>if(1){A}else if(2){B}else if(3){C}else{D}
##################################################
main方法可以先只写main,再按ctrl+/,快速补齐语句,同syso
switch(A){case:break;case:break;}
1)这里参数A的值只支持:byte,short,char,int,String这几张类型.
2)执行顺序:会拿着变量a的值依次与每个case后的值做比较,如果不加break会向后穿透所有case,包括default.
3)如果设置了"保底选项default",并且没有任何case被匹配到的话会执行保底选项的内容.
4)break与default是可选的,根据自己的业务来决定加不加.
选择结构:(注意)
1)case后面value的类型必须与变量的类型一致
2)如果case后没有break,可能发生穿透现象
3)如果添加了保底选项,并且在这之前没有遇到break
或者没有任何选项被匹配到,则执行default内容.
##################################################
形参–>临时变量
##################################################
…
if(m<n) {
int temp = m;
m = n;
n = temp;
}
int t = gy(m,n);
System.out.println("它们最大公约数为:" + t);
System.out.println("它们最小公倍数为:" + m * n / t);
sc.close();
}
// 求最大公约数
private static int gy(int m,int n) {
if(m%n ==0)return n;
return gy(n,m%n);
}
}//辗转相除法处理[最小公倍数/最大公约数]问题
##################################################
for(int i=8;i<=8888;i=i*10+8) {
if(i<8880) {
System.out.print(i+",");
}else {
System.out.print(i);
}
}
//8,88,888,8888
##################################################
//1~100数和
int sum=0;
for(int i=0;i<=100;i++) {
sum=sum+i;
System.out.println(i+","+sum);
}
##################################################
//1~100偶数和
for(int i=0;i<=100;i++) {
if(i%2==0) {
sum=sum+i;
System.out.println(i+","+sum);
}
}
##################################################
//1~100内奇数的个数
int count=0;
for(int i=0;i<=100;i++) {
if(i%2!=0) {
count=count+1;
System.out.println(i+","+count);
}
}
/* count++; */
##################################################
【DEBUG顺序】
先打断点—>点小飞虫—>F6逐步走—>关闭—>双击取消断点—>切换回去
debug(非常好用的工具,可以帮助我们查看代码的执行顺序)
bug(小飞虫)
1.什么是【断点】:断点是我们人为指定的需要程序执行时停止的地方
2.怎么添加断点:在目标代码行号前双击
3.怎么取消:再次双击
可以选择导航栏的‘小飞虫’以debug的方式启动
confirm perspective switch—>确定视图切换(运行程序<->调试程序)
左页面:当前位置(行)
下页面:程序状态(等待)F6继续执行程序下一步
右页面:变量实时状态
左页面右键Terminate and remove 关闭debug窗口
有页面上方‘小飞虫’左边的JAVA按钮–>回到普通的编程模式(Debug状态下不能修改程序)
##################################################
(源文件对外公开的PUBLIC类,只有这一个类的类名与文件名必须相同)
生成的随机整数的范围是[0,100)–>new Random().nextInt(100)