day003

本文介绍了Java编程中的数据类型转换、运算规则、流程控制以及调试方法。讲解了整型与浮点型的存储差异,如何进行类型转换,以及运算符的使用。此外,还涉及到了循环结构实现等腰三角形的打印,以及if-else条件判断在闰年判断中的应用。文章强调了代码结构的重要性,并提供了debug技巧和案例。最后,通过实例展示了求最大公约数、求和、计数等算法的应用。
摘要由CSDN通过智能技术生成

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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值