流程控制

break和continue的区别

break:是用于终止本轮所有次循环,即不执行本次循环中break后面的语句,直接跳出循环
continue:是用于终止本轮本次循环,即本次循环中continue后面的代码都不执行,进行下一次循环的入口判断。

  1. package day01;
  2. public class Break_continue {
  3. public static void main(String[] args) {
  4. /**
  5. * break是用于终止本轮所有次循环,即不执行本次循环中break后面的语句,直接跳出循环
  6. * continue是用于终止本轮本次循环,即本次循环中continue后面的代码都不执行,进行下一次循环的入口判断
  7. */
  8. for(int i=0;i<10;i++) {
  9. if(i==5) {
  10. break;
  11. }
  12. System.out.println(i);
  13. }
  14. System.out.println("------------");
  15. for(int i=0;i<10;i++) {
  16. if(i==5) {
  17. continue;
  18. }
  19. System.out.println(i);
  20. }
  21. }
  22. }

流程控制笔记 - 图1

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. // 1.float类型变量在定义时需注意,我们直接写出的浮点数字,默认类型是double,会提示需要强转
  2. //解决:我们可以在浮点数子的后面加入f,来表示写出的数字类型是float
  3. float f1=10.1f;
  4. //2.long类型变量定义需注意:我们直接写出的数字,默认类型是int,当值很大使会提示出错
  5. //解决:我们可以在浮点数子的后面加入l,来表示写出的数字类型是l
  6. long l1=2200000000l;
  7. //3.char类型变量定义需注意,只能用单引号,里面只能输出一个字符,且char类型属于数字类型,因为其是以ascii码储存在计算机中
  8. char c1='a';

for和while的死循环

  1. // 死循环格式
  2. while(true){
  3. }
  4. for(;;){
  5. }

在接收输入之前判断输入的类型是否为int

  1. if(input.hasNextInt()) {
  2. int num =input.nextInt();
  3. System.out.println(num);
  4. }
  5. else {
  6. System.out.println("你输入是个锤子");
  7. }

用最外层循环的别名来退出多重循环

流程控制笔记 - 图2

类型转换

  • 小转大的类型会自动转
  • 大转小的需要强制转。例:b=(int) a; //强制将double类型的a转换为b

图形打印思路

  • 外层循环控制的是行数
  • 内层循环控制的是列数

流程控制笔记 - 图3

运算符

  • 自增运算符

    1. System.out.println(++a);//先自增后打印
    2. System.out.println(b++);//先打印后自增
  • 三目运算符
    boolean结果表达式?表达式1:表达式2
    如果布尔表达式结果为true,则整个三目运算符的结果为表达式1
    如果布尔表达式结果为false,则整个三目运算符的结果为表达式2

编程规范

流程控制笔记 - 图4

流程控制笔记 - 图5

其他
  • 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;

字符串转时间(整形),切片
  1. beginHour = Integer.parseInt(beginTime.substring(0,2)); //先将字符串转换成整型,然后取小时(多少点)。
  2. //Integer.parseInt:将字符串参数解析为带符号的十进制整数。
  3. //string.substring(0,2):字符串切片

equalsh和==的区别

在Java中,判断值类型的变量是否相等,可以使用==运算符。但是,判断引用类型的变量是否相等,==表示“引用是否相等”,或者说,是否指向同一个对象。例如,下面的两个String类型,它们的内容是相同的,但是,分别指向不同的对象,用==判断,结果为false

流程控制笔记 - 图6

Math.round(A):将A四舍五入

&&和||短路的含义
  • A||B:若运算符左边为true,则不再对运算符右侧进行运算
  • A&&B:如果A为false时,B则不会进行计算