流程控制
break和continue的区别
break:是用于终止本轮所有次循环,即不执行本次循环中break后面的语句,直接跳出循环
continue:是用于终止本轮本次循环,即本次循环中continue后面的代码都不执行,进行下一次循环的入口判断。
package day01;
public class Break_continue {
public static void main(String[] args) {
/**
* break是用于终止本轮所有次循环,即不执行本次循环中break后面的语句,直接跳出循环
* continue是用于终止本轮本次循环,即本次循环中continue后面的代码都不执行,进行下一次循环的入口判断
*/
for(int i=0;i<10;i++) {
if(i==5) {
break;
}
System.out.println(i);
}
System.out.println("------------");
for(int i=0;i<10;i++) {
if(i==5) {
continue;
}
System.out.println(i);
}
}
}
while和do-while的区别
while:先判断条件,再执行
do-while:先执行,再判断,符合条件再执行
两者的区别是第一次循环的操作的不同
input.next和input.netlnt的区别和坑
坑:next和netlnt不要同时用,会出错
区别:
- next:接收文字,会以空格或回车结束接收,必须读到有效的内容才能结束。
- nextLine:接收一行文字,只能以回车结束接收
switch的思想和用法
- switch相当于做选择题,只有s的内容符合case的值才会进入case所对应的程序块
- 遇到break才结束这个程序,不然会顺序往下执行
- default是可选的,如果有default的话,当所有case的值与s的内容都不符合时,则会执行default里面的程序
- 如果没有写default的话,当所有case的值与s的内容都不符合时,程序并没有执行相关的程序块。
float,long,char类型的坑
// 1.float类型变量在定义时需注意,我们直接写出的浮点数字,默认类型是double,会提示需要强转
//解决:我们可以在浮点数子的后面加入f,来表示写出的数字类型是float
float f1=10.1f;
//2.long类型变量定义需注意:我们直接写出的数字,默认类型是int,当值很大使会提示出错
//解决:我们可以在浮点数子的后面加入l,来表示写出的数字类型是l
long l1=2200000000l;
//3.char类型变量定义需注意,只能用单引号,里面只能输出一个字符,且char类型属于数字类型,因为其是以ascii码储存在计算机中
char c1='a';
for和while的死循环
// 死循环格式
while(true){
}
for(;;){
}
在接收输入之前判断输入的类型是否为int
if(input.hasNextInt()) {
int num =input.nextInt();
System.out.println(num);
}
else {
System.out.println("你输入是个锤子");
}
用最外层循环的别名来退出多重循环
类型转换
- 小转大的类型会自动转
- 大转小的需要强制转。例:b=(int) a; //强制将double类型的a转换为b
图形打印思路
- 外层循环控制的是行数
- 内层循环控制的是列数
运算符
自增运算符
System.out.println(++a);//先自增后打印
System.out.println(b++);//先打印后自增
三目运算符
boolean结果表达式?表达式1:表达式2
如果布尔表达式结果为true,则整个三目运算符的结果为表达式1
如果布尔表达式结果为false,则整个三目运算符的结果为表达式2
编程规范
其他
- print和println的区别:println每打印完一次就换行,print不会
- 开启输入必须关闭输入
- Scanner input=new Scanner(System.in); //System.in:扫描系统的输入
- input.colse();
作业
- 编程语言不能用a<b<c,只能用&连接。如a<b&b<c
出租车计价涉及到的知识
编程流程:
- 定义并初始化所有成员变量(命名规范:单驼峰风格(lowCameClass))
- 编写用户输入内容,并按每一部分的输入内容进行逻辑细化
- 根据计费标准和用户输入内容进行计价
- 输出总费用和各单项费用详细情况
定义常量
在正常定义前加final,并且变量名需要全大写。例:final double FUEL =1;
字符串转时间(整形),切片
beginHour = Integer.parseInt(beginTime.substring(0,2)); //先将字符串转换成整型,然后取小时(多少点)。
//Integer.parseInt:将字符串参数解析为带符号的十进制整数。
//string.substring(0,2):字符串切片
equalsh和==的区别
在Java中,判断值类型的变量是否相等,可以使用==
运算符。但是,判断引用类型的变量是否相等,==
表示“引用是否相等”,或者说,是否指向同一个对象。例如,下面的两个String类型,它们的内容是相同的,但是,分别指向不同的对象,用==
判断,结果为false
:
Math.round(A):将A四舍五入
&&和||短路的含义
- A||B:若运算符左边为true,则不再对运算符右侧进行运算
- A&&B:如果A为false时,B则不会进行计算